diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index 4dad44a7a4..cb0c41f34b 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs @@ -277,7 +277,11 @@ namespace OpenSim.Framework.Servers.HttpServer try { req.DoHTTPGruntWork(m_server, responsedata); - byContextDequeue(req); + if(req.HttpContext.CanSend() && req.PollServiceArgs.Type == PollServiceEventArgs.EventType.Poll + && (Environment.TickCount - req.RequestTime) > req.PollServiceArgs.TimeOutms) + ReQueueEvent(req); + else + byContextDequeue(req); } catch (ObjectDisposedException) // Browser aborted before we could read body, server closed the stream {