Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2010-12-15 15:48:26 +0000
committereutarass2010-12-15 15:48:26 +0000
commitc66af72a286cb4d793a395f9e9ffae31f056f81d (patch)
tree2c1d644ac46583200dbc133fbcb7bfc872534d83
parent73398cccfdf1a1b4156dc8b730e9c40cd26b8329 (diff)
downloadorg.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.c7
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) {

Back to the top