mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-20 09:08:31 +01:00
reconnection process fixed when failure occurs during init phase
This commit is contained in:
parent
85aa25e56c
commit
c7b9ba3ccd
@ -64,7 +64,8 @@ namespace zmq
|
||||
class own_t *object;
|
||||
} own;
|
||||
|
||||
// Attach the engine to the session.
|
||||
// Attach the engine to the session. If engine is NULL, it informs
|
||||
// session that the connection have failed.
|
||||
struct {
|
||||
struct i_engine *engine;
|
||||
unsigned char peer_identity_size;
|
||||
|
@ -178,6 +178,14 @@ void zmq::session_t::finalise ()
|
||||
void zmq::session_t::process_attach (i_engine *engine_,
|
||||
const blob_t &peer_identity_)
|
||||
{
|
||||
// If some other object (e.g. init) notifies us that the connection failed
|
||||
// we need to start the reconnection process.
|
||||
if (!engine_) {
|
||||
zmq_assert (!engine);
|
||||
detached ();
|
||||
return;
|
||||
}
|
||||
|
||||
// Check whether the required pipes already exist. If not so, we'll
|
||||
// create them and bind them to the socket object.
|
||||
reader_t *socket_reader = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user