aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2011-05-04 23:12:53 +0100
committerMatthew Wild <mwild1@gmail.com>2011-05-04 23:12:53 +0100
commit69a4cd5a25e4368bcc162c28138cba1d4d920c86 (patch)
treeffdbef537b05e4a2f24229662bf2ccff6991a1cc /plugins
parent49fb45a07bff1f2364743eaae6860c5b3370ebec (diff)
downloadprosody-69a4cd5a25e4368bcc162c28138cba1d4d920c86.tar.gz
prosody-69a4cd5a25e4368bcc162c28138cba1d4d920c86.zip
mod_muc: Remove room from memory when it is made non-persistent and is empty
Diffstat (limited to 'plugins')
-rw-r--r--plugins/muc/mod_muc.lua3
1 files changed, 3 insertions, 0 deletions
diff --git a/plugins/muc/mod_muc.lua b/plugins/muc/mod_muc.lua
index 329b9270..ca2e6e20 100644
--- a/plugins/muc/mod_muc.lua
+++ b/plugins/muc/mod_muc.lua
@@ -58,6 +58,9 @@ local function room_save(room, forced)
room._data.history = history;
elseif forced then
datamanager.store(node, muc_host, "config", nil);
+ if not next(room._occupants) then -- Room empty
+ rooms[room.jid] = nil;
+ end
end
if forced then datamanager.store(nil, muc_host, "persistent", persistent_rooms); end
end