diff options
Diffstat (limited to 'source3/nsswitch/winbindd_cm.c')
-rw-r--r-- | source3/nsswitch/winbindd_cm.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/source3/nsswitch/winbindd_cm.c b/source3/nsswitch/winbindd_cm.c index 2f913081e8..cd9947d90e 100644 --- a/source3/nsswitch/winbindd_cm.c +++ b/source3/nsswitch/winbindd_cm.c @@ -434,10 +434,18 @@ void set_domain_online_request(struct winbindd_domain *domain) DEBUG(10,("set_domain_online_request: domain %s was globally offline.\n", domain->name )); + domain->check_online_event = event_add_timed( + winbind_event_context(), NULL, tev, + "check_domain_online_handler", + check_domain_online_handler, + domain); + + /* The above *has* to succeed for winbindd to work. */ + if (!domain->check_online_event) { + smb_panic("set_domain_online_request: failed to add online handler.\n"); + } } - TALLOC_FREE(domain->check_online_event); - GetTimeOfDay(&tev); /* Go into "startup" mode again. */ @@ -446,16 +454,7 @@ void set_domain_online_request(struct winbindd_domain *domain) tev.tv_sec += 5; - domain->check_online_event = event_add_timed( - winbind_event_context(), NULL, tev, - "check_domain_online_handler", - check_domain_online_handler, - domain); - - /* The above *has* to succeed for winbindd to work. */ - if (!domain->check_online_event) { - smb_panic("set_domain_online_request: failed to add online handler.\n"); - } + set_event_dispatch_time(winbind_event_context(), "check_domain_online_handler", tev); } /**************************************************************** |