diff options
| author | Mark Wielaard <mark@klomp.org> | 2003-12-26 01:45:41 +0000 |
|---|---|---|
| committer | Mark Wielaard <mark@klomp.org> | 2003-12-26 01:45:41 +0000 |
| commit | dd596d85fce62c19c7f712e004c606a088db6b2b (patch) | |
| tree | 79428126c298660c586a1a6a5b0f80bc3e128f6e /gnu/java/rmi/server/UnicastServerRef.java | |
| parent | 36665224f971a2bc8acd8aefd4770eaa87e868fa (diff) | |
| download | classpath-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.java | 7 |
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()); } } |
