diff options
author | Dr Scofield | 2008-07-07 09:58:01 +0000 |
---|---|---|
committer | Dr Scofield | 2008-07-07 09:58:01 +0000 |
commit | 7420f96128020ba158d9712497d3c36796c88087 (patch) | |
tree | caf31c2760e2fb3ff4128308cd41ac1eddf849db | |
parent | further progress on HttpServer integration: OSHttpRequest can now be (diff) | |
download | opensim-SC-7420f96128020ba158d9712497d3c36796c88087.zip opensim-SC-7420f96128020ba158d9712497d3c36796c88087.tar.gz opensim-SC-7420f96128020ba158d9712497d3c36796c88087.tar.bz2 opensim-SC-7420f96128020ba158d9712497d3c36796c88087.tar.xz |
switching to safer locks.
-rw-r--r-- | .hgignore | 11 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/OSHttpRequestQueue.cs | 10 |
2 files changed, 12 insertions, 9 deletions
@@ -1,4 +1,3 @@ | |||
1 | ^tailor.state$ | ||
2 | ^tailor.state.old$ | 1 | ^tailor.state.old$ |
3 | ^tailor.state.journal$ | 2 | ^tailor.state.journal$ |
4 | \.csproj$ | 3 | \.csproj$ |
@@ -6,12 +5,14 @@ | |||
6 | \.mdp$ | 5 | \.mdp$ |
7 | \.mds$ | 6 | \.mds$ |
8 | \.dll\.build$ | 7 | \.dll\.build$ |
9 | /bin/Debug/.+\.dll$ | 8 | ^bin/Debug/.+\.dll$ |
10 | /bin/Debug/.+\.dll.mdb$ | 9 | bin/.+\.dll.mdb$ |
11 | ^bin/.+\.dll$ | 10 | bin/addin-db- |
11 | bin/.+\.dll$ | ||
12 | bin/.+\.maddin$ | ||
13 | Examples/.+\.dll$ | ||
12 | ^bin/.+\.exe | 14 | ^bin/.+\.exe |
13 | ^(OpenSim|Prebuild)/.+\.(exe|exe\.build|exe\.mdb)$ | 15 | ^(OpenSim|Prebuild)/.+\.(exe|exe\.build|exe\.mdb)$ |
14 | ^OpenSim\.(build|sln)$ | 16 | ^OpenSim\.(build|sln)$ |
15 | ^Prebuild/Prebuild\.(build|sln)$ | 17 | ^Prebuild/Prebuild\.(build|sln)$ |
16 | .+~$ | 18 | .+~$ |
17 | |||
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 | } |