diff options
author | Marc Khouzam | 2011-05-09 17:42:41 +0000 |
---|---|---|
committer | Marc Khouzam | 2011-05-09 17:42:41 +0000 |
commit | 790ba0fc8410ff6dbcd90e6683176146f80b0a54 (patch) | |
tree | 50f55d96413a0f727a2a689fad1f0d1c51c66ba5 /dsf-gdb | |
parent | 323cc9f222a673408007ea7a910e692cc6bbb4c1 (diff) | |
download | org.eclipse.cdt-790ba0fc8410ff6dbcd90e6683176146f80b0a54.tar.gz org.eclipse.cdt-790ba0fc8410ff6dbcd90e6683176146f80b0a54.tar.xz org.eclipse.cdt-790ba0fc8410ff6dbcd90e6683176146f80b0a54.zip |
Bug 345164: Avoid leaking pipes
Diffstat (limited to 'dsf-gdb')
-rw-r--r-- | dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java | 4 | ||||
-rw-r--r-- | dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBackend.java | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java index 88c10f4cfb0..29d2a1b911a 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/LaunchUtils.java @@ -314,6 +314,10 @@ public class LaunchUtils { } catch (IOException e) { throw new DebugException(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, DebugException.REQUEST_FAILED, "Error reading GDB STDOUT after sending: " + cmd, e.getCause()));//$NON-NLS-1$ + } finally { + // Cleanup to avoid leaking pipes + // Bug 345164 + process.destroy(); } return getGDBVersionFromText(cmdOutput.toString()); diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBackend.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBackend.java index 9fb36202af2..4c8659aaa52 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBackend.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBackend.java @@ -712,6 +712,7 @@ public class GDBBackend extends AbstractDsfService implements IGDBBackend { getExecutor().submit( new DsfRunnable() { public void run() { + destroy(); fBackendState = State.TERMINATED; getSession().dispatchEvent( new BackendStateChangedEvent(getSession().getId(), getId(), State.TERMINATED), |