From 48ef22f62e07c0b9e6d23ee758a4800d05cfb231 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 18 Aug 2015 23:59:55 +0100 Subject: change pollService stop() to send 503 error and no keepalive. ( untested ) --- .../Servers/HttpServer/PollServiceRequestManager.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs') diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index 2c5c41d..b56ade8 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs @@ -204,12 +204,17 @@ namespace OpenSim.Framework.Servers.HttpServer foreach (Thread t in m_workerThreads) Watchdog.AbortThread(t.ManagedThreadId); + // any entry in m_bycontext should have a active request on the other queues + // so just delete contents to easy GC + foreach (Queue qu in m_bycontext.Values) + qu.Clear(); + m_bycontext.Clear(); + try { foreach (PollServiceHttpRequest req in m_retryRequests) { - req.DoHTTPGruntWork(m_server, - req.PollServiceArgs.NoEvents(req.RequestID, req.PollServiceArgs.Id)); + req.DoHTTPstop(m_server); } } catch @@ -221,7 +226,7 @@ namespace OpenSim.Framework.Servers.HttpServer lock (m_slowRequests) { - while (m_slowRequests.Count > 0 && m_running) + while (m_slowRequests.Count > 0) m_requests.Enqueue(m_slowRequests.Dequeue()); } @@ -230,8 +235,7 @@ namespace OpenSim.Framework.Servers.HttpServer try { wreq = m_requests.Dequeue(0); - wreq.DoHTTPGruntWork(m_server, - wreq.PollServiceArgs.NoEvents(wreq.RequestID, wreq.PollServiceArgs.Id)); + wreq.DoHTTPstop(m_server); } catch { -- cgit v1.1