Mercurial > prosody-hg
view core/eventmanager.lua @ 2089:fdd7280c4621
s2smanager: Queue db:verify unless we already sent a db:result (if we had then it can could a dialback deadlock). Also remove some redundant code which could cause a db:result to be sent while still negotiating features (e.g. TLS) and break things. Collectively these fix a 'random' s2s failure (usually with ejabberd for some reason) - resulting in an 'unbound prefix' XML error, or 'ssl handshake failure'. Was this commit message long enough? I think so.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 20 Nov 2009 04:39:54 +0000 |
| parents | 569d58d21612 |
| children | b7049746bd29 |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2009 Matthew Wild -- Copyright (C) 2008-2009 Waqas Hussain -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local t_insert = table.insert; local ipairs = ipairs; module "eventmanager" local event_handlers = {}; function add_event_hook(name, handler) if not event_handlers[name] then event_handlers[name] = {}; end t_insert(event_handlers[name] , handler); end function fire_event(name, ...) local event_handlers = event_handlers[name]; if event_handlers then for name, handler in ipairs(event_handlers) do handler(...); end end end return _M;
