diff options
author | Jeremy Allison <jra@samba.org> | 2006-12-08 18:40:13 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:16:23 -0500 |
commit | 5ce139751bb77879f127dfa876cf1999717b69fc (patch) | |
tree | df7d0e13b04affc9df9ee1ed2696ba1823400115 /source3/nsswitch | |
parent | 5be92d0d1866b483ee7e9599b691044f4059ea3f (diff) | |
download | samba-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')
-rw-r--r-- | source3/nsswitch/winbindd_dual.c | 10 |
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; |