diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xrep.cpp | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/src/xrep.cpp b/src/xrep.cpp index 68b9d1b..a6c3cf6 100644 --- a/src/xrep.cpp +++ b/src/xrep.cpp @@ -199,9 +199,7 @@ int zmq::xrep_t::xsend (zmq_msg_t *msg_, int flags_)  int zmq::xrep_t::xrecv (zmq_msg_t *msg_, int flags_)  { -    //  Deallocate old content of the message. -    zmq_msg_close (msg_); - +    //  If there is a prefetched message, return it.      if (prefetched) {          zmq_msg_move (msg_, &prefetched_msg);          more_in = msg_->flags & ZMQ_MSG_MORE; @@ -209,6 +207,9 @@ int zmq::xrep_t::xrecv (zmq_msg_t *msg_, int flags_)          return 0;      } +    //  Deallocate old content of the message. +    zmq_msg_close (msg_); +      //  If we are in the middle of reading a message, just grab next part of it.      if (more_in) {          zmq_assert (inpipes [current_in].active); | 
