diff options
Diffstat (limited to 'source3/winbindd/winbindd_dual.c')
-rw-r--r-- | source3/winbindd/winbindd_dual.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c index c320e96746..d40bab94ef 100644 --- a/source3/winbindd/winbindd_dual.c +++ b/source3/winbindd/winbindd_dual.c @@ -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); @@ -1354,7 +1360,7 @@ static bool fork_domain_child(struct winbindd_child *child) } if (child->domain && child->domain->primary && - !lp_use_kerberos_keytab() && + !USE_KERBEROS_KEYTAB && lp_server_role() == ROLE_DOMAIN_MEMBER) { struct timeval next_change; @@ -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; |