diff options
author | Jonas Schäfer <jonas@wielicki.name> | 2021-12-21 21:23:01 +0100 |
---|---|---|
committer | Jonas Schäfer <jonas@wielicki.name> | 2021-12-21 21:23:01 +0100 |
commit | 6671cc037e8afc4c416556af6e35a26e48fc75e5 (patch) | |
tree | e947a84086961d63c6e2b2bf27231c6e0788b108 | |
parent | 1f71208177d3720f32e4c530d83de3dfd980ca6e (diff) | |
download | prosody-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.
-rw-r--r-- | util/adminstream.lua | 1 |
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) |