aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/thread/async.md7
-rw-r--r--library/lullaby/thread.lua5
2 files changed, 12 insertions, 0 deletions
diff --git a/docs/thread/async.md b/docs/thread/async.md
index a13b18b..60c764a 100644
--- a/docs/thread/async.md
+++ b/docs/thread/async.md
@@ -49,3 +49,10 @@ waits for the thread to internally call res:testclose or exit
async:clean()
calls the __gc metamethod, will call async:kill() if it is still running
+
+### async:detach
+
+async:detach()
+
+prevents lua from discarding the thread on its own (removes __gc) and runs the code after the thread has exited instead.
+this has the side effect of not allowing async:await() to be called when the thread is done
diff --git a/library/lullaby/thread.lua b/library/lullaby/thread.lua
index fc29e90..2da4a74 100644
--- a/library/lullaby/thread.lua
+++ b/library/lullaby/thread.lua
@@ -26,6 +26,11 @@ function async.close(T) end
---@return nil
function async.kill(T) end
+---removes gc, instead collecting after it has been run
+---@param T async-table
+---@return nil
+function async.kill(T) end
+
---contains data for the thread
---@deprecated
---@type lightuserdata