Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2014-02-05 18:19:04 +0000
committerEugene Tarassov2014-02-05 18:19:04 +0000
commit4744515d582b50453ef8d4551bc315805794fce6 (patch)
treecd2b51831bf4e8751e9b5a879361e68102e2cf1b /plugins/org.eclipse.tcf.debug
parent046a323917611a73fdf87061535d1753db0b0aef (diff)
downloadorg.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
Diffstat (limited to 'plugins/org.eclipse.tcf.debug')
-rw-r--r--plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFLaunch.java14
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() {

Back to the top