s3:winbindd: handle SIG_TERM, SIGHUP, SIGCHLD and SIGUSR2 via tevent
[metze/samba/wip.git] / source3 / winbindd / winbindd_dual.c
index c320e967469bee1b437fdc3ae408a0b3c78bfdd5..1385c76bae497a09ff94de217018d836c5daeff9 100644 (file)
@@ -1160,6 +1160,12 @@ bool winbindd_reinit_after_fork(const char *logfilename)
                reopen_logs();
        }
 
+       if (!winbindd_setup_sig_term_handler(false))
+               return false;
+       if (!winbindd_setup_sig_hup_handler(override_logfile ? NULL :
+                                           logfilename))
+               return false;
+
        /* Don't handle the same messages as our parent. */
        messaging_deregister(winbind_messaging_context(),
                             MSG_SMB_CONF_UPDATED, NULL);
@@ -1379,11 +1385,6 @@ static bool fork_domain_child(struct winbindd_child *child)
                struct timeval now;
                TALLOC_CTX *frame = talloc_stackframe();
 
-               /* check for signals */
-               winbind_check_sigterm(false);
-               winbind_check_sighup(override_logfile ? NULL :
-                               child->logfilename);
-
                if (run_events(winbind_event_context(), 0, NULL, NULL)) {
                        TALLOC_FREE(frame);
                        continue;