0.3->0.4
[prosody.git] / util / timer.lua
index 8bb1c11507b6e30615adc5ea450f3a4db9df76b9..589feec25afb789882f0ce1167242bf8413d576e 100644 (file)
@@ -1,4 +1,4 @@
--- Prosody IM v0.3
+-- Prosody IM v0.4
 -- Copyright (C) 2008-2009 Matthew Wild
 -- Copyright (C) 2008-2009 Waqas Hussain
 -- 
@@ -32,18 +32,16 @@ add_task = _add_task;
 ns_addtimer(function()
        local current_time = get_time();
        if #new_data > 0 then
-               for _, d in ipairs(new_data) do
+               for _, d in pairs(new_data) do
                        t_insert(data, d);
                end
                new_data = {};
-       elseif #data == 0 then
-               return;
        end
        
        for i, d in pairs(data) do
                local t, func = d[1], d[2];
                if t <= current_time then
-                       t_remove(data, i);
+                       data[i] = nil;
                        local r = func();
                        if type(r) == "number" then _add_task(r, func); end
                end