mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-24 04:54:40 +02:00
6739920: java 6u4~ use larger C heap if there are many threads
Reviewed-by: chegar
This commit is contained in:
parent
44aa1a1519
commit
57bd8dc7e1
2 changed files with 6 additions and 26 deletions
|
@ -308,6 +308,12 @@ abstract class AbstractPlainSocketImpl extends SocketImpl
|
||||||
FileDescriptor fd = acquireFD();
|
FileDescriptor fd = acquireFD();
|
||||||
try {
|
try {
|
||||||
socketConnect(address, port, timeout);
|
socketConnect(address, port, timeout);
|
||||||
|
/* socket may have been closed during poll/select */
|
||||||
|
synchronized (fdLock) {
|
||||||
|
if (closePending) {
|
||||||
|
throw new SocketException ("Socket closed");
|
||||||
|
}
|
||||||
|
}
|
||||||
// If we have a ref. to the Socket, then sets the flags
|
// If we have a ref. to the Socket, then sets the flags
|
||||||
// created, bound & connected to true.
|
// created, bound & connected to true.
|
||||||
// This is normally done in Socket.connect() but some
|
// This is normally done in Socket.connect() but some
|
||||||
|
|
|
@ -491,27 +491,6 @@ Java_java_net_PlainSocketImpl_socketConnect(JNIEnv *env, jobject this,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* The socket may have been closed (dup'ed) while we were
|
|
||||||
* poll/select. In that case SO_ERROR will return 0 making
|
|
||||||
* it appear that the connection has been established.
|
|
||||||
* To avoid any race conditions we therefore grab the
|
|
||||||
* fd lock, check if the socket has been closed, and
|
|
||||||
* set the various fields whilst holding the lock
|
|
||||||
*/
|
|
||||||
fdLock = (*env)->GetObjectField(env, this, psi_fdLockID);
|
|
||||||
(*env)->MonitorEnter(env, fdLock);
|
|
||||||
|
|
||||||
if ((*env)->GetBooleanField(env, this, psi_closePendingID)) {
|
|
||||||
|
|
||||||
/* release fdLock */
|
|
||||||
(*env)->MonitorExit(env, fdLock);
|
|
||||||
|
|
||||||
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
|
|
||||||
"Socket closed");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
(*env)->SetIntField(env, fdObj, IO_fd_fdID, fd);
|
(*env)->SetIntField(env, fdObj, IO_fd_fdID, fd);
|
||||||
|
|
||||||
/* set the remote peer address and port */
|
/* set the remote peer address and port */
|
||||||
|
@ -536,11 +515,6 @@ Java_java_net_PlainSocketImpl_socketConnect(JNIEnv *env, jobject this,
|
||||||
(*env)->SetIntField(env, this, psi_localportID, localport);
|
(*env)->SetIntField(env, this, psi_localportID, localport);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Finally release fdLock
|
|
||||||
*/
|
|
||||||
(*env)->MonitorExit(env, fdLock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue