--- old/src/hotspot/os/posix/os_posix.cpp 2018-05-17 15:55:05.076643748 -0400 +++ new/src/hotspot/os/posix/os_posix.cpp 2018-05-17 15:55:04.757614135 -0400 @@ -926,6 +926,18 @@ #endif } +bool os::Posix::is_sig_ignored(int sig) { + struct sigaction oact; + sigaction(sig, (struct sigaction*)NULL, &oact); + void* ohlr = oact.sa_sigaction ? CAST_FROM_FN_PTR(void*, oact.sa_sigaction) + : CAST_FROM_FN_PTR(void*, oact.sa_handler); + if (ohlr == CAST_FROM_FN_PTR(void*, SIG_IGN)) { + return true; + } else { + return false; + } +} + // Returns: // NULL for an invalid signal number // "SIG" for a valid but unknown signal number