Commit 465da7b1 authored by Dhammika Pathirana's avatar Dhammika Pathirana Committed by Martin Sustrik

drop connection requests with duplicate peer identity

Signed-off-by: 's avatarDhammika Pathirana <dhammika@gmail.com>
parent 401986e6
...@@ -231,6 +231,13 @@ void zmq::session_t::process_attach (i_engine *engine_, ...@@ -231,6 +231,13 @@ void zmq::session_t::process_attach (i_engine *engine_,
return; return;
} }
// If the session already has an engine attached, destroy new one.
// Note new engine is not plugged in yet, we don't have to unplug it.
if (engine) {
delete engine_;
return;
}
// Check whether the required pipes already exist. If not so, we'll // Check whether the required pipes already exist. If not so, we'll
// create them and bind them to the socket object. // create them and bind them to the socket object.
if (!pipes_attached) { if (!pipes_attached) {
...@@ -257,8 +264,6 @@ void zmq::session_t::process_attach (i_engine *engine_, ...@@ -257,8 +264,6 @@ void zmq::session_t::process_attach (i_engine *engine_,
} }
// Plug in the engine. // Plug in the engine.
zmq_assert (!engine);
zmq_assert (engine_);
engine = engine_; engine = engine_;
engine->plug (io_thread, this); engine->plug (io_thread, this);
......
...@@ -55,7 +55,7 @@ namespace zmq ...@@ -55,7 +55,7 @@ namespace zmq
void process_plug (); void process_plug ();
void process_unplug (); void process_unplug ();
// Associated wite-protocol engine. // Associated wire-protocol engine.
i_engine *engine; i_engine *engine;
// True if our own identity was already sent to the peer. // True if our own identity was already sent to the peer.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment