aboutsummaryrefslogtreecommitdiffstats
path: root/testing/openjdk8/icedtea-jdk-fix-ipv6-init.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-08-17 20:08:39 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-08-18 11:16:36 +0200
commit166ad0377b8e939f7777c85b4a791ae53969a42b (patch)
tree4f5c7386e463f17115f62bceb25e8d3bd9f84ef7 /testing/openjdk8/icedtea-jdk-fix-ipv6-init.patch
parent33696ff4c4f593b5c06bafac16d6206c4c591eea (diff)
downloadaports-166ad0377b8e939f7777c85b4a791ae53969a42b.tar.gz
aports-166ad0377b8e939f7777c85b4a791ae53969a42b.tar.bz2
aports-166ad0377b8e939f7777c85b4a791ae53969a42b.tar.xz
testing/openjdk8: new aport
ref #4515 openjdk8 and openjdk7 cannot coexist currently due to automatic so dependencies. both packages should be fixed to not provide conflicting so deps (or maybe needs abuild change?)
Diffstat (limited to 'testing/openjdk8/icedtea-jdk-fix-ipv6-init.patch')
-rw-r--r--testing/openjdk8/icedtea-jdk-fix-ipv6-init.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/openjdk8/icedtea-jdk-fix-ipv6-init.patch b/testing/openjdk8/icedtea-jdk-fix-ipv6-init.patch
new file mode 100644
index 0000000000..11f3bf6dd6
--- /dev/null
+++ b/testing/openjdk8/icedtea-jdk-fix-ipv6-init.patch
@@ -0,0 +1,42 @@
+--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c
+@@ -561,7 +561,7 @@
+
+ static struct localinterface *localifs = 0;
+ static int localifsSize = 0; /* size of array */
+-static int nifs = 0; /* number of entries used in array */
++static int nifs = -1; /* number of entries used in array */
+
+ /* not thread safe: make sure called once from one thread */
+
+@@ -573,6 +573,10 @@
+ int index, x1, x2, x3;
+ unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf;
+
++ if (nifs >= 0)
++ return ;
++ nifs = 0;
++
+ if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) {
+ return ;
+ }
+@@ -601,7 +605,7 @@
+ localifs = (struct localinterface *) realloc (
+ localifs, sizeof (struct localinterface)* (localifsSize+5));
+ if (localifs == 0) {
+- nifs = 0;
++ nifs = -1;
+ fclose (f);
+ return;
+ }
+@@ -624,9 +628,7 @@
+ static int getLocalScopeID (char *addr) {
+ struct localinterface *lif;
+ int i;
+- if (localifs == 0) {
+- initLocalIfs();
+- }
++ initLocalIfs();
+ for (i=0, lif=localifs; i<nifs; i++, lif++) {
+ if (memcmp (addr, lif->localaddr, 16) == 0) {
+ return lif->index;