< prev index next >
src/java.base/unix/native/libnio/ch/Net.c
Print this page
*** 201,219 ****
#else
return JNI_FALSE;
#endif
}
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);
if (fd < 0) {
return handleSocketError(env, errno);
}
/*
--- 201,227 ----
#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 = socket0(domain, type, 0);
if (fd < 0) {
return handleSocketError(env, errno);
}
/*
< prev index next >