[zeromq-dev] [PATCH] Execute the timers before pollset initialisation.

Martin Sustrik sustrik at moloch.sk
Sat Oct 9 19:21:59 CEST 2010


Hi Christian,

You patch is applied to master. Thanks and sorry for the delay!

Martin


>    From efb53d17a0846f837513b9e1694304517e4eec98 Mon Sep 17 00:00:00 2001
> From: Christian Gudrian<christian.gudrian at fluidon.com>
> Date: Thu, 7 Oct 2010 14:19:12 +0200
> Subject: [PATCH] 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<christian.gudrian at fluidon.com>
> ---
>    src/select.cpp |    6 +++---
>    1 files changed, 3 insertions(+), 3 deletions(-)
>
> 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)};
>    




More information about the zeromq-dev mailing list