Fixed race condition when aborting

git-svn-id: https://hyracks.googlecode.com/svn/trunk@616 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/Stagelet.java b/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/Stagelet.java
index a838f55..7b5c1b7 100644
--- a/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/Stagelet.java
+++ b/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/Stagelet.java
@@ -65,7 +65,7 @@
 
     private boolean started;
 
-    private volatile boolean abort;
+    private boolean abort;
 
     private final Set<OperatorInstanceId> pendingOperators;
 
@@ -109,10 +109,14 @@
 
     public synchronized void abort() {
         this.abort = true;
-        notifyAll();
         for (OperatorRunnable r : honMap.values()) {
             r.abort();
         }
+        notifyAll();
+    }
+    
+    private synchronized boolean aborted() {
+        return abort;
     }
 
     public void installRunnable(final OperatorInstanceId opIId) {
@@ -126,10 +130,10 @@
                     try {
                         waitUntilStarted();
                     } catch (InterruptedException e) {
-                        e.printStackTrace();
+                        Thread.currentThread().interrupt();
                         return;
                     }
-                    if (abort) {
+                    if (aborted()) {
                         return;
                     }
                     try {