diff options
author | Bernard Normier <bernard@zeroc.com> | 2004-05-20 19:52:04 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2004-05-20 19:52:04 +0000 |
commit | ab6b7d91a0d4f27a9f1a289e7a95f653de03a248 (patch) | |
tree | 27eea95a640587461acd87ef489615e5718a481e /java/src/IceInternal/ServantManager.java | |
parent | Fixed strange Sun CC 5.5 release failure (diff) | |
download | ice-ab6b7d91a0d4f27a9f1a289e7a95f653de03a248.tar.bz2 ice-ab6b7d91a0d4f27a9f1a289e7a95f653de03a248.tar.xz ice-ab6b7d91a0d4f27a9f1a289e7a95f653de03a248.zip |
remove now returns the servant
Diffstat (limited to 'java/src/IceInternal/ServantManager.java')
-rw-r--r-- | java/src/IceInternal/ServantManager.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/java/src/IceInternal/ServantManager.java b/java/src/IceInternal/ServantManager.java index 77c674756d2..4e89eb4aa9f 100644 --- a/java/src/IceInternal/ServantManager.java +++ b/java/src/IceInternal/ServantManager.java @@ -45,7 +45,7 @@ public final class ServantManager extends Thread m.put(facet, servant); } - public synchronized void + public synchronized Ice.Object removeServant(Ice.Identity ident, String facet) { assert(_instance != null); // Must not be called after destruction. @@ -57,7 +57,7 @@ public final class ServantManager extends Thread java.util.HashMap m = (java.util.HashMap)_servantMapMap.get(ident); Ice.Object obj = null; - if(m == null || (obj = (Ice.Object)m.get(facet)) == null) + if(m == null || (obj = (Ice.Object)m.remove(facet)) == null) { Ice.NotRegisteredException ex = new Ice.NotRegisteredException(); ex.id = Ice.Util.identityToString(ident); @@ -69,11 +69,11 @@ public final class ServantManager extends Thread throw ex; } - m.remove(facet); if(m.isEmpty()) { _servantMapMap.remove(ident); } + return obj; } public synchronized java.util.Map |