aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/basetypes/MCOperationQueue.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/basetypes/MCOperationQueue.cc')
-rw-r--r--src/core/basetypes/MCOperationQueue.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/basetypes/MCOperationQueue.cc b/src/core/basetypes/MCOperationQueue.cc
index 73b62f19..2e1f03b1 100644
--- a/src/core/basetypes/MCOperationQueue.cc
+++ b/src/core/basetypes/MCOperationQueue.cc
@@ -49,6 +49,19 @@ void OperationQueue::addOperation(Operation * op)
startThread();
}
+void OperationQueue::cancelAllOperations()
+{
+ pthread_mutex_lock(&mLock);
+ for (int i=0 ; i<mOperations->count(); i++)
+ {
+ Operation * op = (Operation *) mOperations->objectAtIndex(i);
+ if (op!=NULL) {
+ op->cancel();
+ }
+ }
+ pthread_mutex_unlock(&mLock);
+}
+
void OperationQueue::runOperationsOnThread(OperationQueue * queue)
{
queue->runOperations();