--- old/src/hotspot/os/windows/os_windows.cpp 2018-05-18 08:57:09.760305040 -0400 +++ new/src/hotspot/os/windows/os_windows.cpp 2018-05-18 08:57:09.362268135 -0400 @@ -1993,7 +1993,7 @@ static volatile jint pending_signals[NSIG+1] = { 0 }; static Semaphore* sig_sem = NULL; -void os::signal_init_pd() { +static void jdk_misc_signal_init() { // Initialize signal structures memset((void*)pending_signals, 0, sizeof(pending_signals)); @@ -2014,10 +2014,8 @@ // the CTRL-BREAK thread dump mechanism is also disabled in this // case. See bugs 4323062, 4345157, and related bugs. - if (!ReduceSignalUsage) { - // Add a CTRL-C handler - SetConsoleCtrlHandler(consoleHandler, TRUE); - } + // Add a CTRL-C handler + SetConsoleCtrlHandler(consoleHandler, TRUE); } void os::signal_notify(int sig) { @@ -2025,7 +2023,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"); } @@ -4132,6 +4130,11 @@ SymbolEngine::recalc_search_path(); + // Initialize data for jdk.internal.misc.Signal + if (!ReduceSignalUsage) { + jdk_misc_signal_init(); + } + return JNI_OK; }