diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java index 687138e9fa7..9576c4250f6 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java @@ -287,15 +287,17 @@ public class DStoreStatusMonitor implements IDomainListener // Current thread is UI thread while (_workingStatuses.contains(status)) { - // while (display.readAndDispatch()) { + /* + while (display.readAndDispatch()) { //Process everything on event queue - // } + } if ((monitor != null) && (monitor.isCanceled())) { setCancelled(status); throw new InterruptedException(); } + */ boolean statusDone = determineStatusDone(status); @@ -331,21 +333,19 @@ public class DStoreStatusMonitor implements IDomainListener // Current thread is not UI thread while (_workingStatuses.contains(status)) { - - if ((monitor != null) && (monitor.isCanceled())) - { - setCancelled(status); - throw new InterruptedException(); - } - boolean statusDone = determineStatusDone(status); - - if (statusDone) + if (statusDone) { setDone(status); } else { + if ((monitor != null) && (monitor.isCanceled())) + { + setCancelled(status); + throw new InterruptedException(); + } + waitForUpdate(); //Thread.sleep(200);