Comparison

util/timer.lua @ 2098:a1ad06f1c090

util.timer: Fix libevent timers (event.base doesn't exist...)
author Matthew Wild <mwild1@gmail.com>
date Sat, 21 Nov 2009 03:16:14 +0000
parent 2095:3256c5d00901
child 2366:c3a364342cb4
comparison
equal deleted inserted replaced
2097:642806f67b75 2098:a1ad06f1c090
7 -- 7 --
8 8
9 9
10 local ns_addtimer = require "net.server".addtimer; 10 local ns_addtimer = require "net.server".addtimer;
11 local event = require "net.server".event; 11 local event = require "net.server".event;
12 local event_base = require "net.server".event_base;
12 13
13 local get_time = os.time; 14 local get_time = os.time;
14 local t_insert = table.insert; 15 local t_insert = table.insert;
15 local t_remove = table.remove; 16 local t_remove = table.remove;
16 local ipairs, pairs = ipairs, pairs; 17 local ipairs, pairs = ipairs, pairs;
52 end 53 end
53 end); 54 end);
54 else 55 else
55 local EVENT_LEAVE = (event.core and event.core.LEAVE) or -1; 56 local EVENT_LEAVE = (event.core and event.core.LEAVE) or -1;
56 function _add_task(delay, func) 57 function _add_task(delay, func)
57 event.base:addevent(nil, event.EV_TIMEOUT, function () 58 event_base:addevent(nil, event.EV_TIMEOUT, function ()
58 local ret = func(); 59 local ret = func();
59 if ret then 60 if ret then
60 _add_task(ret, func); 61 _add_task(ret, func);
61 else 62 else
62 return EVENT_LEAVE; 63 return EVENT_LEAVE;