From 02fdead24419f7ec690d2124c032e917969a814f Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 4 Jul 2019 03:25:59 +0200 Subject: [PATCH] signal: Use SA_SIGINFO (like glibc). * lib/linux/signal.c (_restorer): Rename to... (_restorer_for_siginfo): ...this. (signal): Use it. Use SA_SIGINFO. --- lib/linux/signal.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/linux/signal.c b/lib/linux/signal.c index 75352599..d2f05b6f 100644 --- a/lib/linux/signal.c +++ b/lib/linux/signal.c @@ -26,7 +26,7 @@ #if __i386__ #else void -_restorer (void) +_restorer_for_siginfo (void) { _sys_call (SYS_rt_sigreturn); } @@ -44,12 +44,12 @@ signal (int signum, sighandler_t action) unsigned short itembitcount; setup_action.sa_handler = action; - setup_action.sa_restorer = _restorer; + setup_action.sa_restorer = _restorer_for_siginfo; bitindex = signum - 1; itembitcount = 8 * sizeof(setup_action.sa_mask.items[0]); setup_action.sa_mask.items[bitindex / itembitcount] = 1UL << (bitindex % itembitcount); old.sa_handler = SIG_DFL; - setup_action.sa_flags = SA_RESTORER | SA_RESTART; + setup_action.sa_flags = SA_RESTORER | SA_RESTART | SA_SIGINFO; int r = _sys_call4 (SYS_rt_sigaction, signum, &setup_action, &old, sizeof (sigset_t)); if (r) return 0;