diff options
| author | amy <[email protected]> | 2025-04-14 14:09:22 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-04-14 14:09:22 -0500 |
| commit | dd7a8af4050454c3901987bff24a77334f892cc4 (patch) | |
| tree | 48c6107656e14cfbbcbb49424fc3454de850a5db /library/lullaby/thread.lua | |
| parent | 44c68aa7d51ea6b50c442bfbfa4ce11c530d2f7d (diff) | |
| parent | dc7e4527e88ed0c59e17c0ff04c01e1c92136e42 (diff) | |
Merge pull request #1 from ameliasquires/new-config
updates how config values are updated, support for local values when copying states, and annotations
Diffstat (limited to 'library/lullaby/thread.lua')
| -rw-r--r-- | library/lullaby/thread.lua | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/library/lullaby/thread.lua b/library/lullaby/thread.lua new file mode 100644 index 0000000..1b0e89d --- /dev/null +++ b/library/lullaby/thread.lua @@ -0,0 +1,67 @@ +---@meta + +---@class thread +local thread = {} + +---@class async-table +local async = {} + +---waits for thread to exit, returns the value of res +---@param T async-table +---@return ... +function async.await(T) end + +---calls thread __gc early +---@param T async-table +---@return nil +function async.clean(T) end + +---contains data for the thread +---@deprecated +---@type lightuserdata +async._ = nil + +---@async +---@param fun fun(res: fun(...)): nil function to call, parameter will set a return value for the thread +---@return async-table +function thread.async(fun) end + +---@class buffer-table +local buffer = {} + +---gets the value of the buffer +---@param T buffer-table +---@return any +function buffer.get(T) end + +---sets the value of the buffer +---@param T buffer-table +---@param value any +---@return nil +function buffer.set(T, value) end + +---calls a function with a parameter that is the value of the buffer, return the new value of the buffer +---@param T buffer-table +---@param fun fun(any): nil +---@return nil +function buffer.mod(T, fun) end + +---puts a value into a atomic thread-safe buffer +---@param value any +---@return buffer-table +function thread.buffer(value) end + +---locks any thread reaching this lock id until a corresponding unlock is met +---@param tid integer +---@return nil +function thread.lock(tid) end + +---unlocks a lock id +---@param tid integer +---@return nil +function thread.unlock(tid) end + +---@deprecated +function thread.testcopy() end + +return thread |
