diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2011-03-16 13:26:23 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2011-03-16 13:26:23 +0100 |
commit | 32ded2b457b2102dba4c15e00363f031d212b1c4 (patch) | |
tree | 163f0540f5f26277ba934bc80671a7c4fc73b7ad /src/named_session.cpp | |
parent | b79d07b8bc844135c44c1ff8b84b50dc08f56925 (diff) |
Duplicate identities now checked with zmq_connect
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/named_session.cpp')
-rw-r--r-- | src/named_session.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/named_session.cpp b/src/named_session.cpp index 7e2c49e..34f4af4 100644 --- a/src/named_session.cpp +++ b/src/named_session.cpp @@ -45,11 +45,17 @@ zmq::named_session_t::~named_session_t () unregister_session (peer_identity); } -void zmq::named_session_t::attached (const blob_t &peer_identity_) +bool zmq::named_session_t::attached (const blob_t &peer_identity_) { - // The owner should take care to not attach the session - // to an unrelated peer. + // Double check that identities match. zmq_assert (peer_identity == peer_identity_); + + // If the session already has an engine attached, destroy new one. + if (has_engine ()) { + log ("DPID: duplicate peer identity - disconnecting peer"); + return false; + } + return true; } void zmq::named_session_t::detached () |