mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-21 00:25:50 +00:00
Implement current and signal methods for sun.nio.ch.NativeThread. Note this
fixes a test case in the following Apache Solr bug report. https://issues.apache.org/jira/browse/SOLR-6204 Reported by: Dawid Weiss <dawid.weiss@gmail.com>
This commit is contained in:
parent
2071a2004a
commit
6d8c62429c
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=359595
@ -1,6 +1,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= java devel
|
||||
PKGNAMESUFFIX= -jre
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= openjdk6
|
||||
PORTVERSION= b31
|
||||
PORTREVISION?= 3
|
||||
PORTREVISION?= 4
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= java devel
|
||||
MASTER_SITES= ${MASTER_SITE_APACHE:S,%SUBDIR%/,ant/binaries/:ant,} \
|
||||
|
@ -14576,6 +14576,57 @@
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
--- jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
+++ jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
@@ -33,12 +33,20 @@
|
||||
#include "nio_util.h"
|
||||
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
+#if defined(__linux__)
|
||||
#include <pthread.h>
|
||||
#include <sys/signal.h>
|
||||
|
||||
/* Also defined in src/solaris/native/java/net/linux_close.c */
|
||||
#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
|
||||
+#else
|
||||
+#include <pthread.h>
|
||||
+#include <signal.h>
|
||||
+
|
||||
+/* Also defined in src/solaris/native/java/net/bsd_close.c */
|
||||
+#define INTERRUPT_SIGNAL SIGIO
|
||||
+#endif
|
||||
|
||||
static void
|
||||
nullHandler(int sig)
|
||||
@@ -51,7 +59,7 @@
|
||||
JNIEXPORT void JNICALL
|
||||
Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
|
||||
/* Install the null handler for INTERRUPT_SIGNAL. This might overwrite the
|
||||
* handler previously installed by java/net/linux_close.c, but that's okay
|
||||
@@ -74,7 +82,7 @@
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_sun_nio_ch_NativeThread_current(JNIEnv *env, jclass cl)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
return (long)pthread_self();
|
||||
#else
|
||||
return -1;
|
||||
@@ -84,7 +92,7 @@
|
||||
JNIEXPORT void JNICALL
|
||||
Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL))
|
||||
JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed");
|
||||
#endif
|
||||
--- jdk/src/solaris/native/sun/nio/ch/Net.c
|
||||
+++ jdk/src/solaris/native/sun/nio/ch/Net.c
|
||||
@@ -65,17 +65,33 @@
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= openjdk
|
||||
PORTVERSION= ${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER}
|
||||
PORTREVISION= 1
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= java devel
|
||||
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/ \
|
||||
|
@ -0,0 +1,51 @@
|
||||
--- jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
+++ jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
@@ -33,12 +33,20 @@
|
||||
#include "nio_util.h"
|
||||
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
+#if defined(__linux__)
|
||||
#include <pthread.h>
|
||||
#include <sys/signal.h>
|
||||
|
||||
/* Also defined in src/solaris/native/java/net/linux_close.c */
|
||||
#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
|
||||
+#else
|
||||
+#include <pthread.h>
|
||||
+#include <signal.h>
|
||||
+
|
||||
+/* Also defined in src/solaris/native/java/net/bsd_close.c */
|
||||
+#define INTERRUPT_SIGNAL SIGIO
|
||||
+#endif
|
||||
|
||||
static void
|
||||
nullHandler(int sig)
|
||||
@@ -51,7 +59,7 @@
|
||||
JNIEXPORT void JNICALL
|
||||
Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
|
||||
/* Install the null handler for INTERRUPT_SIGNAL. This might overwrite the
|
||||
* handler previously installed by java/net/linux_close.c, but that's okay
|
||||
@@ -74,7 +82,7 @@
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_sun_nio_ch_NativeThread_current(JNIEnv *env, jclass cl)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
return (long)pthread_self();
|
||||
#else
|
||||
return -1;
|
||||
@@ -84,7 +92,7 @@
|
||||
JNIEXPORT void JNICALL
|
||||
Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL))
|
||||
JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed");
|
||||
#endif
|
@ -1,6 +1,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
PKGNAMESUFFIX= ${JDK_MAJOR_VERSION}-jre
|
||||
|
||||
COMMENT= Java Runtime Environment ${JDK_MAJOR_VERSION}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= openjdk
|
||||
PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}
|
||||
PORTREVISION?= 7
|
||||
PORTREVISION?= 8
|
||||
CATEGORIES= java devel
|
||||
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/:jdk \
|
||||
https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \
|
||||
|
@ -9882,6 +9882,57 @@
|
||||
return -1;
|
||||
}
|
||||
|
||||
--- jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
+++ jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
||||
@@ -33,12 +33,20 @@
|
||||
#include "nio_util.h"
|
||||
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
+#if defined(__linux__)
|
||||
#include <pthread.h>
|
||||
#include <sys/signal.h>
|
||||
|
||||
/* Also defined in src/solaris/native/java/net/linux_close.c */
|
||||
#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
|
||||
+#else
|
||||
+#include <pthread.h>
|
||||
+#include <signal.h>
|
||||
+
|
||||
+/* Also defined in src/solaris/native/java/net/bsd_close.c */
|
||||
+#define INTERRUPT_SIGNAL SIGIO
|
||||
+#endif
|
||||
|
||||
static void
|
||||
nullHandler(int sig)
|
||||
@@ -51,7 +59,7 @@
|
||||
JNIEXPORT void JNICALL
|
||||
Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
|
||||
/* Install the null handler for INTERRUPT_SIGNAL. This might overwrite the
|
||||
* handler previously installed by java/net/linux_close.c, but that's okay
|
||||
@@ -74,7 +82,7 @@
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_sun_nio_ch_NativeThread_current(JNIEnv *env, jclass cl)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
return (long)pthread_self();
|
||||
#else
|
||||
return -1;
|
||||
@@ -84,7 +92,7 @@
|
||||
JNIEXPORT void JNICALL
|
||||
Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
|
||||
if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL))
|
||||
JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed");
|
||||
#endif
|
||||
--- jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h
|
||||
+++ jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h
|
||||
@@ -67,7 +67,7 @@
|
||||
|
Loading…
Reference in New Issue
Block a user