Bug 507950 - Deadlock when changing a variable value when reverse
debugging with full gdb console
Change-Id: I85618169e49a181a074417f132a4860cd9b7c026
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/SyncVariableDataAccess.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/SyncVariableDataAccess.java
index e323756..930a917 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/SyncVariableDataAccess.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/SyncVariableDataAccess.java
@@ -11,6 +11,8 @@
package org.eclipse.cdt.dsf.debug.ui.viewmodel.variable;
import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
@@ -268,13 +270,15 @@
* Return value is irrelevant, any error would come through with an
* exception.
*/
- query.get();
+ query.get(3000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
assert false;
} catch (ExecutionException e) {
/*
* View must be shutting down, no need to show error dialog.
*/
+ } catch (TimeoutException e) {
+ assert false;
}
}