diff options
author | Eugene Tarassov | 2014-02-05 18:19:04 +0000 |
---|---|---|
committer | Eugene Tarassov | 2014-02-05 18:19:04 +0000 |
commit | 4744515d582b50453ef8d4551bc315805794fce6 (patch) | |
tree | cd2b51831bf4e8751e9b5a879361e68102e2cf1b | |
parent | 046a323917611a73fdf87061535d1753db0b0aef (diff) | |
download | org.eclipse.tcf-4744515d582b50453ef8d4551bc315805794fce6.tar.gz org.eclipse.tcf-4744515d582b50453ef8d4551bc315805794fce6.tar.xz org.eclipse.tcf-4744515d582b50453ef8d4551bc315805794fce6.zip |
TCF Debugger: fixed: don't set signal masks if corresponding properties of the launch configuration are not set, let agent to use default signal masks
-rw-r--r-- | plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFLaunch.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFLaunch.java b/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFLaunch.java index 7bcc6f7b5..28c24d1bd 100644 --- a/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFLaunch.java +++ b/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFLaunch.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -972,10 +972,11 @@ public class TCFLaunch extends Launch { final boolean stop_at_entry = cfg.getAttribute(TCFLaunchDelegate.ATTR_STOP_AT_ENTRY, true); final boolean stop_at_main = cfg.getAttribute(TCFLaunchDelegate.ATTR_STOP_AT_MAIN, true); final boolean use_terminal = cfg.getAttribute(TCFLaunchDelegate.ATTR_USE_TERMINAL, true); - String dont_stop = cfg.getAttribute(TCFLaunchDelegate.ATTR_SIGNALS_DONT_STOP, ""); - String dont_pass = cfg.getAttribute(TCFLaunchDelegate.ATTR_SIGNALS_DONT_PASS, ""); + final String dont_stop = cfg.getAttribute(TCFLaunchDelegate.ATTR_SIGNALS_DONT_STOP, ""); + final String dont_pass = cfg.getAttribute(TCFLaunchDelegate.ATTR_SIGNALS_DONT_PASS, ""); final int no_stop = dont_stop.length() > 0 ? Integer.parseInt(dont_stop, 16) : 0; final int no_pass = dont_pass.length() > 0 ? Integer.parseInt(dont_pass, 16) : 0; + final IProcessesV1 ps_v1 = channel.getRemoteService(IProcessesV1.class); // Start the process new LaunchStep() { @Override @@ -1011,7 +1012,6 @@ public class TCFLaunch extends Launch { }; if (launch_monitor != null) launch_monitor.subTask("Starting: " + file); String[] args_arr = toArgsArray(file, args); - IProcessesV1 ps_v1 = channel.getRemoteService(IProcessesV1.class); if (ps_v1 != null) { Map<String,Object> params = new HashMap<String,Object>(); if (mode.equals(ILaunchManager.DEBUG_MODE)) { @@ -1019,8 +1019,8 @@ public class TCFLaunch extends Launch { params.put(IProcessesV1.START_ATTACH_CHILDREN, attach_children); params.put(IProcessesV1.START_STOP_AT_ENTRY, stop_at_entry); params.put(IProcessesV1.START_STOP_AT_MAIN, stop_at_main); - params.put(IProcessesV1.START_SIG_DONT_STOP, no_stop); - params.put(IProcessesV1.START_SIG_DONT_PASS, no_pass); + if (dont_stop.length() > 0) params.put(IProcessesV1.START_SIG_DONT_STOP, no_stop); + if (dont_pass.length() > 0) params.put(IProcessesV1.START_SIG_DONT_PASS, no_pass); } if (use_terminal) params.put(IProcessesV1.START_USE_TERMINAL, true); process_start_command = ps_v1.start(dir, file, args_arr, process_env, params, done); @@ -1046,7 +1046,7 @@ public class TCFLaunch extends Launch { } }; // Set process signal masks - if (no_stop != 0 || no_pass != 0) { + if (ps_v1 == null && (no_stop != 0 || no_pass != 0)) { new LaunchStep() { @Override void start() { |