--- a/jdk/src/java.base/share/native/libnet/net_util.c Tue Feb 23 09:49:04 2016 +0100
+++ b/jdk/src/java.base/share/native/libnet/net_util.c Tue Feb 23 17:41:00 2016 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -29,14 +29,21 @@
#include "net_util.h"
int IPv6_supported() ;
+int reuseport_supported() ;
static int IPv6_available;
+static int REUSEPORT_available;
JNIEXPORT jint JNICALL ipv6_available()
{
return IPv6_available ;
}
+JNIEXPORT jint JNICALL reuseport_available()
+{
+ return REUSEPORT_available;
+}
+
JNIEXPORT jint JNICALL
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
{
@@ -45,7 +52,6 @@
jmethodID mid;
jstring s;
jint preferIPv4Stack;
-
if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_2) != JNI_OK) {
return JNI_EVERSION; /* JNI version not supported */
}
@@ -64,6 +70,9 @@
supporting socket APIs are available
*/
IPv6_available = IPv6_supported() & (!preferIPv4Stack);
+
+ /* check if SO_REUSEPORT is supported on this platform */
+ REUSEPORT_available = reuseport_supported();
platformInit();
parseExclusiveBindProperty(env);