diff options
Diffstat (limited to 'builtin/async')
-rw-r--r-- | builtin/async/init.lua | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/builtin/async/init.lua b/builtin/async/init.lua new file mode 100644 index 000000000..79b1a0a6c --- /dev/null +++ b/builtin/async/init.lua @@ -0,0 +1,18 @@ +engine.log("info", "Initializing Asynchronous environment") + +local core = engine or minetest + +function core.job_processor(serialized_func, serialized_param) + local func = loadstring(serialized_func) + local param = core.deserialize(serialized_param) + local retval = nil + + if type(func) == "function" then + retval = core.serialize(func(param)) + else + core.log("error", "ASYNC WORKER: Unable to deserialize function") + end + + return retval or core.serialize(nil) +end + |