--- a/src/hotspot/os/linux/os_linux.cpp Fri May 18 12:45:05 2018 -0700
+++ b/src/hotspot/os/linux/os_linux.cpp Fri May 18 15:56:42 2018 -0400
@@ -2520,7 +2520,7 @@
static Semaphore* sig_sem = NULL;
static PosixSemaphore sr_semaphore;
-void os::signal_init_pd() {
+static void jdk_misc_signal_init() {
// Initialize signal structures
::memset((void*)pending_signals, 0, sizeof(pending_signals));
@@ -2533,7 +2533,7 @@
Atomic::inc(&pending_signals[sig]);
sig_sem->signal();
} else {
- // Signal thread is not created with ReduceSignalUsage and signal_init_pd
+ // Signal thread is not created with ReduceSignalUsage and jdk_misc_signal_init
// initialization isn't called.
assert(ReduceSignalUsage, "signal semaphore should be created");
}
@@ -4444,7 +4444,7 @@
void* ucontext,
int abort_if_unrecognized);
-void signalHandler(int sig, siginfo_t* info, void* uc) {
+static void signalHandler(int sig, siginfo_t* info, void* uc) {
assert(info != NULL && uc != NULL, "it must be old kernel");
int orig_errno = errno; // Preserve errno value over signal handler.
JVM_handle_linux_signal(sig, info, uc, true);
@@ -4992,6 +4992,10 @@
Linux::signal_sets_init();
Linux::install_signal_handlers();
+ // Initialize data for jdk.internal.misc.Signal
+ if (!ReduceSignalUsage) {
+ jdk_misc_signal_init();
+ }
// Check and sets minimum stack sizes against command line options
if (Posix::set_minimum_stack_sizes() == JNI_ERR) {