diff options
author | Diva Canto | 2013-07-17 13:23:29 -0700 |
---|---|---|
committer | Diva Canto | 2013-07-17 13:23:29 -0700 |
commit | af792bc7f2504e9ccf1c8ae7568919785dc397c9 (patch) | |
tree | 945d648bc63917057ff6baf5e6091d5f5c843e9e /OpenSim/Framework/BlockingQueue.cs | |
parent | Putting the requests back in the queue while testing for count >0 is not the ... (diff) | |
download | opensim-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.cs | 5 |
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) |