summaryrefslogtreecommitdiff
path: root/src/xrep.cpp
diff options
context:
space:
mode:
authorMartin Lucina <martin@lucina.net>2012-01-23 08:53:29 +0100
committerMartin Lucina <martin@lucina.net>2012-01-23 08:53:29 +0100
commit2c416a793ea781273a5da6742211f5f01af13a2b (patch)
treeb8ede23ec38d4aab9595a517b4b9894df40c2cae /src/xrep.cpp
parent5ba1cb20fe6f6699cef1cc726718e760cd4c9af1 (diff)
Imported Upstream version 2.0.10upstream/2.0.10
Diffstat (limited to 'src/xrep.cpp')
-rw-r--r--src/xrep.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/xrep.cpp b/src/xrep.cpp
index 5fd6cbb..f50e32e 100644
--- a/src/xrep.cpp
+++ b/src/xrep.cpp
@@ -190,9 +190,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;
@@ -200,6 +198,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);