summaryrefslogtreecommitdiff
path: root/xmake/core/base
diff options
context:
space:
mode:
authorruki <[email protected]>2022-05-14 12:23:13 +0800
committerruki <[email protected]>2022-05-14 12:23:13 +0800
commit60b2376a7520df9a611a1051663da67b119925aa (patch)
treef4fa39f9955b4726a0cae1a0aac745918b4e045b /xmake/core/base
parent6b8299c79e6b8f1548f52b02295a03dcfeccd995 (diff)
schedule local jobs
Diffstat (limited to 'xmake/core/base')
-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