< prev index next >

src/java.base/unix/native/libnio/ch/Net.c

Print this page

        

@@ -201,19 +201,27 @@
 #else
     return JNI_FALSE;
 #endif
 }
 
+static int socket0(int domain, int type, int protocol) {
+    if (domain == AF_INET) {
+        errno = EAFNOSUPPORT;
+        return -1;
+    }
+    return socket(domain, type, protocol);
+}
+
 JNIEXPORT jint JNICALL
 Java_sun_nio_ch_Net_socket0(JNIEnv *env, jclass cl, jboolean preferIPv6,
                             jboolean stream, jboolean reuse, jboolean ignored)
 {
     int fd;
     int type = (stream ? SOCK_STREAM : SOCK_DGRAM);
     int domain = (ipv6_available() && preferIPv6) ? AF_INET6 : AF_INET;
 
-    fd = socket(domain, type, 0);
+    fd = socket0(domain, type, 0);
     if (fd < 0) {
         return handleSocketError(env, errno);
     }
 
     /*
< prev index next >