Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2011-03-04 17:15:05 +0000
committereutarass2011-03-04 17:15:05 +0000
commit76423a33943d7691bf4489dcf2da1336206782df (patch)
tree884a9d46286eefc7487f22ce4490423b73113b14 /services/runctrl.c
parent394b60f982750bd973ad4202fc5c5bd6535a5aff (diff)
downloadorg.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.c11
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) {

Back to the top