Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Khouzam2011-05-09 17:42:41 +0000
committerMarc Khouzam2011-05-09 17:42:41 +0000
commit790ba0fc8410ff6dbcd90e6683176146f80b0a54 (patch)
tree50f55d96413a0f727a2a689fad1f0d1c51c66ba5 /dsf-gdb
parent323cc9f222a673408007ea7a910e692cc6bbb4c1 (diff)
downloadorg.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.java4
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBackend.java1
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),

Back to the top