summaryrefslogtreecommitdiff
path: root/xmake/core/base/scheduler.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/core/base/scheduler.lua')
-rw-r--r--xmake/core/base/scheduler.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/xmake/core/base/scheduler.lua b/xmake/core/base/scheduler.lua
index f4928a887..d961c1c75 100644
--- a/xmake/core/base/scheduler.lua
+++ b/xmake/core/base/scheduler.lua
@@ -62,6 +62,23 @@ function _coroutine:waitobj_set(obj)
self._WAITOBJ = obj
end
+-- get user private data
+function _coroutine:data(name)
+ return self._DATA and self._DATA[name]
+end
+
+-- set user private data
+function _coroutine:data_set(name, data)
+ self._DATA = self._DATA or {}
+ self._DATA[name] = data
+end
+
+-- add user private data
+function _coroutine:data_add(name, data)
+ self._DATA = self._DATA or {}
+ self._DATA[name] = table.unwrap(table.join(self._DATA[name] or {}, data))
+end
+
-- get the raw coroutine thread
function _coroutine:thread()
return self._THREAD