From bf9d0ac0d8fd0577ef390320a1b377bb9b9d3672 Mon Sep 17 00:00:00 2001 From: mkoch Date: Mon, 14 Jul 2003 06:05:42 +0000 Subject: 2003-07-14 Michael Koch * gnu/java/rmi/server/UnicastServerRef.java: New version from classpath. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69322 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/java/rmi/server/UnicastServerRef.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'libjava/gnu/java') diff --git a/libjava/gnu/java/rmi/server/UnicastServerRef.java b/libjava/gnu/java/rmi/server/UnicastServerRef.java index a3a999f2e9f..e2f38ff5f8c 100644 --- a/libjava/gnu/java/rmi/server/UnicastServerRef.java +++ b/libjava/gnu/java/rmi/server/UnicastServerRef.java @@ -138,8 +138,9 @@ public boolean unexportObject(Remote obj, boolean force) { private Object getHelperClass(Class cls, String type) { try { String classname = cls.getName(); - ClassLoader cl = cls.getClassLoader(); //DONT use "Class scls = Class.forName(classname + type);" - Class scls = cl.loadClass(classname + type); + ClassLoader cl = cls.getClassLoader(); + Class scls = cl == null ? Class.forName(classname + type) + : cl.loadClass(classname + type); if (type.equals("_Stub")) { try { // JDK 1.2 stubs @@ -225,7 +226,9 @@ public Object incomingMessageCall(UnicastConnection conn, int method, long hash) * lets us know that. */ try { - args[i] = in.readObject(); + // need to handle primitive types + args[i] = ((RMIObjectInputStream)in).readValue(meth.getParameterTypes()[i]); + } catch (Exception t) { t.printStackTrace(); @@ -257,3 +260,5 @@ public Object incomingMessageCall(UnicastConnection conn, int method, long hash) } } + + -- cgit v1.2.3