From 3df725786b93b54f681fd0baa3f004c0d961488a Mon Sep 17 00:00:00 2001 From: Matthew Wild <mwild1@gmail.com> Date: Sun, 5 Jun 2011 11:48:57 +0100 Subject: 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) --- plugins/mod_bosh.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'plugins') diff --git a/plugins/mod_bosh.lua b/plugins/mod_bosh.lua index a747f3cb..5ef6b18e 100644 --- a/plugins/mod_bosh.lua +++ b/plugins/mod_bosh.lua @@ -125,11 +125,11 @@ function handle_request(method, body, request) 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); -- cgit v1.2.3