aboutsummaryrefslogtreecommitdiff
path: root/builtin/async
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/async')
-rw-r--r--builtin/async/init.lua18
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
+