aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2014-10-14 17:38:06 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2014-10-14 17:38:06 -0700
commit0b797b2f5b1c6b4d8eb9338bd7f12314a3dcd267 (patch)
tree13250e37860876c9f794cfc1327f70c5d431e402 /src
parent28173c7287662a944a9e5093b014a3566d94eef3 (diff)
Fixed race condition in OperationQueue (fixed #893)
Diffstat (limited to 'src')
-rw-r--r--src/core/basetypes/MCOperationQueue.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/basetypes/MCOperationQueue.cc b/src/core/basetypes/MCOperationQueue.cc
index a2554ab5..7783a978 100644
--- a/src/core/basetypes/MCOperationQueue.cc
+++ b/src/core/basetypes/MCOperationQueue.cc
@@ -225,6 +225,11 @@ void OperationQueue::stoppedOnMainThread(void * context)
mCallback->queueStoppedRunning();
}
+ if (mOperations->count() > 0) {
+ //Operations have been added while thread was quitting, so restart automatically
+ startThread();
+ }
+
release(); // (2)
release(); // (3)