Lines Matching refs:signo
191 void Claim(int signo) { in Claim() argument
193 Register(signo); in Claim()
199 void Register(int signo) { in Register() argument
212 linked_sigaction64(signo, &handler_action, &action_); in Register()
214 linked_sigaction(signo, &handler_action, &action_); in Register()
275 static void Handler(int signo, siginfo_t* siginfo, void*);
291 void SignalChain::Handler(int signo, siginfo_t* siginfo, void* ucontext_raw) { in Handler() argument
295 for (const auto& handler : chains[signo].special_handlers_) { in Handler()
312 if (handler.sc_sigaction(signo, siginfo, ucontext_raw)) { in Handler()
321 int handler_flags = chains[signo].action_.sa_flags; in Handler()
325 sigorset(&mask, &ucontext->uc_sigmask64, &chains[signo].action_.sa_mask); in Handler()
328 sigorset(&mask, &ucontext->uc_sigmask, &chains[signo].action_.sa_mask); in Handler()
331 sigaddset(&mask, signo); in Handler()
341 chains[signo].action_.sa_sigaction(signo, siginfo, ucontext_raw); in Handler()
343 auto handler = chains[signo].action_.sa_handler; in Handler()
347 fatal("exiting due to SIG_DFL handler for signal %d", signo); in Handler()
349 handler(signo); in Handler()
398 extern "C" sighandler_t signal(int signo, sighandler_t handler) { in signal() argument
401 if (signo <= 0 || signo >= _NSIG) { in signal()
414 if (chains[signo].IsClaimed()) { in signal()
416 chains[signo].GetAction<struct sigaction>().sa_handler); in signal()
417 chains[signo].SetAction(&sa); in signal()
423 if (linked_sigaction(signo, &sa, &sa) == -1) { in signal()
431 extern "C" sighandler_t bsd_signal(int signo, sighandler_t handler) { in bsd_signal() argument
434 return signal(signo, handler); in bsd_signal()