diff options
Diffstat (limited to 'source3/nsswitch/winbindd.c')
-rw-r--r-- | source3/nsswitch/winbindd.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source3/nsswitch/winbindd.c b/source3/nsswitch/winbindd.c index 70875e08cb..049bc47aba 100644 --- a/source3/nsswitch/winbindd.c +++ b/source3/nsswitch/winbindd.c @@ -708,7 +708,7 @@ static void process_loop(void) struct fd_event *ev; fd_set r_fds, w_fds; int maxfd, listen_sock, listen_priv_sock, selret; - struct timeval timeout; + struct timeval timeout, ev_timeout; /* We'll be doing this a lot */ @@ -716,8 +716,10 @@ static void process_loop(void) message_dispatch(); + run_events(); + /* refresh the trusted domain cache */ - + rescan_trusted_domains(); /* Free up temporary memory */ @@ -745,6 +747,11 @@ static void process_loop(void) timeout.tv_sec = WINBINDD_ESTABLISH_LOOP; timeout.tv_usec = 0; + /* Check for any event timeouts. */ + if (get_timed_events_timeout(&ev_timeout)) { + timeout = timeval_min(&timeout, &ev_timeout); + } + /* Set up client readers and writers */ state = winbindd_client_list(); |