[PATCH] drop connection requests with duplicate peer identity
dhammika
dhammika at gmail.com
Tue Oct 26 07:19:43 CEST 2010
Signed-off-by: dhammika <dhammika at gmail.com>
---
src/session.cpp | 9 +++++++--
src/zmq_init.hpp | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/session.cpp b/src/session.cpp
index f853d5a..98e3c49 100644
--- a/src/session.cpp
+++ b/src/session.cpp
@@ -231,6 +231,13 @@ void zmq::session_t::process_attach (i_engine *engine_,
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
// create them and bind them to the socket object.
if (!pipes_attached) {
@@ -257,8 +264,6 @@ void zmq::session_t::process_attach (i_engine *engine_,
}
// Plug in the engine.
- zmq_assert (!engine);
- zmq_assert (engine_);
engine = engine_;
engine->plug (io_thread, this);
diff --git a/src/zmq_init.hpp b/src/zmq_init.hpp
index 6087de9..2233b7b 100644
--- a/src/zmq_init.hpp
+++ b/src/zmq_init.hpp
@@ -55,7 +55,7 @@ namespace zmq
void process_plug ();
void process_unplug ();
- // Associated wite-protocol engine.
+ // Associated wire-protocol engine.
i_engine *engine;
// True if our own identity was already sent to the peer.
--
1.7.0.4
More information about the zeromq-dev
mailing list