summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/winbindd/winbindd.c9
-rw-r--r--source3/winbindd/winbindd_dual.c8
2 files changed, 17 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 147781f2e0a..0443ebfdf2c 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -1047,6 +1047,15 @@ static void process_loop(void)
struct timeval now;
GetTimeOfDay(&now);
+ /*
+ * Initialize this high as event_add_to_select_args()
+ * uses a timeval_min() on this and next_event. Fix
+ * from Roel van Meer <rolek@alt001.com>.
+ */
+
+ ev_timeout.tv_sec = 999999;
+ ev_timeout.tv_usec = 0;
+
event_add_to_select_args(winbind_event_context(), &now,
&r_fds, &w_fds, &ev_timeout, &maxfd);
}
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index be6b1371b06..72e5607d3f4 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -1406,6 +1406,14 @@ static bool fork_domain_child(struct winbindd_child *child)
FD_SET(state.sock, &r_fds);
maxfd = state.sock;
+ /*
+ * Initialize this high as event_add_to_select_args()
+ * uses a timeval_min() on this and next_event. Fix
+ * from Roel van Meer <rolek@alt001.com>.
+ */
+ t.tv_sec = 999999;
+ t.tv_usec = 0;
+
event_add_to_select_args(winbind_event_context(), &now,
&r_fds, &w_fds, &t, &maxfd);
tp = get_timed_events_timeout(winbind_event_context(), &t);