diff options
author | eutarass | 2010-12-15 15:48:26 +0000 |
---|---|---|
committer | eutarass | 2010-12-15 15:48:26 +0000 |
commit | c66af72a286cb4d793a395f9e9ffae31f056f81d (patch) | |
tree | 2c1d644ac46583200dbc133fbcb7bfc872534d83 | |
parent | 73398cccfdf1a1b4156dc8b730e9c40cd26b8329 (diff) | |
download | org.eclipse.tcf.agent-c66af72a286cb4d793a395f9e9ffae31f056f81d.tar.gz org.eclipse.tcf.agent-c66af72a286cb4d793a395f9e9ffae31f056f81d.tar.xz org.eclipse.tcf.agent-c66af72a286cb4d793a395f9e9ffae31f056f81d.zip |
TCF Agent: changed Run Control service code to allow a debug context to exit while it is suspended
-rw-r--r-- | services/runctrl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/runctrl.c b/services/runctrl.c index ed537c21..81d00f9b 100644 --- a/services/runctrl.c +++ b/services/runctrl.c @@ -673,6 +673,9 @@ static void send_event_context_changed(Context * ctx) { static void send_event_context_removed(Context * ctx) { OutputStream * out = &broadcast_group->out; + ContextExtensionRC * ext = EXT(ctx); + + ext->intercepted = 0; write_stringz(out, "E"); write_stringz(out, RUN_CONTROL); @@ -1137,11 +1140,9 @@ static void event_context_started(Context * ctx, void * client_data) { static void event_context_exited(Context * ctx, void * client_data) { ContextExtensionRC * ext = EXT(ctx); - assert(!ctx->stopped); - assert(!ext->intercepted); ext->safe_single_step = 0; - if (ext->pending_safe_event) check_safe_events(ctx); send_event_context_removed(ctx); + if (ext->pending_safe_event) check_safe_events(ctx); } void ini_run_ctrl_service(Protocol * proto, TCFBroadcastGroup * bcg) { |