Commit 44fae9ca by Anthony Green Committed by Anthony Green

natPlainSocketImplPosix.cc (connect): Record address and port before attempting anything.

2005-12-28  Anthony Green  <green@redhat.com>

	* gnu/java/net/natPlainSocketImplPosix.cc (connect): Record
	address and port before attempting anything.

From-SVN: r109116
parent 5c3bb9eb
2005-12-28 Anthony Green <green@redhat.com>
* gnu/java/net/natPlainSocketImplPosix.cc (connect): Record
address and port before attempting anything.
2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* sysdep/pa/locks.h (compare_and_swap): Add ldcw semaphore to make
......
......@@ -142,6 +142,15 @@ gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
::java::net::InetAddress *host = tmp->getAddress();
jint rport = tmp->getPort();
// Set the SocketImpl's address and port fields before we try to
// connect. Note that the fact that these are set doesn't imply
// that we're actually connected to anything. We need to record
// this data before we attempt the connect, since non-blocking
// SocketChannels will use this and almost certainly throw timeout
// exceptions.
address = host;
port = rport;
union SockAddr u;
socklen_t addrlen = sizeof(u);
jbyteArray haddress = host->addr;
......@@ -197,9 +206,6 @@ gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
goto error;
}
address = host;
port = rport;
// A bind may not have been done on this socket; if so, set localport now.
if (localport == 0)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment