From 1c460025f24e3fca18d6d4c3160d21909c1fbf9f Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Tue, 10 Sep 2002 23:28:58 +0000
Subject: [PATCH] Fix funky linux signal handling with threads.

---
 src/slurmctld/controller.c | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index 6b130b6730c..ea14a004481 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -155,7 +155,7 @@ main (int argc, char *argv[])
 	 * create attached thread signal handling
 	 */
 	if (pthread_attr_init (&thread_attr_sig))
-		fatal ("thread_attr_sig %m");
+		fatal ("pthread_attr_init error %m");
 #ifdef PTHREAD_SCOPE_SYSTEM
 	/* we want 1:1 threads if there is a choice */
 	pthread_attr_setscope (&thread_attr_sig, PTHREAD_SCOPE_SYSTEM);
@@ -196,15 +196,8 @@ slurmctld_signal_hand ( void * no_data )
 	(void) pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
 	info ("Send signals to slurmctld_signal_hand, pid = %u", getpid ());
 
-	/* just watch for select signals */
-	if (sigemptyset (&set))
-		error ("sigemptyset error: %m");
-	if (sigaddset (&set, SIGHUP))
-		error ("sigaddset error on SIGHUP: %m");
-	if (sigaddset (&set, SIGINT))
-		error ("sigaddset error on SIGINT: %m");
-	if (sigaddset (&set, SIGTERM))
-		error ("sigaddset error on SIGTERM: %m");
+	if (sigfillset (&set))
+		error ("sigfillset error: %m");
 
 	if (sigprocmask (SIG_BLOCK, &set, NULL) != 0)
 		fatal ("sigprocmask error: %m");
-- 
GitLab