summaryrefslogtreecommitdiff
path: root/gnu/java/rmi/server/UnicastServerRef.java
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2003-12-26 01:45:41 +0000
committerMark Wielaard <mark@klomp.org>2003-12-26 01:45:41 +0000
commitdd596d85fce62c19c7f712e004c606a088db6b2b (patch)
tree79428126c298660c586a1a6a5b0f80bc3e128f6e /gnu/java/rmi/server/UnicastServerRef.java
parent36665224f971a2bc8acd8aefd4770eaa87e868fa (diff)
downloadclasspath-dd596d85fce62c19c7f712e004c606a088db6b2b.tar.gz
2003-12-25 Guilhem Lavaux <guilhem@kaffe.org>
Mark Wielaard <mark@klomp.org> * gnu/java/rmi/server/UnicastConnectionManager.java (startScavenger): Set the client connection manager to daemon state because it may block clients until TIMEOUT is reached when they are exiting. * gnu/java/rmi/RMIVoidValue.java: New file for a class representing a void return. * gnu/java/rmi/server/UnicastRemoteCall.java (DummyOutputStream): Add a boolean before each written field to know whether it is a primitive. (releaseOutputStream): Flush parameters at write time. * gnu/java/rmi/server/UnicastServerRef.java (incomingMessageCall): Return a RMIVoidValue if no value is to be returned. * gnu/java/rmi/server/UnicastServer.java (incomingMessageCall): Do not write a returned object if it is a RMIVoidValue. * gnu/java/rmi/server/Makefile.am (EXTRA_DIST): Add RMIVoidValue.java.
Diffstat (limited to 'gnu/java/rmi/server/UnicastServerRef.java')
-rw-r--r--gnu/java/rmi/server/UnicastServerRef.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/gnu/java/rmi/server/UnicastServerRef.java b/gnu/java/rmi/server/UnicastServerRef.java
index e2f38ff5f..b00492750 100644
--- a/gnu/java/rmi/server/UnicastServerRef.java
+++ b/gnu/java/rmi/server/UnicastServerRef.java
@@ -254,8 +254,11 @@ public Object incomingMessageCall(UnicastConnection conn, int method, long hash)
throw new NoSuchMethodException();
}
UnicastRemoteCall call = new UnicastRemoteCall(conn);
- skel.dispatch(myself, call, method, hash);
- return (call.returnValue());
+ skel.dispatch(myself, call, method, hash);
+ if (!call.isReturnValue())
+ return RMIVoidValue.INSTANCE;
+ else
+ return (call.returnValue());
}
}