Merge commit '9ec672c70b28b8c1d6d81bab7744fcf7bf9b83c7' into bigmerge

This commit is contained in:
Melanie
2011-10-25 03:26:44 +01:00
4 changed files with 31 additions and 9 deletions

View File

@@ -1838,9 +1838,9 @@ namespace OpenSim.Framework.Servers.HttpServer
{
lock (m_pollHandlers)
{
if (m_pollHandlers.ContainsKey(httpMethod))
if (m_pollHandlers.ContainsKey(path))
{
m_pollHandlers.Remove(httpMethod);
m_pollHandlers.Remove(path);
}
}

View File

@@ -28,12 +28,16 @@
using System;
using System.Collections;
using System.Threading;
using System.Reflection;
using log4net;
using HttpServer;
namespace OpenSim.Framework.Servers.HttpServer
{
public class PollServiceRequestManager
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private readonly BaseHttpServer m_server;
private static Queue m_requests = Queue.Synchronized(new Queue());
private uint m_WorkerThreadCount = 0;
@@ -42,8 +46,6 @@ namespace OpenSim.Framework.Servers.HttpServer
private Thread m_watcherThread;
private bool m_running = true;
public PollServiceRequestManager(BaseHttpServer pSrv, uint pWorkerThreadCount, int pTimeout)
{
m_server = pSrv;
@@ -61,7 +63,6 @@ namespace OpenSim.Framework.Servers.HttpServer
m_workerThreads[i].Name = String.Format("PollServiceWorkerThread{0}",i);
//Can't add to thread Tracker here Referencing OpenSim.Framework creates circular reference
m_workerThreads[i].Start();
}
//start watcher threads
@@ -98,7 +99,10 @@ namespace OpenSim.Framework.Servers.HttpServer
if (m_requests.Count == 0)
return;
// m_log.DebugFormat("[POLL SERVICE REQUEST MANAGER]: Processing {0} requests", m_requests.Count);
int reqperthread = (int) (m_requests.Count/m_WorkerThreadCount) + 1;
// For Each WorkerThread
for (int tc = 0; tc < m_WorkerThreadCount && m_requests.Count > 0; tc++)
{