summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java/net/PlainSocketImpl.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-12 23:52:39 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-12 23:52:39 +0000
commitc3c147306bab7d0e29422e18cc8ab58a031fd4ad (patch)
treee330b8e9a136b5340488dc4c338504cc6b870e5b /libjava/gnu/java/net/PlainSocketImpl.java
parent6321eb6cec78b9c2b185a97afd1fc64c5b92a70a (diff)
downloadppe42-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.java23
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.
OpenPOWER on IntegriCloud