diff options
author | eutarass | 2011-03-04 17:15:05 +0000 |
---|---|---|
committer | eutarass | 2011-03-04 17:15:05 +0000 |
commit | 76423a33943d7691bf4489dcf2da1336206782df (patch) | |
tree | 884a9d46286eefc7487f22ce4490423b73113b14 /services/runctrl.c | |
parent | 394b60f982750bd973ad4202fc5c5bd6535a5aff (diff) | |
download | org.eclipse.tcf.agent-76423a33943d7691bf4489dcf2da1336206782df.tar.gz org.eclipse.tcf.agent-76423a33943d7691bf4489dcf2da1336206782df.tar.xz org.eclipse.tcf.agent-76423a33943d7691bf4489dcf2da1336206782df.zip |
TCF Agent: fixed memory leak: missing call of channel_unlock() when a context exits during stepping
Diffstat (limited to 'services/runctrl.c')
-rw-r--r-- | services/runctrl.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/services/runctrl.c b/services/runctrl.c index 3c9012cd..eb939f44 100644 --- a/services/runctrl.c +++ b/services/runctrl.c @@ -1604,20 +1604,13 @@ static void event_context_started(Context * ctx, void * client_data) { static void event_context_exited(Context * ctx, void * client_data) { ContextExtensionRC * ext = EXT(ctx); ext->safe_single_step = 0; + cancel_step_mode(ctx); send_event_context_removed(ctx); if (ext->pending_safe_event) check_safe_events(ctx); } static void event_context_disposed(Context * ctx, void * client_data) { - ContextExtensionRC * ext = EXT(ctx); - if (ext->step_code_area != NULL) { - free_code_area(ext->step_code_area); - ext->step_code_area = NULL; - } - if (ext->step_bp_info != NULL) { - destroy_eventpoint(ext->step_bp_info); - ext->step_bp_info = NULL; - } + cancel_step_mode(ctx); } void ini_run_ctrl_service(Protocol * proto, TCFBroadcastGroup * bcg) { |