2003-12-26 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.

Co-Authored-By: Mark Wielaard <mark@klomp.org>

From-SVN: r75033
This commit is contained in:
Guilhem Lavaux
2003-12-26 16:13:01 +00:00
committed by Michael Koch
parent 4d42522958
commit 38910ebb1b
6 changed files with 153 additions and 33 deletions
@@ -144,7 +144,7 @@ private static void incomingMessageCall(UnicastConnection conn) throws IOExcepti
(new UID()).write(out);
if(returnval != null && returncls != null)
((RMIObjectOutputStream)out).writeValue(returnval, returncls);
else
else if (!(returnval instanceof RMIVoidValue))
out.writeObject(returnval);
out.flush();