diff options
-rw-r--r-- | src/session.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/session.cpp b/src/session.cpp index 05f319c..e1d0b8e 100644 --- a/src/session.cpp +++ b/src/session.cpp @@ -198,9 +198,15 @@ void zmq::session_t::process_attach (i_engine *engine_, { if (!peer_identity.empty ()) { - // If we already know the peer name do nothing, just check whether - // it haven't changed. - zmq_assert (peer_identity == peer_identity_); + // If both IDs are temporary, no checking is needed. + // TODO: Old ID should be reused in this case... + if (peer_identity.empty () || peer_identity [0] != 0 || + peer_identity_.empty () || peer_identity_ [0] != 0) { + + // If we already know the peer name do nothing, just check whether + // it haven't changed. + zmq_assert (peer_identity == peer_identity_); + } } else if (!peer_identity_.empty ()) { |