Hi Claes,
In general, symbols lookup without a channel is not supported.
The channel represents a client, it is used to control life cycle of transient data: channel closed – cleanup time.
I guess, you have some kind of in-process client, which uses symbols API directly, without a channel.
This was not meant to work, even without proxies. Such clients are supposed to create and register a dummy channel object.
Actually, there is ClientConnection, a better, more abstract representation of a client, but it is still incomplete – hard to do without breaking backward compatibility.
Regards,
Eugene
From: tcf-dev-bounces@xxxxxxxxxxx <tcf-dev-bounces@xxxxxxxxxxx>
On Behalf Of Lillieskold, Claes
Sent: Thursday, February 20, 2020 10:41 PM
To: TCF Development <tcf-dev@xxxxxxxxxxx>
Subject: [tcf-dev] Using symbols and line numbers proxy with and without a cache channel
EXTERNAL EMAIL
Hi,
We are experimenting with enabling the symbols and line numbers proxy implementations
(ENABLE_SymbolsProxy and ENABLE_LineNumbersProxy), but since Mux is enabled,
the proxy functions should fail in a nice way when called without a cache channel.
I have made modifications for this to work in symbols_proxy.c and linenumbers_proxy.c,
Basically failing the public functions by returning -1 and setting errno to ERR_SYM_NOT_FOUND
if cache_channel() returned zero.
- Does this sound like a workable setup, to adapt proxy implementations to
gracefully fail if there is no cache channel. - Can this change (which I will provide) be added permanently.
I have a pretty clean patch that I can provide.
Best regards,
Claes Lilliesköld
----------------------------------------------------------------------
Intel Sweden AB
Registered Office: Isafjordsgatan 30B, 164 40 Kista, Stockholm, Sweden
Registration Number: 556189-6027
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.