From f5030a93a52fc73292c16dae5f8e0e1b39732df0 Mon Sep 17 00:00:00 2001 From: Christian Gudrian Date: Sat, 9 Oct 2010 19:19:50 +0200 Subject: Execute the timers before pollset initialisation. Since executing the timers might modify the source pollsets we have to defer the initialisation until after the timers have executed. Signed-off-by: Christian Gudrian --- src/select.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/select.cpp b/src/select.cpp index ae2ffe2..3a7cd81 100644 --- a/src/select.cpp +++ b/src/select.cpp @@ -147,14 +147,14 @@ void zmq::select_t::loop () { while (!stopping) { + // Execute any due timers. + uint64_t timeout = execute_timers (); + // Intialise the pollsets. memcpy (&readfds, &source_set_in, sizeof source_set_in); memcpy (&writefds, &source_set_out, sizeof source_set_out); memcpy (&exceptfds, &source_set_err, sizeof source_set_err); - // Execute any due timers. - uint64_t timeout = execute_timers (); - // Wait for events. struct timeval tv = {(long) (timeout / 1000), (long) (timeout % 1000 * 1000)}; -- cgit v1.2.3