diff options
author | Eugene Tarassov | 2014-05-06 18:13:52 +0000 |
---|---|---|
committer | Eugene Tarassov | 2014-05-06 18:13:52 +0000 |
commit | d137365b136b6cc7057ce683b0bc4bec63bccc69 (patch) | |
tree | ae879dd4984fb17e0ec41a72299f13384c330b23 | |
parent | 71fa7b2a2c7a0723d1ea1ca85aafc14a88b6f962 (diff) | |
download | org.eclipse.tcf.agent-d137365b136b6cc7057ce683b0bc4bec63bccc69.tar.gz org.eclipse.tcf.agent-d137365b136b6cc7057ce683b0bc4bec63bccc69.tar.xz org.eclipse.tcf.agent-d137365b136b6cc7057ce683b0bc4bec63bccc69.zip |
TCF Agent: fixed: eventpoints (breakpoints that are set by agent itself) don't work when ENABLE_SymbolsMux=1 and ENABLE_SymbolsProxy=1
-rw-r--r-- | agent/tcf/services/breakpoints.c | 31 | ||||
-rw-r--r-- | agent/tcf/services/symbols_proxy.c | 2 |
2 files changed, 6 insertions, 27 deletions
diff --git a/agent/tcf/services/breakpoints.c b/agent/tcf/services/breakpoints.c index 108adcd9..2170c0ef 100644 --- a/agent/tcf/services/breakpoints.c +++ b/agent/tcf/services/breakpoints.c @@ -140,7 +140,6 @@ struct BreakInstruction { }; struct EvaluationArgs { - int in_cache; BreakpointInfo * bp; Context * ctx; unsigned index; @@ -1154,45 +1153,25 @@ static void expr_cache_enter(CacheClient * client, BreakpointInfo * bp, Context assert(!is_channel_closed(c)); run_ctrl_lock(); cache_enter_cnt++; - args.in_cache = 1; cache_enter(client, c, &args, sizeof(args)); cnt++; } l = l->next; } } -#if ENABLE_LineNumbersProxy && ENABLE_SymbolsProxy if (cnt == 0) { LINK * l = channel_root.next; while (l != &channel_root) { Channel * c = chanlink2channelp(l); if (!is_channel_closed(c)) { - int i; - int has_symbols = 0; - int has_line_numbers = 0; - for (i = 0; i < c->peer_service_cnt; i++) { - char * nm = c->peer_service_list[i]; - if (strcmp(nm, "Symbols") == 0) has_symbols = 1; - if (strcmp(nm, "LineNumbers") == 0) has_line_numbers = 1; - } - if (has_symbols && has_line_numbers) { - run_ctrl_lock(); - cache_enter_cnt++; - args.in_cache = 1; - cache_enter(client, c, &args, sizeof(args)); - cnt++; - } + run_ctrl_lock(); + cache_enter_cnt++; + cache_enter(client, c, &args, sizeof(args)); + cnt++; } l = l->next; } } -#endif - if (cnt == 0) { - cache_enter_cnt++; - run_ctrl_lock(); - args.in_cache = 0; - client(&args); - } } static void free_bp(BreakpointInfo * bp) { @@ -1431,7 +1410,7 @@ static void done_evaluation(void) { } static void expr_cache_exit(EvaluationArgs * args) { - if (args->in_cache) cache_exit(); + cache_exit(); done_evaluation(); run_ctrl_unlock(); } diff --git a/agent/tcf/services/symbols_proxy.c b/agent/tcf/services/symbols_proxy.c index 0cb65de1..a15a7ae3 100644 --- a/agent/tcf/services/symbols_proxy.c +++ b/agent/tcf/services/symbols_proxy.c @@ -586,7 +586,7 @@ static void flush_symbol(LINK * l) { } static Channel * get_channel(SymbolsCache * syms) { - if (is_channel_closed(syms->channel)) exception(ERR_CHANNEL_CLOSED); + if (is_channel_closed(syms->channel)) str_exception(ERR_SYM_NOT_FOUND, "Channel is closed"); if (!syms->service_available) str_exception(ERR_SYM_NOT_FOUND, "Symbols service not available"); return syms->channel; } |