diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-12 23:52:39 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-12 23:52:39 +0000 |
commit | c3c147306bab7d0e29422e18cc8ab58a031fd4ad (patch) | |
tree | e330b8e9a136b5340488dc4c338504cc6b870e5b /libjava/gnu/java/net/PlainSocketImpl.java | |
parent | 6321eb6cec78b9c2b185a97afd1fc64c5b92a70a (diff) | |
download | ppe42-gcc-c3c147306bab7d0e29422e18cc8ab58a031fd4ad.tar.gz ppe42-gcc-c3c147306bab7d0e29422e18cc8ab58a031fd4ad.zip |
libjava/classpath
* java/util/Collections.java (UnmodifiableMap.toArray): Imported
changes from Classpath.
libjava
* sources.am, Makefile.in: Rebuilt.
* java/lang/Socket.java: Removed override.
* java/lang/DatagramSocket.java: Removed override.
* gnu/java/net/PlainSocketImpl.java (localSocketAddress): New
field.
(getLocalAddress): New method.
* gnu/java/net/PlainDatagramSocketImpl.java
(PlainDatagramSocketImpl): Throws IOException.
* gnu/java/net/natPlainSocketImplPosix.cc (write): Remove
'sizeof'.
(read): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121866 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java/net/PlainSocketImpl.java')
-rw-r--r-- | libjava/gnu/java/net/PlainSocketImpl.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/libjava/gnu/java/net/PlainSocketImpl.java b/libjava/gnu/java/net/PlainSocketImpl.java index eefee10ee28..dad1724d6b1 100644 --- a/libjava/gnu/java/net/PlainSocketImpl.java +++ b/libjava/gnu/java/net/PlainSocketImpl.java @@ -1,5 +1,5 @@ /* PlainSocketImpl.java -- Default socket implementation - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -110,6 +110,9 @@ public final class PlainSocketImpl extends SocketImpl // localAddress cache InetAddress localAddress; + // Local address as an InetSocketAddress. + InetSocketAddress localSocketAddress; + /** * A cached copy of the in stream for reading from the socket. */ @@ -325,6 +328,24 @@ public final class PlainSocketImpl extends SocketImpl protected native void sendUrgentData(int data) throws IOException; + public synchronized InetSocketAddress getLocalAddress() + { + if (localSocketAddress == null) + { + try + { + localSocketAddress + = new InetSocketAddress ((InetAddress) getOption(SocketOptions.SO_BINDADDR), + localport); + } + catch (SocketException _) + { + return null; + } + } + return localSocketAddress; + } + /** * Returns an InputStream object for reading from this socket. This will * be an instance of SocketInputStream. |