Working on getting pseudoThreading tests to work

This commit is contained in:
2023-10-15 13:21:57 -04:00
parent ad929da484
commit ef7464f70d
14 changed files with 1150 additions and 28 deletions
+5 -5
View File
@@ -207,9 +207,9 @@ function multi:newSystemThreadedJobQueue(n)
local jid = table.remove(dat, 1)
local args = table.remove(dat, 1)
queueReturn:push{jid, funcs[name](args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8]), queue}
end).OnError(multi.error)
end)
end
end).OnError(multi.error)
end)
thread:newThread("DoAllHandler",function()
while true do
local dat = thread.hold(function()
@@ -225,7 +225,7 @@ function multi:newSystemThreadedJobQueue(n)
end
end
end
end).OnError(multi.error)
end)
thread:newThread("IdleHandler",function()
while true do
thread.hold(function()
@@ -233,9 +233,9 @@ function multi:newSystemThreadedJobQueue(n)
end)
THREAD.sleep(.01)
end
end).OnError(multi.error)
end)
multi:mainloop()
end,i).OnError(multi.error)
end,i)
end
function c:Hold(opt)
+1
View File
@@ -130,6 +130,7 @@ function multi:newSystemThread(name, func, ...)
c.OnDeath = multi:newConnection()
c.OnError = multi:newConnection()
GLOBAL["__THREADS__"] = livingThreads
c.OnError(multi.error)
if self.isActor then
self:create(c)