aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2015-11-22 17:18:29 +0100
committerKim Alvefur <zash@zash.se>2015-11-22 17:18:29 +0100
commit45f9a387a2925a5bb835a7b7ff6ba6f0d401aec9 (patch)
treedd20222ceeda01b6b77dbc2431fad6e8410c892a
parent21485092f08a685b1ff82f237635cb2fae06524d (diff)
downloadprosody-45f9a387a2925a5bb835a7b7ff6ba6f0d401aec9.tar.gz
prosody-45f9a387a2925a5bb835a7b7ff6ba6f0d401aec9.zip
util.timer: Keep count of how many timer instances are active
-rw-r--r--util/timer.lua3
1 files changed, 3 insertions, 0 deletions
diff --git a/util/timer.lua b/util/timer.lua
index e3158d8b..9042264d 100644
--- a/util/timer.lua
+++ b/util/timer.lua
@@ -19,6 +19,7 @@ local _ENV = nil;
local _add_task = server.add_task;
+local _active_timers = 0;
local h = indexedbheap.create();
local params = {};
local next_time = nil;
@@ -46,6 +47,7 @@ local function _on_timer(now)
if peek ~= nil then
return peek - now;
end
+ _active_timers = _active_timers - 1;
end
local function add_task(delay, callback, param)
local current_time = get_time();
@@ -55,6 +57,7 @@ local function add_task(delay, callback, param)
params[id] = param;
if next_time == nil or event_time < next_time then
next_time = event_time;
+ _active_timers = _active_timers + 1;
_add_task(next_time - current_time, _on_timer);
end
return id;