[pacman-dev] [PATCH 1/2] sighandler: block signals while handling SIGSEGV

Andrew Gregory andrew.gregory.8 at gmail.com
Sat Jun 8 04:12:16 UTC 2019


If we get SIGSEGV we need to bail out quickly, leaving other signals
unblocked could lead to other signal handlers getting triggered.

Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---

Signals are hard.  I'd appreciate if somebody could double check my
math on these patches.

 src/pacman/sighandler.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c
index ebcdebae..a4849a0c 100644
--- a/src/pacman/sighandler.c
+++ b/src/pacman/sighandler.c
@@ -96,7 +96,7 @@ void install_segv_handler(void)
 {
 	struct sigaction new_action;
 	new_action.sa_handler = segv_handler;
-	sigemptyset(&new_action.sa_mask);
+	sigfillset(&new_action.sa_mask);
 	new_action.sa_flags = SA_RESTART;
 	sigaction(SIGSEGV, &new_action, NULL);
 }
-- 
2.21.0


More information about the pacman-dev mailing list