< prev index next >

src/java.base/unix/native/libnet/PlainSocketImpl.c

Print this page

        

*** 41,51 **** jfieldID psi_ipaddressID; jfieldID psi_portID; jfieldID psi_localportID; jfieldID psi_timeoutID; jfieldID psi_trafficClassID; - jfieldID psi_serverSocketID; jfieldID psi_fdLockID; jfieldID psi_closePendingID; extern void setDefaultScopeID(JNIEnv *env, struct sockaddr *him); --- 41,50 ----
*** 126,138 **** CHECK_NULL(psi_localportID); psi_timeoutID = (*env)->GetFieldID(env, cls, "timeout", "I"); CHECK_NULL(psi_timeoutID); psi_trafficClassID = (*env)->GetFieldID(env, cls, "trafficClass", "I"); CHECK_NULL(psi_trafficClassID); - psi_serverSocketID = (*env)->GetFieldID(env, cls, "serverSocket", - "Ljava/net/ServerSocket;"); - CHECK_NULL(psi_serverSocketID); psi_fdLockID = (*env)->GetFieldID(env, cls, "fdLock", "Ljava/lang/Object;"); CHECK_NULL(psi_fdLockID); psi_closePendingID = (*env)->GetFieldID(env, cls, "closePending", "Z"); CHECK_NULL(psi_closePendingID); --- 125,134 ----
*** 154,167 **** static jclass socketExceptionCls; /* * Class: java_net_PlainSocketImpl * Method: socketCreate ! * Signature: (Z)V */ JNIEXPORT void JNICALL Java_java_net_PlainSocketImpl_socketCreate(JNIEnv *env, jobject this, ! jboolean stream) { jobject fdObj, ssObj; int fd; int type = (stream ? SOCK_STREAM : SOCK_DGRAM); int domain = ipv6_available() ? AF_INET6 : AF_INET; --- 150,163 ---- static jclass socketExceptionCls; /* * Class: java_net_PlainSocketImpl * Method: socketCreate ! * Signature: (ZZ)V */ JNIEXPORT void JNICALL Java_java_net_PlainSocketImpl_socketCreate(JNIEnv *env, jobject this, ! jboolean stream, jboolean server) { jobject fdObj, ssObj; int fd; int type = (stream ? SOCK_STREAM : SOCK_DGRAM); int domain = ipv6_available() ? AF_INET6 : AF_INET;
*** 200,211 **** /* * If this is a server socket then enable SO_REUSEADDR * automatically and set to non blocking. */ ! ssObj = (*env)->GetObjectField(env, this, psi_serverSocketID); ! if (ssObj != NULL) { int arg = 1; SET_NONBLOCKING(fd); if (NET_SetSockOpt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&arg, sizeof(arg)) < 0) { NET_ThrowNew(env, errno, "cannot set SO_REUSEADDR"); --- 196,206 ---- /* * If this is a server socket then enable SO_REUSEADDR * automatically and set to non blocking. */ ! if (server) { int arg = 1; SET_NONBLOCKING(fd); if (NET_SetSockOpt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&arg, sizeof(arg)) < 0) { NET_ThrowNew(env, errno, "cannot set SO_REUSEADDR");
< prev index next >