diff options
Diffstat (limited to 'java/src/IceInternal/ObjectAdapterFactory.java')
-rw-r--r-- | java/src/IceInternal/ObjectAdapterFactory.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/java/src/IceInternal/ObjectAdapterFactory.java b/java/src/IceInternal/ObjectAdapterFactory.java index 308be141f5b..5b9688a70d7 100644 --- a/java/src/IceInternal/ObjectAdapterFactory.java +++ b/java/src/IceInternal/ObjectAdapterFactory.java @@ -26,12 +26,7 @@ public final class ObjectAdapterFactory return; } - _instance = null; - _communicator = null; - adapters = new java.util.LinkedList<Ice.ObjectAdapterI>(_adapters); - - notifyAll(); } // @@ -42,8 +37,16 @@ public final class ObjectAdapterFactory { adapter.deactivate(); } + + synchronized(this) + { + _instance = null; + _communicator = null; + notifyAll(); + } } + public void waitForShutdown() { @@ -61,6 +64,7 @@ public final class ObjectAdapterFactory } catch(InterruptedException ex) { + throw new Ice.OperationInterruptedException(); } } |