Переглянути джерело

Merge pull request #100 from jakesmith/bug83900

Bug: 83900 Fix issue with dfu jobs left running

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 14 роки тому
батько
коміт
6c5550c532
1 змінених файлів з 7 додано та 1 видалено
  1. 7 1
      dali/dfu/dfurun.cpp

+ 7 - 1
dali/dfu/dfurun.cpp

@@ -253,7 +253,13 @@ class CDFUengine: public CInterface, implements IDFUengine
                         case DFUservermode_run: {
                                 PROGLOG("DFU %s running job: %s",serv,wuid.get());
                                 setRunningStatus(queuename.get(),wuid,true);
-                                parent->runWU(wuid);
+                                try {
+                                    parent->runWU(wuid);
+                                }
+                                catch (IException *) {
+                                    setRunningStatus(queuename.get(),wuid,false);
+                                    throw;
+                                }
                                 if (!ismon) {
                                     setRunningStatus(queuename.get(),wuid,false);
                                     PROGLOG("DFU %s finished job: %s",serv,wuid.get());