aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/rmi/server/RemoteServer.java10
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) {