提交 8da41030 编写于 作者: S simonis

8035881: PPC64: Fix AIX build in ppc-aix-port/stage after syncing 7133499 and 8028293 from jdk8u

Reviewed-by: alanb
上级 52b2c472
...@@ -120,7 +120,7 @@ ifeq ($(OPENJDK_TARGET_OS), aix) ...@@ -120,7 +120,7 @@ ifeq ($(OPENJDK_TARGET_OS), aix)
BUILD_LIBNIO_FILES += \ BUILD_LIBNIO_FILES += \
AixPollPort.c \ AixPollPort.c \
InheritedChannel.c \ InheritedChannel.c \
NativeThread.c \ AixNativeThread.c \
PollArrayWrapper.c \ PollArrayWrapper.c \
UnixAsynchronousServerSocketChannelImpl.c \ UnixAsynchronousServerSocketChannelImpl.c \
UnixAsynchronousSocketChannelImpl.c \ UnixAsynchronousSocketChannelImpl.c \
......
/*
* 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 <sys/types.h>
#include <string.h>
#include "jni.h"
#include "jni_util.h"
#include "jvm.h"
#include "jlong.h"
#include "sun_nio_ch_NativeThread.h"
#include <pthread.h>
#include <sys/signal.h>
/* 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");
}
...@@ -182,6 +182,7 @@ package.access=sun.,\ ...@@ -182,6 +182,7 @@ package.access=sun.,\
com.sun.istack.internal.,\ com.sun.istack.internal.,\
com.sun.jmx.,\ com.sun.jmx.,\
com.sun.media.sound.,\ com.sun.media.sound.,\
com.sun.naming.internal.,\
com.sun.proxy.,\ com.sun.proxy.,\
com.sun.corba.se.,\ com.sun.corba.se.,\
com.sun.org.apache.bcel.internal.,\ com.sun.org.apache.bcel.internal.,\
...@@ -205,7 +206,7 @@ package.access=sun.,\ ...@@ -205,7 +206,7 @@ package.access=sun.,\
com.sun.org.glassfish.,\ com.sun.org.glassfish.,\
com.oracle.xmlns.internal.,\ com.oracle.xmlns.internal.,\
com.oracle.webservices.internal.,\ com.oracle.webservices.internal.,\
oracle.jrockit.jfr.,\ oracle.jrockit.jfr.,\
org.jcp.xml.dsig.internal.,\ org.jcp.xml.dsig.internal.,\
jdk.internal.,\ jdk.internal.,\
jdk.nashorn.internal.,\ jdk.nashorn.internal.,\
...@@ -228,6 +229,7 @@ package.definition=sun.,\ ...@@ -228,6 +229,7 @@ package.definition=sun.,\
com.sun.istack.internal.,\ com.sun.istack.internal.,\
com.sun.jmx.,\ com.sun.jmx.,\
com.sun.media.sound.,\ com.sun.media.sound.,\
com.sun.naming.internal.,\
com.sun.proxy.,\ com.sun.proxy.,\
com.sun.corba.se.,\ com.sun.corba.se.,\
com.sun.org.apache.bcel.internal.,\ com.sun.org.apache.bcel.internal.,\
...@@ -251,7 +253,7 @@ package.definition=sun.,\ ...@@ -251,7 +253,7 @@ package.definition=sun.,\
com.sun.org.glassfish.,\ com.sun.org.glassfish.,\
com.oracle.xmlns.internal.,\ com.oracle.xmlns.internal.,\
com.oracle.webservices.internal.,\ com.oracle.webservices.internal.,\
oracle.jrockit.jfr.,\ oracle.jrockit.jfr.,\
org.jcp.xml.dsig.internal.,\ org.jcp.xml.dsig.internal.,\
jdk.internal.,\ jdk.internal.,\
jdk.nashorn.internal.,\ jdk.nashorn.internal.,\
...@@ -494,4 +496,3 @@ jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024 ...@@ -494,4 +496,3 @@ jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
# #
# Example: # Example:
# jdk.tls.disabledAlgorithms=MD5, SHA1, DSA, RSA keySize < 2048 # jdk.tls.disabledAlgorithms=MD5, SHA1, DSA, RSA keySize < 2048
...@@ -55,6 +55,14 @@ public final class PortConfig { ...@@ -55,6 +55,14 @@ public final class PortConfig {
} else if (os.contains("OS X")) { } else if (os.contains("OS X")) {
defaultLower = 49152; defaultLower = 49152;
defaultUpper = 65535; defaultUpper = 65535;
} else if (os.startsWith("AIX")) {
// The ephemeral port is OS version dependent on AIX:
// http://publib.boulder.ibm.com/infocenter/aix/v7r1/topic/com.ibm.aix.rsct315.admin/bl503_ephport.htm
// However, on AIX 5.3 / 6.1 / 7.1 we always see the
// settings below by using:
// /usr/sbin/no -a | fgrep ephemeral
defaultLower = 32768;
defaultUpper = 65535;
} else { } else {
throw new InternalError( throw new InternalError(
"sun.net.PortConfig: unknown OS"); "sun.net.PortConfig: unknown OS");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册