From f61921d09679c4bed15204ec4e55d1c7313e3f6a Mon Sep 17 00:00:00 2001
From: Martin Sustrik <sustrik@250bpm.com>
Date: Tue, 28 Sep 2010 07:39:16 +0200
Subject: REQ socket can die when reply is delivered on wrong unerlying
 connection -- fixed

---
 src/req.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

(limited to 'src')

diff --git a/src/req.cpp b/src/req.cpp
index f3695a2..a77c061 100644
--- a/src/req.cpp
+++ b/src/req.cpp
@@ -111,10 +111,8 @@ void zmq::req_t::xkill (class reader_t *pipe_)
 
 void zmq::req_t::xrevive (class reader_t *pipe_)
 {
-    //  TODO: Actually, misbehaving peer can cause this kind of thing.
-    //  Handle it decently, presumably kill the offending connection.
-    zmq_assert (pipe_ == reply_pipe);
-    reply_pipe_active = true;
+    if (pipe_ == reply_pipe)
+        reply_pipe_active = true;
 }
 
 void zmq::req_t::xrevive (class writer_t *pipe_)
-- 
cgit v1.2.3