Comparison

util/timer.lua @ 2366:c3a364342cb4

util.timer: Use luaevent's built-in method of repeating an event (fixes a weird crash)
author Matthew Wild <mwild1@gmail.com>
date Thu, 17 Dec 2009 16:52:39 +0000
parent 2098:a1ad06f1c090
child 2925:692b3c6c5bd2
comparison
equal deleted inserted replaced
2365:0bd8408a491c 2366:c3a364342cb4
53 end 53 end
54 end); 54 end);
55 else 55 else
56 local EVENT_LEAVE = (event.core and event.core.LEAVE) or -1; 56 local EVENT_LEAVE = (event.core and event.core.LEAVE) or -1;
57 function _add_task(delay, func) 57 function _add_task(delay, func)
58 event_base:addevent(nil, event.EV_TIMEOUT, function () 58 event_base:addevent(nil, 0, function ()
59 local ret = func(); 59 local ret = func();
60 if ret then 60 if ret then
61 _add_task(ret, func); 61 return 0, ret;
62 else 62 else
63 return EVENT_LEAVE; 63 return EVENT_LEAVE;
64 end 64 end
65 end 65 end
66 , delay); 66 , delay);