summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/ObjectImpl.java2
-rw-r--r--java/src/IceBox/ServiceManagerI.java3
-rw-r--r--java/src/IceInternal/Network.java2
-rw-r--r--java/src/IceInternal/ThreadPool.java6
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