jdk/src/java.base/windows/native/libnio/ch/Net.c
changeset 27178 885f4428b501
parent 26207 a02f6165d5be
child 32232 8d58fc5a0349
equal deleted inserted replaced
27177:3717db2c3bfe 27178:885f4428b501
   125     return JNI_FALSE;
   125     return JNI_FALSE;
   126 }
   126 }
   127 
   127 
   128 JNIEXPORT jint JNICALL
   128 JNIEXPORT jint JNICALL
   129 Java_sun_nio_ch_Net_socket0(JNIEnv *env, jclass cl, jboolean preferIPv6,
   129 Java_sun_nio_ch_Net_socket0(JNIEnv *env, jclass cl, jboolean preferIPv6,
   130                             jboolean stream, jboolean reuse)
   130                             jboolean stream, jboolean reuse, jboolean fastLoopback)
   131 {
   131 {
   132     SOCKET s;
   132     SOCKET s;
   133     int domain = (preferIPv6) ? AF_INET6 : AF_INET;
   133     int domain = (preferIPv6) ? AF_INET6 : AF_INET;
   134 
   134 
   135     s = socket(domain, (stream ? SOCK_STREAM : SOCK_DGRAM), 0);
   135     s = socket(domain, (stream ? SOCK_STREAM : SOCK_DGRAM), 0);
   148             setConnectionReset(s, FALSE);
   148             setConnectionReset(s, FALSE);
   149         }
   149         }
   150 
   150 
   151     } else {
   151     } else {
   152         NET_ThrowNew(env, WSAGetLastError(), "socket");
   152         NET_ThrowNew(env, WSAGetLastError(), "socket");
       
   153     }
       
   154 
       
   155     if (stream && fastLoopback) {
       
   156         static int loopback_available = 1;
       
   157         if (loopback_available) {
       
   158             int rv = NET_EnableFastTcpLoopback((jint)s);
       
   159             if (rv) {
       
   160                 if (rv == WSAEOPNOTSUPP) {
       
   161                     loopback_available = 0;
       
   162                 } else {
       
   163                     NET_ThrowNew(env, rv, "fastLoopback");
       
   164                 }
       
   165             }
       
   166         }
   153     }
   167     }
   154 
   168 
   155     return (jint)s;
   169     return (jint)s;
   156 }
   170 }
   157 
   171