diff options
Diffstat (limited to 'OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs')
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index 4058229..e75b705 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | |||
@@ -57,24 +57,35 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
57 | private bool m_running = true; | 57 | private bool m_running = true; |
58 | private int slowCount = 0; | 58 | private int slowCount = 0; |
59 | 59 | ||
60 | private SmartThreadPool m_threadPool = new SmartThreadPool(20000, 12, 2); | 60 | private SmartThreadPool m_threadPool; |
61 | 61 | ||
62 | public PollServiceRequestManager(BaseHttpServer pSrv, uint pWorkerThreadCount, int pTimeout) | 62 | public PollServiceRequestManager(BaseHttpServer pSrv, uint pWorkerThreadCount, int pTimeout) |
63 | { | 63 | { |
64 | m_server = pSrv; | 64 | m_server = pSrv; |
65 | m_WorkerThreadCount = pWorkerThreadCount; | 65 | m_WorkerThreadCount = pWorkerThreadCount; |
66 | m_workerThreads = new Thread[m_WorkerThreadCount]; | 66 | m_workerThreads = new Thread[m_WorkerThreadCount]; |
67 | |||
68 | STPStartInfo startInfo = new STPStartInfo(); | ||
69 | startInfo.IdleTimeout = 30000; | ||
70 | startInfo.MaxWorkerThreads = 15; | ||
71 | startInfo.MinWorkerThreads = 1; | ||
72 | startInfo.ThreadPriority = ThreadPriority.Normal; | ||
73 | startInfo.StartSuspended = true; | ||
74 | startInfo.ThreadPoolName = "PoolService"; | ||
75 | |||
76 | m_threadPool = new SmartThreadPool(startInfo); | ||
67 | } | 77 | } |
68 | 78 | ||
69 | public void Start() | 79 | public void Start() |
70 | { | 80 | { |
81 | m_threadPool.Start(); | ||
71 | //startup worker threads | 82 | //startup worker threads |
72 | for (uint i = 0; i < m_WorkerThreadCount; i++) | 83 | for (uint i = 0; i < m_WorkerThreadCount; i++) |
73 | { | 84 | { |
74 | m_workerThreads[i] | 85 | m_workerThreads[i] |
75 | = Watchdog.StartThread( | 86 | = Watchdog.StartThread( |
76 | PoolWorkerJob, | 87 | PoolWorkerJob, |
77 | string.Format("PollServiceWorkerThread{0}:{1}", i, m_server.Port), | 88 | string.Format("PollServiceWorkerThread {0}:{1}", i, m_server.Port), |
78 | ThreadPriority.Normal, | 89 | ThreadPriority.Normal, |
79 | false, | 90 | false, |
80 | false, | 91 | false, |