diff options
author | Melanie | 2011-01-13 19:53:44 +0000 |
---|---|---|
committer | Melanie | 2011-01-13 19:53:44 +0000 |
commit | 3fc5b6a8ec82332c59ac49ee8973a1752f7a2163 (patch) | |
tree | c48a4ed0ee413633507065427328fa8f98b5b782 | |
parent | Merge branch 'master' into careminster-presence-refactor (diff) | |
parent | Make FireAndForgetWrapper a singleton class (diff) | |
download | opensim-SC-3fc5b6a8ec82332c59ac49ee8973a1752f7a2163.zip opensim-SC-3fc5b6a8ec82332c59ac49ee8973a1752f7a2163.tar.gz opensim-SC-3fc5b6a8ec82332c59ac49ee8973a1752f7a2163.tar.bz2 opensim-SC-3fc5b6a8ec82332c59ac49ee8973a1752f7a2163.tar.xz |
Merge branch 'master' into careminster-presence-refactor
-rw-r--r-- | OpenSim/Framework/Util.cs | 27 | ||||
-rw-r--r-- | bin/BclExtras35.dll | bin | 153600 -> 0 bytes | |||
-rw-r--r-- | prebuild.xml | 2 |
3 files changed, 24 insertions, 5 deletions
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 877b0c2..cef756c 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -46,7 +46,7 @@ using System.Threading; | |||
46 | using log4net; | 46 | using log4net; |
47 | using Nini.Config; | 47 | using Nini.Config; |
48 | using Nwc.XmlRpc; | 48 | using Nwc.XmlRpc; |
49 | using BclExtras; | 49 | // using BclExtras; |
50 | using OpenMetaverse; | 50 | using OpenMetaverse; |
51 | using OpenMetaverse.StructuredData; | 51 | using OpenMetaverse.StructuredData; |
52 | using Amib.Threading; | 52 | using Amib.Threading; |
@@ -1375,8 +1375,29 @@ namespace OpenSim.Framework | |||
1375 | /// <summary> | 1375 | /// <summary> |
1376 | /// Created to work around a limitation in Mono with nested delegates | 1376 | /// Created to work around a limitation in Mono with nested delegates |
1377 | /// </summary> | 1377 | /// </summary> |
1378 | private class FireAndForgetWrapper | 1378 | private sealed class FireAndForgetWrapper |
1379 | { | 1379 | { |
1380 | private static volatile FireAndForgetWrapper instance; | ||
1381 | private static object syncRoot = new Object(); | ||
1382 | |||
1383 | public static FireAndForgetWrapper Instance { | ||
1384 | get { | ||
1385 | |||
1386 | if (instance == null) | ||
1387 | { | ||
1388 | lock (syncRoot) | ||
1389 | { | ||
1390 | if (instance == null) | ||
1391 | { | ||
1392 | instance = new FireAndForgetWrapper(); | ||
1393 | } | ||
1394 | } | ||
1395 | } | ||
1396 | |||
1397 | return instance; | ||
1398 | } | ||
1399 | } | ||
1400 | |||
1380 | public void FireAndForget(System.Threading.WaitCallback callback) | 1401 | public void FireAndForget(System.Threading.WaitCallback callback) |
1381 | { | 1402 | { |
1382 | callback.BeginInvoke(null, EndFireAndForget, callback); | 1403 | callback.BeginInvoke(null, EndFireAndForget, callback); |
@@ -1445,7 +1466,7 @@ namespace OpenSim.Framework | |||
1445 | ThreadPool.QueueUserWorkItem(callback, obj); | 1466 | ThreadPool.QueueUserWorkItem(callback, obj); |
1446 | break; | 1467 | break; |
1447 | case FireAndForgetMethod.BeginInvoke: | 1468 | case FireAndForgetMethod.BeginInvoke: |
1448 | FireAndForgetWrapper wrapper = Singleton.GetInstance<FireAndForgetWrapper>(); | 1469 | FireAndForgetWrapper wrapper = FireAndForgetWrapper.Instance; |
1449 | wrapper.FireAndForget(callback, obj); | 1470 | wrapper.FireAndForget(callback, obj); |
1450 | break; | 1471 | break; |
1451 | case FireAndForgetMethod.SmartThreadPool: | 1472 | case FireAndForgetMethod.SmartThreadPool: |
diff --git a/bin/BclExtras35.dll b/bin/BclExtras35.dll deleted file mode 100644 index 7a7480a..0000000 --- a/bin/BclExtras35.dll +++ /dev/null | |||
Binary files differ | |||
diff --git a/prebuild.xml b/prebuild.xml index 380e98b..5825655 100644 --- a/prebuild.xml +++ b/prebuild.xml | |||
@@ -158,7 +158,6 @@ | |||
158 | <Reference name="System.Data"/> | 158 | <Reference name="System.Data"/> |
159 | <Reference name="System.Drawing"/> | 159 | <Reference name="System.Drawing"/> |
160 | <Reference name="System.Web"/> | 160 | <Reference name="System.Web"/> |
161 | <Reference name="BclExtras35" path="../../bin/"/> | ||
162 | <Reference name="OpenMetaverseTypes" path="../../bin/"/> | 161 | <Reference name="OpenMetaverseTypes" path="../../bin/"/> |
163 | <Reference name="OpenMetaverse" path="../../bin/"/> | 162 | <Reference name="OpenMetaverse" path="../../bin/"/> |
164 | <Reference name="OpenMetaverse.StructuredData" path="../../bin/"/> | 163 | <Reference name="OpenMetaverse.StructuredData" path="../../bin/"/> |
@@ -1628,7 +1627,6 @@ | |||
1628 | <Reference name="OpenSim.Region.ClientStack"/> | 1627 | <Reference name="OpenSim.Region.ClientStack"/> |
1629 | <Reference name="OpenSim.Region.Physics.Manager"/> | 1628 | <Reference name="OpenSim.Region.Physics.Manager"/> |
1630 | <Reference name="OpenSim.Services.Interfaces"/> | 1629 | <Reference name="OpenSim.Services.Interfaces"/> |
1631 | <Reference name="BclExtras35" path="../../../../bin/"/> | ||
1632 | <Reference name="XMLRPC" path="../../../../bin/"/> | 1630 | <Reference name="XMLRPC" path="../../../../bin/"/> |
1633 | <Reference name="Nini" path="../../../../bin/"/> | 1631 | <Reference name="Nini" path="../../../../bin/"/> |
1634 | <Reference name="log4net" path="../../../../bin/"/> | 1632 | <Reference name="log4net" path="../../../../bin/"/> |