From 946217310fa91c9069e2c5d6508d01960d4b479d Mon Sep 17 00:00:00 2001 From: Ryan Ward Date: Sat, 24 Feb 2024 23:23:35 -0500 Subject: [PATCH] lanes uses a threaded function like waitfor function --- init.lua | 8 ++++++-- integration/lanesManager/threads.lua | 10 ++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/init.lua b/init.lua index f93a1ae..a197fb4 100644 --- a/init.lua +++ b/init.lua @@ -1226,7 +1226,9 @@ end function multi.hold(func,opt) if thread.isThread() then return thread.hold(func, opt) end local proc = multi.getCurrentTask() - proc:Pause() + if proc then + proc:Pause() + end local rets thread:newThread("Hold_func",function() rets = {thread.hold(func,opt)} @@ -1234,7 +1236,9 @@ function multi.hold(func,opt) while rets == nil do multi:uManager() end - proc:Resume() + if proc then + proc:Resume() + end return multi.unpack(rets) end diff --git a/integration/lanesManager/threads.lua b/integration/lanesManager/threads.lua index 2dc231c..42433df 100644 --- a/integration/lanesManager/threads.lua +++ b/integration/lanesManager/threads.lua @@ -48,14 +48,12 @@ local function INIT(__GlobalLinda, __SleepingLinda, __StatusLinda, __Console) end function THREAD.waitFor(name) - local function wait() + local multi, thread = require("multi"):init() + return multi.hold(function() math.randomseed(os.time()) __SleepingLinda:receive(.001, "__non_existing_variable") - end - repeat - wait() - until __GlobalLinda:get(name) - return __GlobalLinda:get(name) + return __GlobalLinda:get(name) + end) end function THREAD.getCores()