aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2007-03-22 02:26:35 +0000
committerAlexey Shchepin <alexey@process-one.net>2007-03-22 02:26:35 +0000
commit86cd895b6d9eea1460a53723e771f12c13c559f5 (patch)
treead034bacae6ad189761e1333e563b0bd50b9ce5e
parent* src/ejabberd_s2s.erl: Don't bounce packets with "error" and (diff)
* src/mod_muc/mod_muc.erl: Better behaviour under high load
SVN Revision: 748
-rw-r--r--ChangeLog4
-rw-r--r--src/mod_muc/mod_muc.erl8
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d096072fb..c4860e425 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-22 Alexey Shchepin <alexey@sevcom.net>
+
+ * src/mod_muc/mod_muc.erl: Better behaviour under high load
+
2007-03-18 Alexey Shchepin <alexey@sevcom.net>
* 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},