[zeromq-dev] [PATCH] Fix synchronous connect failure for ipc://, tcp:// (LIBZMQ-294)

Pieter Hintjens ph at imatix.com
Thu Dec 15 03:54:04 CET 2011


Hi Mato,

Does this affect 2.1? We can get it in the next release if so.

-Pieter

On Wed, Dec 14, 2011 at 8:09 AM, Martin Lucina <martin at lucina.net> wrote:
> A synchronous connect() failure in ipc_connecter can result in Assertion
> failed: s == retired_fd (ipc_connecter.cpp:174), as reported in LIBZMQ-294.
>
> This patch fixes the bug, and also an identical problem in tcp_connecter
> which has not hit people since TCP connect() usually completes via the
> asynchronous code path (poll, out_event).
>
> Signed-off-by: Martin Lucina <martin at lucina.net>
> ---
>  src/ipc_connecter.cpp |    1 +
>  src/tcp_connecter.cpp |    1 +
>  2 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/src/ipc_connecter.cpp b/src/ipc_connecter.cpp
> index dc0ee21..58dccf4 100644
> --- a/src/ipc_connecter.cpp
> +++ b/src/ipc_connecter.cpp
> @@ -135,6 +135,7 @@ void zmq::ipc_connecter_t::start_connecting ()
>     }
>
>     //  Handle any other error condition by eventual reconnect.
> +    close ();
>     wait = true;
>     add_reconnect_timer();
>  }
> diff --git a/src/tcp_connecter.cpp b/src/tcp_connecter.cpp
> index 75079da..042e82a 100644
> --- a/src/tcp_connecter.cpp
> +++ b/src/tcp_connecter.cpp
> @@ -146,6 +146,7 @@ void zmq::tcp_connecter_t::start_connecting ()
>     }
>
>     //  Handle any other error condition by eventual reconnect.
> +    close ();
>     wait = true;
>     add_reconnect_timer();
>  }
> --
> 1.7.2.5
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iQIcBAEBCAAGBQJO59sVAAoJEGzErScURBfzWaYP/jE0ZEIgUFMwnQNVdFtQ9rzr
> 0ZJeRu+nA6/qKVqNqBijEaUPx0twdB78Oqzk90qfKjvC2Rm2cuj4IYDsebGVgbZ+
> t6W0aqDz0akf62UvB8KMWDeFSJeYAHI2pled5GygdJ8DJQ83GTKi3AOxp6b/weG4
> cYSaiOAGqs5aCRkJDNNDBAtdAEM1E1cX1NArhT+mrhzlNXwoDMBXb1CuGWUkkTrx
> NcY/ox/gl83tJ1mwBfxbNNVXRP1yU/H/aChumSeYrj25cDZ3ZJv4be7uNQLKrX9v
> WnzebGE6r6uq/FMGyYpXmAx6Zx0gZVNC+PH0Z8bYxIbsTQWdT6SHkEpE45D7Oaey
> NC+EXqSOAjiuP39W7YZwgiV9c4LoergL6BR7vnOB7u7kJq4DRf3nZR8luEKwhm4X
> Uza3fl0vkRAZoR6WbK7aUE8mLbXAAEH9RC9tBR6Jpc3fod9Svs3X62Zd1CYhfymK
> +Qy5HRBtbM44+yvQwnSiBzsSYa4NTRNsuy1G1jDsGdOHG3bacDF1c+iFRRNIQRfn
> SLhWlnV0F2TNVVL8BPAJ/z8BPtZq3xq23OQNp+uKb0N+n7sXM/pMlMiI+PA3jrt4
> cMVXmoFTXxAsQg5d6d66lwDnk7MGOxhjCyc3sHsKqdPTnvthQn0EshEwXhXUr4bE
> Mga/5SAC9azIR6dkFpxo
> =ZO32
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>



More information about the zeromq-dev mailing list