summaryrefslogtreecommitdiff
path: root/cs/src/Ice/ObjectAdapterFactory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'cs/src/Ice/ObjectAdapterFactory.cs')
-rw-r--r--cs/src/Ice/ObjectAdapterFactory.cs83
1 files changed, 13 insertions, 70 deletions
diff --git a/cs/src/Ice/ObjectAdapterFactory.cs b/cs/src/Ice/ObjectAdapterFactory.cs
index 326ae7e35b6..3dd791b1030 100644
--- a/cs/src/Ice/ObjectAdapterFactory.cs
+++ b/cs/src/Ice/ObjectAdapterFactory.cs
@@ -19,8 +19,7 @@ namespace IceInternal
public void shutdown()
{
List<Ice.ObjectAdapterI> adapters;
- _m.Lock();
- try
+ lock(this)
{
//
// Ignore shutdown requests if the object adapter factory has
@@ -36,11 +35,7 @@ namespace IceInternal
instance_ = null;
_communicator = null;
- _m.NotifyAll();
- }
- finally
- {
- _m.Unlock();
+ System.Threading.Monitor.PulseAll(this);
}
//
@@ -56,23 +51,18 @@ namespace IceInternal
public void waitForShutdown()
{
List<Ice.ObjectAdapterI> adapters;
- _m.Lock();
- try
+ lock(this)
{
//
// First we wait for the shutdown of the factory itself.
//
while(instance_ != null)
{
- _m.Wait();
+ System.Threading.Monitor.Wait(this);
}
adapters = new List<Ice.ObjectAdapterI>(_adapters);
}
- finally
- {
- _m.Unlock();
- }
//
// Now we wait for deactivation of each object adapter.
@@ -85,15 +75,10 @@ namespace IceInternal
public bool isShutdown()
{
- _m.Lock();
- try
+ lock(this)
{
return instance_ == null;
}
- finally
- {
- _m.Unlock();
- }
}
public void destroy()
@@ -104,45 +89,30 @@ namespace IceInternal
waitForShutdown();
List<Ice.ObjectAdapterI> adapters;
- _m.Lock();
- try
+ lock(this)
{
adapters = new List<Ice.ObjectAdapterI>(_adapters);
}
- finally
- {
- _m.Unlock();
- }
foreach(Ice.ObjectAdapter adapter in adapters)
{
adapter.destroy();
}
- _m.Lock();
- try
+ lock(this)
{
_adapters.Clear();
}
- finally
- {
- _m.Unlock();
- }
}
public void
updateConnectionObservers()
{
List<Ice.ObjectAdapterI> adapters;
- _m.Lock();
- try
+ lock(this)
{
adapters = new List<Ice.ObjectAdapterI>(_adapters);
}
- finally
- {
- _m.Unlock();
- }
foreach(Ice.ObjectAdapterI adapter in adapters)
{
@@ -154,15 +124,10 @@ namespace IceInternal
updateThreadObservers()
{
List<Ice.ObjectAdapterI> adapters;
- _m.Lock();
- try
+ lock(this)
{
adapters = new List<Ice.ObjectAdapterI>(_adapters);
}
- finally
- {
- _m.Unlock();
- }
foreach(Ice.ObjectAdapterI adapter in adapters)
{
@@ -172,8 +137,7 @@ namespace IceInternal
public Ice.ObjectAdapter createObjectAdapter(string name, Ice.RouterPrx router)
{
- _m.Lock();
- try
+ lock(this)
{
if(instance_ == null)
{
@@ -201,17 +165,12 @@ namespace IceInternal
_adapters.Add(adapter);
return adapter;
}
- finally
- {
- _m.Unlock();
- }
}
public Ice.ObjectAdapter findObjectAdapter(Ice.ObjectPrx proxy)
{
List<Ice.ObjectAdapterI> adapters;
- _m.Lock();
- try
+ lock(this)
{
if(instance_ == null)
{
@@ -220,10 +179,6 @@ namespace IceInternal
adapters = new List<Ice.ObjectAdapterI>(_adapters);
}
- finally
- {
- _m.Unlock();
- }
foreach(Ice.ObjectAdapterI adapter in adapters)
{
@@ -245,8 +200,7 @@ namespace IceInternal
public void removeObjectAdapter(Ice.ObjectAdapterI adapter)
{
- _m.Lock();
- try
+ lock(this)
{
if(instance_ == null)
{
@@ -256,24 +210,15 @@ namespace IceInternal
_adapters.Remove(adapter);
_adapterNamesInUse.Remove(adapter.getName());
}
- finally
- {
- _m.Unlock();
- }
}
public void flushAsyncBatchRequests(CommunicatorBatchOutgoingAsync outAsync)
{
List<Ice.ObjectAdapterI> adapters;
- _m.Lock();
- try
+ lock(this)
{
adapters = new List<Ice.ObjectAdapterI>(_adapters);
}
- finally
- {
- _m.Unlock();
- }
foreach(Ice.ObjectAdapterI adapter in adapters)
{
@@ -296,8 +241,6 @@ namespace IceInternal
private Ice.Communicator _communicator;
private HashSet<string> _adapterNamesInUse;
private List<Ice.ObjectAdapterI> _adapters;
-
- private readonly IceUtilInternal.Monitor _m = new IceUtilInternal.Monitor();
}
}