diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/nsswitch/winbindd_dual.c | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/source3/nsswitch/winbindd_dual.c b/source3/nsswitch/winbindd_dual.c index 54525f8da1..0c8491084d 100644 --- a/source3/nsswitch/winbindd_dual.c +++ b/source3/nsswitch/winbindd_dual.c @@ -192,7 +192,7 @@ static void async_request_timeout_handler(struct event_context *ctx, static void async_request_sent(void *private_data_data, BOOL success) { - uint32_t timeout = 30; + uint32_t timeout; struct winbindd_async_request *state = talloc_get_type_abort(private_data_data, struct winbindd_async_request); @@ -212,31 +212,35 @@ static void async_request_sent(void *private_data_data, BOOL success) sizeof(state->response->result), async_reply_recv, state); - /* - * Normal timeouts are 30s, but auth requests may take a long - * time to timeout. - */ + timeout = 30; - if (state->request->cmd == WINBINDD_PAM_AUTH || - state->request->cmd == WINBINDD_PAM_AUTH_CRAP ) { + if (state->request->cmd == WINBINDD_PAM_AUTH + || state->request->cmd == WINBINDD_PAM_AUTH_CRAP ) { + + /* + * Normal timeouts are 30s, but auth requests may take a long + * time to timeout. + */ timeout = 300; } /* - * Set up a timeout of 1 minute for the response. - * If we don't get it close the child socket and - * report failure. + * Set up a timeout of for the response. If we don't get it close the + * child socket and report failure. */ - state->reply_timeout_event = event_add_timed(winbind_event_context(), - NULL, - timeval_current_ofs(timeout,0), - "async_request_timeout", - async_request_timeout_handler, - state); + state->reply_timeout_event = event_add_timed( + winbind_event_context(), + NULL, + timeval_current_ofs(timeout,0), + "async_request_timeout", + async_request_timeout_handler, + state); + if (!state->reply_timeout_event) { - smb_panic("async_request_sent: failed to add timeout handler.\n"); + smb_panic("async_request_sent: failed to add timeout " + "handler.\n"); } } |