added timeout for scanning

This commit is contained in:
Manuel Simon Hirsig
2016-08-02 13:10:00 +02:00
parent bf327cc50e
commit 82faab92e7
7 changed files with 126 additions and 103 deletions
+15 -3
View File
@@ -99,11 +99,23 @@ function public.kill_thread(thread_id)
end
end
function public.wait_for(k)
function public.await(k)
local ret
m.when(function() return ret end, function() return k(unpack(ret)) end)
return function(...)
ret = arg
return setmetatable({}, {
__call = function(self, ...)
ret = arg
end,
__unm = function()
return ret ~= nil
end
})
end
function public.loop(k, ...)
local stop = k(unpack(arg))
if not stop then
return m.wait(m.loop, k, unpack(arg))
end
end