aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/BlockingQueue.cs
diff options
context:
space:
mode:
authorDiva Canto2013-07-17 13:23:29 -0700
committerDiva Canto2013-07-17 13:23:29 -0700
commitaf792bc7f2504e9ccf1c8ae7568919785dc397c9 (patch)
tree945d648bc63917057ff6baf5e6091d5f5c843e9e /OpenSim/Framework/BlockingQueue.cs
parentPutting the requests back in the queue while testing for count >0 is not the ... (diff)
downloadopensim-SC-af792bc7f2504e9ccf1c8ae7568919785dc397c9.zip
opensim-SC-af792bc7f2504e9ccf1c8ae7568919785dc397c9.tar.gz
opensim-SC-af792bc7f2504e9ccf1c8ae7568919785dc397c9.tar.bz2
opensim-SC-af792bc7f2504e9ccf1c8ae7568919785dc397c9.tar.xz
Do the same trick that dahlia did for Dequeue(timeout)
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/BlockingQueue.cs5
1 files changed, 3 insertions, 2 deletions
diff --git a/OpenSim/Framework/BlockingQueue.cs b/OpenSim/Framework/BlockingQueue.cs
index aef1192..fb74a24 100644
--- a/OpenSim/Framework/BlockingQueue.cs
+++ b/OpenSim/Framework/BlockingQueue.cs
@@ -76,9 +76,10 @@ namespace OpenSim.Framework
76 { 76 {
77 lock (m_queueSync) 77 lock (m_queueSync)
78 { 78 {
79 if (m_queue.Count < 1 && m_pqueue.Count < 1) 79 bool timedout = false;
80 while (m_queue.Count < 1 && m_pqueue.Count < 1 && !timedout)
80 { 81 {
81 Monitor.Wait(m_queueSync, msTimeout); 82 timedout = Monitor.Wait(m_queueSync, msTimeout);
82 } 83 }
83 84
84 if (m_pqueue.Count > 0) 85 if (m_pqueue.Count > 0)