8134537: Much nearly duplicated code for sun.misc.Signal support

Merged jvm_<os>.cpp into jvm_posix.cpp

Reviewed-by: dholmes, stuefe
This commit is contained in:
Coleen Phillimore 2018-05-18 08:47:42 -04:00
parent 87ca9d07df
commit ab469d40fc
14 changed files with 32 additions and 400 deletions

View file

@ -425,18 +425,6 @@ extern "C" void breakpoint() {
debug_only(static bool signal_sets_initialized = false);
static sigset_t unblocked_sigs, vm_sigs;
bool os::Linux::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;
}
}
void os::Linux::signal_sets_init() {
// Should also have an assertion stating we are still single-threaded.
assert(!signal_sets_initialized, "Already initialized");
@ -464,13 +452,13 @@ void os::Linux::signal_sets_init() {
sigaddset(&unblocked_sigs, SR_signum);
if (!ReduceSignalUsage) {
if (!os::Linux::is_sig_ignored(SHUTDOWN1_SIGNAL)) {
if (!os::Posix::is_sig_ignored(SHUTDOWN1_SIGNAL)) {
sigaddset(&unblocked_sigs, SHUTDOWN1_SIGNAL);
}
if (!os::Linux::is_sig_ignored(SHUTDOWN2_SIGNAL)) {
if (!os::Posix::is_sig_ignored(SHUTDOWN2_SIGNAL)) {
sigaddset(&unblocked_sigs, SHUTDOWN2_SIGNAL);
}
if (!os::Linux::is_sig_ignored(SHUTDOWN3_SIGNAL)) {
if (!os::Posix::is_sig_ignored(SHUTDOWN3_SIGNAL)) {
sigaddset(&unblocked_sigs, SHUTDOWN3_SIGNAL);
}
}