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

View file

@ -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());
}
}