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;
         }
     }