From 0032b42897c5323324dfc07b6e8332eaa3701f70 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Mon, 20 Jan 2003 23:08:18 +0000
Subject: [PATCH] Deuce's fix: sbbs no longer handles all signals (on Unix).

---
 src/sbbs3/sbbscon.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index 87cd205b1c..f38241e4f8 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -780,7 +780,15 @@ static void handle_sigs(void)  {
 	sigset_t			sigs;
 	char		str[1024];
 
-	sigfillset(&sigs);
+	/* Set up blocked signals */
+	sigemptyset(&sigs);
+	sigaddset(&sigs,SIGINT);
+	sigaddset(&sigs,SIGQUIT);
+	sigaddset(&sigs,SIGABRT);
+	sigaddset(&sigs,SIGTERM);
+	sigaddset(&sigs,SIGHUP);
+	sigaddset(&sigs,SIGALRM);
+	sigaddset(&sigs,SIGPIPE);
 	pthread_sigmask(SIG_BLOCK,&sigs,NULL);
 	while(1)  {
 		sigwait(&sigs,&sig);    /* wait here until signaled */
@@ -1363,9 +1371,6 @@ int main(int argc, char** argv)
 	sigaddset(&sigs,SIGHUP);
 	sigaddset(&sigs,SIGALRM);
 	sigaddset(&sigs,SIGPIPE);
-	sigaddset(&sigs,SIGHUP);
-	/* Debugging purposes ONLY */
-	sigfillset(&sigs);
 	pthread_sigmask(SIG_BLOCK,&sigs,NULL);
     signal(SIGALRM, SIG_IGN);       /* Ignore "Alarm" signal */
 	_beginthread((void(*)(void*))handle_sigs,0,NULL);
-- 
GitLab