Software /
code /
prosody
Diff
plugins/mod_smacks.lua @ 12549:3729a6bdb562 0.12
mod_smacks: Fix #1761 by setting a flag earlier
This ensures that the flag is set even if the pre-drain callback is
called from send(), as would be the case if opportunistic writes are
enabled.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 12 Jun 2022 01:50:33 +0200 |
parent | 12526:252ed01896dd |
child | 12550:12962a1001c2 |
child | 12796:d7853bbc88ea |
line wrap: on
line diff
--- a/plugins/mod_smacks.lua Thu Jun 09 12:42:57 2022 +0100 +++ b/plugins/mod_smacks.lua Sun Jun 12 01:50:33 2022 +0200 @@ -156,9 +156,9 @@ local function request_ack(session, reason) local queue = session.outgoing_stanza_queue; session.log("debug", "Sending <r> (inside timer, before send) from %s - #queue=%d", reason, queue:count_unacked()); + session.awaiting_ack = true; (session.sends2s or session.send)(st.stanza("r", { xmlns = session.smacks })) if session.destroyed then return end -- sending something can trigger destruction - session.awaiting_ack = true; -- expected_h could be lower than this expression e.g. more stanzas added to the queue meanwhile) session.last_requested_h = queue:count_acked() + queue:count_unacked(); session.log("debug", "Sending <r> (inside timer, after send) from %s - #queue=%d", reason, queue:count_unacked());