aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs13
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