diff options
Diffstat (limited to 'libjava/java/rmi')
-rw-r--r-- | libjava/java/rmi/server/RemoteServer.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libjava/java/rmi/server/RemoteServer.java b/libjava/java/rmi/server/RemoteServer.java index b9cfc4e..85a2d95 100644 --- a/libjava/java/rmi/server/RemoteServer.java +++ b/libjava/java/rmi/server/RemoteServer.java @@ -39,6 +39,7 @@ package java.rmi.server; import java.io.OutputStream; import java.io.PrintStream; +import gnu.java.rmi.server.RMIIncomingThread; public abstract class RemoteServer extends RemoteObject { @@ -54,7 +55,14 @@ protected RemoteServer(RemoteRef ref) { } public static String getClientHost() throws ServerNotActiveException { - throw new Error("Not implemented"); + Thread currThread = Thread.currentThread(); + if (currThread instanceof RMIIncomingThread) { + RMIIncomingThread incomingThread = (RMIIncomingThread) currThread; + return incomingThread.getClientHost(); + } else { + throw new ServerNotActiveException( + "Unknown client host - current thread not instance of 'RMIIncomingThread'"); + } } public static void setLog(OutputStream out) { |