From 86cd895b6d9eea1460a53723e771f12c13c559f5 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Thu, 22 Mar 2007 02:26:35 +0000 Subject: [PATCH] * src/mod_muc/mod_muc.erl: Better behaviour under high load SVN Revision: 748 --- ChangeLog | 4 ++++ src/mod_muc/mod_muc.erl | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index d096072fb..c4860e425 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-03-22 Alexey Shchepin + + * src/mod_muc/mod_muc.erl: Better behaviour under high load + 2007-03-18 Alexey Shchepin * src/ejabberd_s2s.erl: Don't bounce packets with "error" and diff --git a/src/mod_muc/mod_muc.erl b/src/mod_muc/mod_muc.erl index b743f415c..8ed1debdd 100644 --- a/src/mod_muc/mod_muc.erl +++ b/src/mod_muc/mod_muc.erl @@ -474,6 +474,7 @@ iq_disco_items(Host, From, Lang) -> case catch gen_fsm:sync_send_all_state_event( Pid, {get_disco_item, From, Lang}, 100) of {item, Desc} -> + flush(), {true, {xmlelement, "item", [{"jid", jlib:jid_to_string({Name, Host, ""})}, @@ -483,6 +484,13 @@ iq_disco_items(Host, From, Lang) -> end end, get_vh_rooms(Host)). +flush() -> + receive + _ -> + flush() + after 0 -> + ok + end. -define(XFIELD(Type, Label, Var, Val), {xmlelement, "field", [{"type", Type},