Software /
code /
prosody
Comparison
util/events.lua @ 3776:bc4f67a0658d
util.events: Remove an event's table when it has no more handlers.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 19 Dec 2010 00:53:19 +0500 |
parent | 3501:90c18e0355af |
child | 5749:60b3b6d27364 |
comparison
equal
deleted
inserted
replaced
3775:f3f2a7810108 | 3776:bc4f67a0658d |
---|---|
43 local function remove_handler(event, handler) | 43 local function remove_handler(event, handler) |
44 local map = event_map[event]; | 44 local map = event_map[event]; |
45 if map then | 45 if map then |
46 map[handler] = nil; | 46 map[handler] = nil; |
47 handlers[event] = nil; | 47 handlers[event] = nil; |
48 if next(map) == nil then | |
49 event_map[event] = nil; | |
50 end | |
48 end | 51 end |
49 end; | 52 end; |
50 local function add_handlers(handlers) | 53 local function add_handlers(handlers) |
51 for event, handler in pairs(handlers) do | 54 for event, handler in pairs(handlers) do |
52 add_handler(event, handler); | 55 add_handler(event, handler); |