Lines Matching defs:sig

527 bool os::Linux::is_sig_ignored(int sig) {
529 sigaction(sig, (struct sigaction*)NULL, &oact);
2306 static void print_signal_handler(outputStream* st, int sig,
2421 UserHandler(int sig, void *siginfo, void *context) {
2425 if (sig == SIGINT && Atomic::add(1, &sigint_count) > 1)
2430 if (sig == SIGINT && is_error_reported()) {
2434 os::signal_notify(sig);
2541 void os::signal_notify(int sig) {
2542 Atomic::inc(&pending_signals[sig]);
3755 static void SR_handler(int sig, siginfo_t* siginfo, ucontext_t* context) {
3813 int sig = ::strtol(s, 0, 10);
3814 if (sig > 0 || sig < _NSIG) {
3815 SR_signum = sig;
4003 void signalHandler(int sig, siginfo_t* info, void* uc) {
4005 JVM_handle_linux_signal(sig, info, uc, true);
4020 struct sigaction* os::Linux::get_chained_signal_action(int sig) {
4025 actp = (*get_signal_action)(sig);
4029 actp = get_preinstalled_handler(sig);
4035 static bool call_chained_handler(struct sigaction *actp, int sig,
4045 sigaddset(&(actp->sa_mask), sig);
4068 (*sa)(sig, siginfo, context);
4070 (*hand)(sig);
4080 bool os::Linux::chained_handler(int sig, siginfo_t* siginfo, void* context) {
4084 struct sigaction *actp = get_chained_signal_action(sig);
4086 chained = call_chained_handler(actp, sig, siginfo, context);
4092 struct sigaction* os::Linux::get_preinstalled_handler(int sig) {
4093 if ((( (unsigned int)1 << sig ) & sigs) != 0) {
4094 return &sigact[sig];
4099 void os::Linux::save_preinstalled_handler(int sig, struct sigaction& oldAct) {
4100 assert(sig > 0 && sig < MAXSIGNUM, "vm signal out of expected range");
4101 sigact[sig] = oldAct;
4102 sigs |= (unsigned int)1 << sig;
4108 int os::Linux::get_our_sigflags(int sig) {
4109 assert(sig > 0 && sig < MAXSIGNUM, "vm signal out of expected range");
4110 return sigflags[sig];
4113 void os::Linux::set_our_sigflags(int sig, int flags) {
4114 assert(sig > 0 && sig < MAXSIGNUM, "vm signal out of expected range");
4115 sigflags[sig] = flags;
4118 void os::Linux::set_signal_handler(int sig, bool set_installed) {
4121 sigaction(sig, (struct sigaction*)NULL, &oldAct);
4134 save_preinstalled_handler(sig, oldAct);
4139 "%#lx for signal %d.", (long)oldhand, sig));
4153 assert(sig > 0 && sig < MAXSIGNUM, "vm signal out of expected range");
4154 sigflags[sig] = sigAct.sa_flags;
4156 int ret = sigaction(sig, &sigAct, &oldAct);
4266 static void print_signal_handler(outputStream* st, int sig,
4270 sigaction(sig, NULL, &sa);
4275 st->print("%s: ", os::exception_name(sig, buf, buflen));
4291 address rh = VMError::get_resetted_sighandler(sig);
4295 sa.sa_flags = VMError::get_resetted_sigflags(sig) & SIGNIFICANT_SIGNAL_MASK;
4305 if((int)sa.sa_flags != os::Linux::get_our_sigflags(sig)) {
4308 os::Linux::get_our_sigflags(sig));
4315 #define DO_SIGNAL_CHECK(sig) \
4316 if (!sigismember(&check_signal_done, sig)) \
4317 os::Linux::check_signal_handler(sig)
4355 void os::Linux::check_signal_handler(int sig) {
4367 os_sigaction(sig, (struct sigaction*)NULL, &act);
4377 switch(sig) {
4399 if (sig == SR_signum) {
4408 tty->print("Warning: %s handler ", exception_name(sig, buf, O_BUFLEN));
4411 // No need to check this sig any longer
4412 sigaddset(&check_signal_done, sig);
4413 } else if(os::Linux::get_our_sigflags(sig) != 0 && (int)act.sa_flags != os::Linux::get_our_sigflags(sig)) {
4414 tty->print("Warning: %s handler flags ", exception_name(sig, buf, O_BUFLEN));
4415 tty->print("expected:" PTR32_FORMAT, os::Linux::get_our_sigflags(sig));
4417 // No need to check this sig any longer
4418 sigaddset(&check_signal_done, sig);
4422 if (sigismember(&check_signal_done, sig)) {