Software /
code /
prosody
Diff
plugins/mod_bosh.lua @ 4308:50e1a3dc2b50
mod_bosh: Mark a session as active when a request comes in, even if we don't end up holding that request, fixes BOSH ghosts (thanks smoku)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 05 Jun 2011 11:48:57 +0100 |
parent | 4102:9df4e61c260b |
child | 4311:d6366294f618 |
line wrap: on
line diff
--- a/plugins/mod_bosh.lua Sun Jun 05 01:57:43 2011 +0500 +++ b/plugins/mod_bosh.lua Sun Jun 05 11:48:57 2011 +0100 @@ -125,11 +125,11 @@ local session = sessions[request.sid]; if session then - -- Session was marked as inactive, since we have - -- a request open now, unmark it - if inactive_sessions[session] then - inactive_sessions[session] = nil; - end + -- Session was marked as inactive, since we have + -- a request open now, unmark it + if inactive_sessions[session] and #session.requests > 0 then + inactive_sessions[session] = nil; + end local r = session.requests; log("debug", "Session %s has %d out of %d requests open", request.sid, #r, session.bosh_hold);