diff --git a/assets/opencomputers/lua/kernel.lua b/assets/opencomputers/lua/kernel.lua index d59e97f93..9883d08e3 100644 --- a/assets/opencomputers/lua/kernel.lua +++ b/assets/opencomputers/lua/kernel.lua @@ -1,3 +1,4 @@ +local hookInterval = 100 local deadline = 0 local function checkDeadline() if computer.realTime() > deadline then @@ -94,7 +95,7 @@ sandbox = { checkArg(1, co, "thread") local args = table.pack(...) while true do -- for consecutive sysyields - debug.sethook(co, checkDeadline, "", 10000) + debug.sethook(co, checkDeadline, "", hookInterval) local result = table.pack( coroutine.resume(co, table.unpack(args, 1, args.n))) debug.sethook(co) -- avoid gc issues @@ -396,7 +397,7 @@ local function main() local co, args = bootstrap(), {n=0} while true do deadline = computer.realTime() + timeout -- timeout global is set by host - debug.sethook(co, checkDeadline, "", 10000) + debug.sethook(co, checkDeadline, "", hookInterval) local result = table.pack(coroutine.resume(co, table.unpack(args, 1, args.n))) if not result[1] then error(tostring(result[2]), 0)