< 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 >