diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java index 581384fcb17..891dbc01886 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java @@ -86,10 +86,18 @@ public class DsfSuspendTrigger implements ISuspendTrigger { getIsLaunchSuspended(new DataRequestMonitor(ImmediateExecutor.getInstance(), null) { @Override protected void handleSuccess() { - if (!fDisposed && getData().booleanValue()) { + if (isSuccess() && !fDisposed && getData().booleanValue()) { listener.suspended(fLaunch, null); } } + @Override + protected void handleErrorOrWarning() { + // Ignore expected race condition and not supported error. + // Log other errors. + if (getStatus().getCode() > IDsfStatusConstants.NOT_SUPPORTED) { + super.handleErrorOrWarning(); + } + } }); } @@ -133,6 +141,15 @@ public class DsfSuspendTrigger implements ISuspendTrigger { fireSuspended(null); } } + + @Override + protected void handleErrorOrWarning() { + // Ignore expected race condition and not supported error. + // Log other errors. + if (getStatus().getCode() > IDsfStatusConstants.NOT_SUPPORTED) { + super.handleErrorOrWarning(); + } + } }); }