summaryrefslogtreecommitdiff
path: root/tests/modules/thread/sharedata.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2025-08-29 23:20:48 +0800
committerruki <[email protected]>2025-08-29 23:20:48 +0800
commitf1d54d70a80b86465c2df36eb95a0bcda8c26824 (patch)
treea351724ed7b43246e21d20720b577557df764ba6 /tests/modules/thread/sharedata.lua
parent054c5764447dc51081d466c1bc2e26fda5906712 (diff)
add thread sharedata
Diffstat (limited to 'tests/modules/thread/sharedata.lua')
-rw-r--r--tests/modules/thread/sharedata.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/modules/thread/sharedata.lua b/tests/modules/thread/sharedata.lua
new file mode 100644
index 000000000..cce265ae1
--- /dev/null
+++ b/tests/modules/thread/sharedata.lua
@@ -0,0 +1,26 @@
+import("core.base.thread")
+
+function callback(event, sharedata)
+ print("starting ..")
+ while true do
+ print("waiting ..")
+ if event:wait(-1) > 0 then
+ print(" -> %s", sharedata:get())
+ end
+ end
+end
+
+function main()
+ local event = thread.event()
+ local sharedata = thread.sharedata()
+ local t = thread.start_named("", callback, event, sharedata)
+ while true do
+ local ch = io.read()
+ if ch then
+ sharedata:set(ch)
+ event:post()
+ end
+ end
+ t:wait(-1)
+end
+