Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Khouzam2012-07-20 12:49:56 +0000
committerMarc Khouzam2012-07-20 12:49:56 +0000
commit43fc027a9c3287ca157381d3d7423c39ab262953 (patch)
tree39b907fb37216cb12eece92ea149681733fc300c /dsf-gdb
parent0ee284043dc01fd48bc6fe69127e45afbb2bede6 (diff)
downloadorg.eclipse.cdt-43fc027a9c3287ca157381d3d7423c39ab262953.tar.gz
org.eclipse.cdt-43fc027a9c3287ca157381d3d7423c39ab262953.tar.xz
org.eclipse.cdt-43fc027a9c3287ca157381d3d7423c39ab262953.zip
Bug 365601: GUI can become unresponsive when starting a debug launch.
Solution for the maintenance branch only. Change-Id: Ice9f9e0b4700bd40b7af133def9d8396b8e20011
Diffstat (limited to 'dsf-gdb')
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF2
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/pom.xml2
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java13
3 files changed, 13 insertions, 4 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF
index d4e6cc44ddc..8bfc43dd54b 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb.ui;singleton:=true
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 2.3.1.qualifier
Bundle-Activator: org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/pom.xml b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/pom.xml
index f629211b892..c1c4c47393b 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/pom.xml
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/pom.xml
@@ -11,7 +11,7 @@
<relativePath>../../pom.xml</relativePath>
</parent>
- <version>2.3.0-SNAPSHOT</version>
+ <version>2.3.1-SNAPSHOT</version>
<artifactId>org.eclipse.cdt.dsf.gdb.ui</artifactId>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java
index 04ca9d980ee..20cba930be0 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java
@@ -18,6 +18,8 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
@@ -102,12 +104,19 @@ public class GdbConnectCommand implements IConnect {
};
try {
fExecutor.execute(canConnectQuery);
- return canConnectQuery.get();
+ return canConnectQuery.get(50, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
} catch (ExecutionException e) {
} catch (RejectedExecutionException e) {
// Can be thrown if the session is shutdown
- }
+ } catch (TimeoutException e) {
+ // Bug 365601
+ // Don't wait forever so as to not lock the UI and
+ // potentially create a deadlock.
+ // If we timeout, we just return false and disable
+ // the connect command. The next call to this method
+ // will likely succeed and fix this.
+ }
return false;
}

Back to the top