瀏覽代碼

Signed-off-by: Russ Whitehead <william.whitehead@lexisnexis.com>

Russ Whitehead 9 年之前
父節點
當前提交
2ef43c9e97
共有 1 個文件被更改,包括 8 次插入7 次删除
  1. 8 7
      plugins/fileservices/fileservices.cpp

+ 8 - 7
plugins/fileservices/fileservices.cpp

@@ -545,6 +545,7 @@ static void blockUntilComplete(const char * label, IClientFileSpray &server, ICo
 
     SCMStringBuffer prevStateEx;
     WUState prevState = queryWorkunitState(ctx, prevStateEx);
+    assertex(prevState == WUStateRunning);
 
     StringBuffer reason;
     reason.appendf("Blocked by fileservice activity: %s",label);
@@ -560,7 +561,7 @@ static void blockUntilComplete(const char * label, IClientFileSpray &server, ICo
         const IMultiException* excep = &result->getExceptions();
         if ((excep != NULL) && (excep->ordinality() > 0))
         {
-            setWorkunitState(ctx, prevState, prevStateEx.str());
+            setWorkunitState(ctx, WUStateRunning, prevStateEx.str());
             StringBuffer errmsg;
             excep->errorMessage(errmsg);
             throw MakeStringExceptionDirect(0, errmsg.str());
@@ -599,18 +600,18 @@ static void blockUntilComplete(const char * label, IClientFileSpray &server, ICo
         case DFUstate_monitoring:
             if (monitoringok)
             {
-                setWorkunitState(ctx, prevState, prevStateEx.str());
+                setWorkunitState(ctx, WUStateRunning, prevStateEx.str());
                 return;
             }
             break;
 
         case DFUstate_aborted:
         case DFUstate_failed:
-            setWorkunitState(ctx, prevState, prevStateEx.str());
+            setWorkunitState(ctx, WUStateRunning, prevStateEx.str());
             throw MakeStringException(0, "DFUServer Error %s", dfuwu.getSummaryMessage());
 
         case DFUstate_finished:
-            setWorkunitState(ctx, prevState, prevStateEx.str());
+            setWorkunitState(ctx, WUStateRunning, prevStateEx.str());
             return;
         }
 
@@ -620,7 +621,7 @@ static void blockUntilComplete(const char * label, IClientFileSpray &server, ICo
             abortReq->setWuid(wuid);
             Linked<IClientAbortDFUWorkunitResponse> abortResp = server.AbortDFUWorkunit(abortReq);
 
-            setWorkunitState(ctx, prevState, prevStateEx.str());
+            setWorkunitState(ctx, WUStateRunning, prevStateEx.str());
 
             //  Add warning of DFU Abort Request - should this be information  ---
             StringBuffer s("DFU Workunit Abort Requested for ");
@@ -631,7 +632,7 @@ static void blockUntilComplete(const char * label, IClientFileSpray &server, ICo
 
         if (time.timedout()) {
             unsigned left = dfuwu.getSecsLeft();
-            setWorkunitState(ctx, prevState, prevStateEx.str());
+            setWorkunitState(ctx, WUStateRunning, prevStateEx.str());
             if (left)
                 throw MakeStringException(0, "%s timed out, DFU Secs left:  %d)", label, left);
             throw MakeStringException(0, "%s timed out)", label);
@@ -645,7 +646,7 @@ static void blockUntilComplete(const char * label, IClientFileSpray &server, ICo
             polltime = WAIT_SECONDS;
 
     }
-    setWorkunitState(ctx, prevState, prevStateEx.str());
+    setWorkunitState(ctx, WUStateRunning, prevStateEx.str());
 }