summaryrefslogtreecommitdiff
path: root/source3/nsswitch/winbindd_dual.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-12-08 18:40:13 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:16:23 -0500
commit5ce139751bb77879f127dfa876cf1999717b69fc (patch)
treedf7d0e13b04affc9df9ee1ed2696ba1823400115 /source3/nsswitch/winbindd_dual.c
parent5be92d0d1866b483ee7e9599b691044f4059ea3f (diff)
downloadsamba-5ce139751bb77879f127dfa876cf1999717b69fc.tar.gz
samba-5ce139751bb77879f127dfa876cf1999717b69fc.tar.bz2
samba-5ce139751bb77879f127dfa876cf1999717b69fc.zip
r20087: Ensure we clean up any random pending events we
may have inherited from our parent in the winbindd forked child. Jeremy. (This used to be commit 0a1352f440a9d9b974ad8d571b2e48a43a15b6cc)
Diffstat (limited to 'source3/nsswitch/winbindd_dual.c')
-rw-r--r--source3/nsswitch/winbindd_dual.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/nsswitch/winbindd_dual.c b/source3/nsswitch/winbindd_dual.c
index 7a699edb25..1a1afcb404 100644
--- a/source3/nsswitch/winbindd_dual.c
+++ b/source3/nsswitch/winbindd_dual.c
@@ -845,16 +845,22 @@ static BOOL fork_domain_child(struct winbindd_child *child)
child->domain->startup_time = time(NULL);
}
+ /* Ensure we have no pending check_online events other
+ than one for this domain. */
+
for (domain = domain_list(); domain; domain = domain->next) {
if (domain != child->domain) {
- /* Ensure we have no "check_online" events pending
- that are not on this domain. */
if (domain->check_online_event) {
TALLOC_FREE(domain->check_online_event);
}
}
}
+ /* Ensure we're not handling an event inherited from
+ our parent. */
+
+ cancel_named_event("krb5_ticket_refresh_handler");
+
while (1) {
int ret;