# HG changeset patch # User clanger # Date 1475153906 -7200 # Node ID e139c1cb033a4408ae9acaadcc9799807ed323e1 # Parent 855ac576eb77b89445da2db5f275766be1c15509 8166866: (ch) Remove AIX specific implementation file java.base/aix/native/libnio/ch/AixNativeThread.c Reviewed-by: simonis, chegar, alanb diff -r 855ac576eb77 -r e139c1cb033a jdk/make/lib/NioLibraries.gmk --- a/jdk/make/lib/NioLibraries.gmk Thu Sep 29 14:48:07 2016 +0200 +++ b/jdk/make/lib/NioLibraries.gmk Thu Sep 29 14:58:26 2016 +0200 @@ -53,12 +53,7 @@ endif ifeq ($(OPENJDK_TARGET_OS), aix) - BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) - BUILD_LIBNIO_EXFILES += \ - /NativeThread.c - # Notice: we really need the leading slash here because otherwise every - # FILE_NAME in EXCLUDE_FILES will actually match any file ending in FILE_NAME - # (e.g. 'NativeThread.c' will also exclude 'AixNativeThread.c'). + BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) endif $(eval $(call SetupNativeCompilation,BUILD_LIBNIO, \ diff -r 855ac576eb77 -r e139c1cb033a jdk/src/java.base/aix/native/libnio/ch/AixNativeThread.c --- a/jdk/src/java.base/aix/native/libnio/ch/AixNativeThread.c Thu Sep 29 14:48:07 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2002, 2014, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#include -#include -#include "jni.h" -#include "jni_util.h" -#include "jvm.h" -#include "jlong.h" -#include "sun_nio_ch_NativeThread.h" - -#include -#include - -/* Also defined in src/aix/native/java/net/aix_close.c */ -#define INTERRUPT_SIGNAL (SIGRTMAX - 1) - -static void -nullHandler(int sig) -{ -} - - -JNIEXPORT void JNICALL -Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl) -{ - /* Install the null handler for INTERRUPT_SIGNAL. This might overwrite the - * handler previously installed by java/net/aix_close.c, but that's okay - * since neither handler actually does anything. We install our own - * handler here simply out of paranoia; ultimately the two mechanisms - * should somehow be unified, perhaps within the VM. - */ - - sigset_t ss; - struct sigaction sa, osa; - sa.sa_handler = nullHandler; - sa.sa_flags = 0; - sigemptyset(&sa.sa_mask); - if (sigaction(INTERRUPT_SIGNAL, &sa, &osa) < 0) - JNU_ThrowIOExceptionWithLastError(env, "sigaction"); -} - -JNIEXPORT jlong JNICALL -Java_sun_nio_ch_NativeThread_current(JNIEnv *env, jclass cl) -{ - return (long)pthread_self(); -} - -JNIEXPORT void JNICALL -Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread) -{ - if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL)) - JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed"); -} diff -r 855ac576eb77 -r e139c1cb033a jdk/src/java.base/unix/native/libnio/ch/NativeThread.c --- a/jdk/src/java.base/unix/native/libnio/ch/NativeThread.c Thu Sep 29 14:48:07 2016 +0200 +++ b/jdk/src/java.base/unix/native/libnio/ch/NativeThread.c Thu Sep 29 14:58:26 2016 +0200 @@ -37,6 +37,11 @@ #include /* Also defined in net/linux_close.c */ #define INTERRUPT_SIGNAL (__SIGRTMAX - 2) +#elif _AIX + #include + #include + /* Also defined in net/aix_close.c */ + #define INTERRUPT_SIGNAL (SIGRTMAX - 1) #elif __solaris__ #include #include @@ -59,7 +64,7 @@ Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl) { /* Install the null handler for INTERRUPT_SIGNAL. This might overwrite the - * handler previously installed by java/net/linux_close.c, but that's okay + * handler previously installed by _close.c, but that's okay * since neither handler actually does anything. We install our own * handler here simply out of paranoia; ultimately the two mechanisms * should somehow be unified, perhaps within the VM.