Software / code / prosody
File
plugins/mod_muc_unique.lua @ 13794:471b676e64eb 13.0
util.adminstream: Fix traceback on double-close (fixes #1913)
In some circumstances, particularly with 'opportunistic_writes' and
'fatal_errors' enabled in the epoll backend, the connection may be closed
halfway through the session close process (because it contains debug logging,
which in the case of the watch:log() command, will trigger a write to the
socket).
The chosen fix is to cache session.conn in a local variable (we already did
this later on, but this pulls it up to the top of the function, which is
generally more correct anyway).
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 31 Mar 2025 16:25:09 +0100 |
| parent | 12977:74b9e05af71e |
line wrap: on
line source
-- XEP-0307: Unique Room Names for Multi-User Chat local st = require "prosody.util.stanza"; local unique_name = require "prosody.util.id".medium; module:add_feature "http://jabber.org/protocol/muc#unique" module:hook("iq-get/host/http://jabber.org/protocol/muc#unique:unique", function(event) local origin, stanza = event.origin, event.stanza; origin.send(st.reply(stanza) :tag("unique", {xmlns = "http://jabber.org/protocol/muc#unique"}) :text(unique_name():lower()) ); return true; end,-1);