diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectImpl.java | 2 | ||||
-rw-r--r-- | java/src/IceBox/ServiceManagerI.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/Network.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/ThreadPool.java | 6 |
4 files changed, 9 insertions, 4 deletions
diff --git a/java/src/Ice/ObjectImpl.java b/java/src/Ice/ObjectImpl.java index cf763576817..397ace706ba 100644 --- a/java/src/Ice/ObjectImpl.java +++ b/java/src/Ice/ObjectImpl.java @@ -9,7 +9,7 @@ package Ice; -public abstract class ObjectImpl implements Object, java.lang.Cloneable +public abstract class ObjectImpl implements Object, java.lang.Cloneable, java.io.Serializable { public ObjectImpl() diff --git a/java/src/IceBox/ServiceManagerI.java b/java/src/IceBox/ServiceManagerI.java index 64356f521db..95cfac6fb1a 100644 --- a/java/src/IceBox/ServiceManagerI.java +++ b/java/src/IceBox/ServiceManagerI.java @@ -66,8 +66,7 @@ public class ServiceManagerI extends _ServiceManagerDisp boolean started = false; try { - info.service.start(name, info.communicator == null ? _communicator : info.communicator, - info.args); + info.service.start(name, info.communicator == null ? _sharedCommunicator : info.communicator, info.args); started = true; } catch(java.lang.Exception e) diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java index 164f5e876f2..16dcfe324d9 100644 --- a/java/src/IceInternal/Network.java +++ b/java/src/IceInternal/Network.java @@ -810,7 +810,7 @@ public final class Network // } - if(addr == null || isValidAddr(addr, protocol)) + if(addr == null || !isValidAddr(addr, protocol)) { // // Iterate over the network interfaces and pick an IP diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java index e45ef281f50..4a84278ab6c 100644 --- a/java/src/IceInternal/ThreadPool.java +++ b/java/src/IceInternal/ThreadPool.java @@ -697,6 +697,12 @@ public final class ThreadPool --_inUse; } + // + // Do not wait to be promoted again to release these objects. + // + handler = null; + workItem = null; + while(!_promote) { try |