diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/req.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/req.cpp b/src/req.cpp index 735f0aa..833db9a 100644 --- a/src/req.cpp +++ b/src/req.cpp @@ -191,16 +191,21 @@ int zmq::req_t::xrecv (zmq_msg_t *msg_, int flags_) waiting_for_reply = false; reply_pipe = NULL; - return 0; } bool zmq::req_t::xhas_in () { - if (reply_pipe && reply_pipe->check_read ()) - return waiting_for_reply; + if (!waiting_for_reply || !reply_pipe_active) + return false; + + zmq_assert (reply_pipe); + if (!reply_pipe->check_read ()) { + reply_pipe_active = false; + return false; + } - return false; + return true; } bool zmq::req_t::xhas_out () |