summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/threading/thread.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-04-03 21:56:51 +0800
committerchai <chaifix@163.com>2019-04-03 21:56:51 +0800
commite13616b5c40f912853be99f0603f0e4c97b22062 (patch)
tree6663eab986dbf0317f326bce863edc3d7bf3332e /source/modules/asura-utils/threading/thread.cpp
parentc8a6a8e2dd6f015a31b4f8191ad945a78fe77f3d (diff)
*misc
Diffstat (limited to 'source/modules/asura-utils/threading/thread.cpp')
-rw-r--r--source/modules/asura-utils/threading/thread.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/modules/asura-utils/threading/thread.cpp b/source/modules/asura-utils/threading/thread.cpp
index fc397d2..0899485 100644
--- a/source/modules/asura-utils/threading/thread.cpp
+++ b/source/modules/asura-utils/threading/thread.cpp
@@ -43,6 +43,7 @@ namespace AsuraEngine
{
lock(mTaskQueueMutex)
{
+ task->Retain();
mTaskQueue.push(task);
}
return true;
@@ -207,6 +208,7 @@ namespace AsuraEngine
if (mType == THREAD_TYPE_DEFERRED)
{
mFinishedMutex.Lock();
+ task->Retain();
mFinishedTasks.push(task);
mFinishedMutex.Unlock();
}
@@ -218,6 +220,7 @@ namespace AsuraEngine
}
mTaskQueueMutex.Lock();
mTaskQueue.pop();
+ task->Release();
mTaskQueueMutex.Unlock();
}
}
@@ -262,6 +265,7 @@ namespace AsuraEngine
this->LuaxRelease<Task>(state, task);
mFinishedMutex.Lock();
mFinishedTasks.pop();
+ task->Release();
mFinishedMutex.Unlock();
}
}