# HG changeset patch
# User Matthew Wild <mwild1@gmail.com>
# Date 1294177094 0
# Node ID ca91d6e1d802ea56d1c133c7ddf306514f6d4f60
# Parent  58c0de7c6da0007e3fffc91bdcd385b9833ed1aa
mod_bosh: Fix for miscalculating inactivity, causing disconnects under a steady stream of traffic

diff -r 58c0de7c6da0 -r ca91d6e1d802 plugins/mod_bosh.lua
--- a/plugins/mod_bosh.lua	Tue Jan 04 21:19:28 2011 +0000
+++ b/plugins/mod_bosh.lua	Tue Jan 04 21:38:14 2011 +0000
@@ -125,6 +125,12 @@
 	
 	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
+
 		local r = session.requests;
 		log("debug", "Session %s has %d out of %d requests open", request.sid, #r, session.bosh_hold);
 		log("debug", "and there are %d things in the send_buffer", #session.send_buffer);
@@ -154,11 +160,6 @@
 				request.reply_before = os_time() + session.bosh_wait;
 				waiting_requests[request] = true;
 			end
-			if inactive_sessions[session] then
-				-- Session was marked as inactive, since we have
-				-- a request open now, unmark it
-				inactive_sessions[session] = nil;
-			end
 		end
 		
 		return true; -- Inform httpserver we shall reply later