aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorJonas Schäfer <jonas@wielicki.name>2021-12-21 21:23:01 +0100
committerJonas Schäfer <jonas@wielicki.name>2021-12-21 21:23:01 +0100
commit6671cc037e8afc4c416556af6e35a26e48fc75e5 (patch)
treee947a84086961d63c6e2b2bf27231c6e0788b108 /util
parent1f71208177d3720f32e4c530d83de3dfd980ca6e (diff)
downloadprosody-6671cc037e8afc4c416556af6e35a26e48fc75e5.tar.gz
prosody-6671cc037e8afc4c416556af6e35a26e48fc75e5.zip
adminstream: fire disconnected event on lower layer disconnect
This may in theory cause multiple disconnect events for the adminstream client, if the only code using that wasn't calling os.exit right away. Hence, this should be a good enough partial fix for #1671. It is not a full fix, because the shell will only notice the disconnect after one has hit enter in the input; until then, it is stuck in a read() call to stdin and completely oblivious to the disconnect.
Diffstat (limited to 'util')
-rw-r--r--util/adminstream.lua1
1 files changed, 1 insertions, 0 deletions
diff --git a/util/adminstream.lua b/util/adminstream.lua
index 5b592e76..703deb07 100644
--- a/util/adminstream.lua
+++ b/util/adminstream.lua
@@ -318,6 +318,7 @@ local function new_client()
function listeners.ondisconnect(conn, err) --luacheck: ignore 212/conn
client.log("info", "Admin client disconnected: %s", err or "connection closed");
client.conn = nil;
+ client.events.fire_event("disconnected");
end
function listeners.onreadtimeout(conn)