diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs index f733972..27db72c 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs | |||
@@ -88,8 +88,8 @@ namespace OpenSim.Region.ClientStack.Linden | |||
88 | private Dictionary<UUID, string> m_capsDict = new Dictionary<UUID, string>(); | 88 | private Dictionary<UUID, string> m_capsDict = new Dictionary<UUID, string>(); |
89 | private static Thread[] m_workerThreads = null; | 89 | private static Thread[] m_workerThreads = null; |
90 | private static int m_NumberScenes = 0; | 90 | private static int m_NumberScenes = 0; |
91 | private static OpenMetaverse.BlockingQueue<aPollRequest> m_queue = | 91 | private static OpenSim.Framework.BlockingQueue<aPollRequest> m_queue = |
92 | new OpenMetaverse.BlockingQueue<aPollRequest>(); | 92 | new OpenSim.Framework.BlockingQueue<aPollRequest>(); |
93 | 93 | ||
94 | private Dictionary<UUID, PollServiceMeshEventArgs> m_pollservices = new Dictionary<UUID, PollServiceMeshEventArgs>(); | 94 | private Dictionary<UUID, PollServiceMeshEventArgs> m_pollservices = new Dictionary<UUID, PollServiceMeshEventArgs>(); |
95 | 95 | ||
@@ -170,7 +170,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
170 | m_workerThreads[i] = WorkManager.StartThread(DoMeshRequests, | 170 | m_workerThreads[i] = WorkManager.StartThread(DoMeshRequests, |
171 | String.Format("GetMeshWorker{0}", i), | 171 | String.Format("GetMeshWorker{0}", i), |
172 | ThreadPriority.Normal, | 172 | ThreadPriority.Normal, |
173 | false, | 173 | true, |
174 | false, | 174 | false, |
175 | null, | 175 | null, |
176 | int.MaxValue); | 176 | int.MaxValue); |
@@ -203,9 +203,12 @@ namespace OpenSim.Region.ClientStack.Linden | |||
203 | { | 203 | { |
204 | while(true) | 204 | while(true) |
205 | { | 205 | { |
206 | aPollRequest poolreq = m_queue.Dequeue(); | 206 | aPollRequest poolreq = m_queue.Dequeue(1000); |
207 | if(m_NumberScenes <= 0) | ||
208 | return; | ||
207 | Watchdog.UpdateThread(); | 209 | Watchdog.UpdateThread(); |
208 | poolreq.thepoll.Process(poolreq); | 210 | if(poolreq.reqID != UUID.Zero) |
211 | poolreq.thepoll.Process(poolreq); | ||
209 | } | 212 | } |
210 | } | 213 | } |
211 | 214 | ||