changeset 4569:5955b411cfb4 HEAD

Set SIGCHLD handler in init, not in preinit when lib_signals_init() hasn't yet been called.
author Timo Sirainen <tss@iki.fi>
date Fri, 11 Aug 2006 18:09:38 +0300
parents 7661242c3bb6
children cbbe2377f591
files src/auth/passdb-checkpassword.c src/auth/passdb-pam.c
diffstat 2 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/passdb-checkpassword.c	Fri Aug 11 04:12:05 2006 +0300
+++ b/src/auth/passdb-checkpassword.c	Fri Aug 11 18:09:38 2006 +0300
@@ -393,6 +393,12 @@
 	return &module->module;
 }
 
+static void checkpassword_init(struct passdb_module *_module __attr_unused__,
+			       const char *args __attr_unused__)
+{
+	lib_signals_set_handler(SIGCHLD, TRUE, sigchld_handler, NULL);
+}
+
 static void checkpassword_deinit(struct passdb_module *_module)
 {
 	struct checkpassword_passdb_module *module =
@@ -415,7 +421,7 @@
 	"checkpassword",
 
 	checkpassword_preinit,
-	NULL,
+	checkpassword_init,
 	checkpassword_deinit,
 
 	checkpassword_verify_plain,
--- a/src/auth/passdb-pam.c	Fri Aug 11 04:12:05 2006 +0300
+++ b/src/auth/passdb-pam.c	Fri Aug 11 18:09:38 2006 +0300
@@ -471,6 +471,12 @@
 	return &module->module;
 }
 
+static void pam_init(struct passdb_module *_module __attr_unused__,
+		     const char *args __attr_unused__)
+{
+	lib_signals_set_handler(SIGCHLD, TRUE, sigchld_handler, NULL);
+}
+
 static void pam_deinit(struct passdb_module *_module __attr_unused__)
 {
 	lib_signals_unset_handler(SIGCHLD, sigchld_handler, NULL);
@@ -480,7 +486,7 @@
 	"pam",
 
 	pam_preinit,
-	NULL,
+	pam_init,
 	pam_deinit,
 
 	pam_verify_plain,