diff options
author | Martin Lucina <martin@lucina.net> | 2011-12-15 13:23:40 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2011-12-15 13:23:40 +0100 |
commit | a9e03336b020d2e6a83338b111092e65aa812f95 (patch) | |
tree | 8f0fa4b1d9db9e201704585e88c349e9d5369793 /src/tcp_connecter.cpp | |
parent | e7d748e812a7259bd4030517fde79be202d2a16d (diff) |
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@lucina.net>
Diffstat (limited to 'src/tcp_connecter.cpp')
-rw-r--r-- | src/tcp_connecter.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
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(); } |