aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/OSHttpRequestQueue.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/Servers/OSHttpRequestQueue.cs10
1 files changed, 6 insertions, 4 deletions
diff --git a/OpenSim/Framework/Servers/OSHttpRequestQueue.cs b/OpenSim/Framework/Servers/OSHttpRequestQueue.cs
index f3dfda4..f6f1829 100644
--- a/OpenSim/Framework/Servers/OSHttpRequestQueue.cs
+++ b/OpenSim/Framework/Servers/OSHttpRequestQueue.cs
@@ -38,12 +38,14 @@ namespace OpenSim.Framework.Servers
38 /// </summary> 38 /// </summary>
39 public class OSHttpRequestQueue : Queue<OSHttpRequest> 39 public class OSHttpRequestQueue : Queue<OSHttpRequest>
40 { 40 {
41 private object _syncObject = new object();
42
41 new public void Enqueue(OSHttpRequest req) 43 new public void Enqueue(OSHttpRequest req)
42 { 44 {
43 lock (this) 45 lock (_syncObject)
44 { 46 {
45 base.Enqueue(req); 47 base.Enqueue(req);
46 Monitor.Pulse(this); 48 Monitor.Pulse(_syncObject);
47 } 49 }
48 } 50 }
49 51
@@ -51,11 +53,11 @@ namespace OpenSim.Framework.Servers
51 { 53 {
52 OSHttpRequest req = null; 54 OSHttpRequest req = null;
53 55
54 lock (this) 56 lock (_syncObject)
55 { 57 {
56 while (null == req) 58 while (null == req)
57 { 59 {
58 Monitor.Wait(this); 60 Monitor.Wait(_syncObject);
59 if (0 != this.Count) req = base.Dequeue(); 61 if (0 != this.Count) req = base.Dequeue();
60 } 62 }
61 } 63 }