Skip to content

Commit

Permalink
Bug caused by interaction of REQ/REP routing and HWM fixed.
Browse files Browse the repository at this point in the history
Signed-off-by: Martin Sustrik <[email protected]>
  • Loading branch information
sustrik authored and hintjens committed Mar 3, 2011
1 parent c31d090 commit 0192385
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion src/xrep.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,22 @@ int zmq::xrep_t::xsend (zmq_msg_t *msg_, int flags_)
blob_t identity ((unsigned char*) zmq_msg_data (msg_),
zmq_msg_size (msg_));
outpipes_t::iterator it = outpipes.find (identity);
if (it != outpipes.end ())

if (it != outpipes.end ()) {
current_out = it->second.writer;
zmq_msg_t empty;
int rc = zmq_msg_init (&empty);
zmq_assert (rc == 0);
if (!current_out->check_write (&empty)) {
rc = zmq_msg_close (&empty);
zmq_assert (rc == 0);
it->second.active = false;
errno = EAGAIN;
return -1;
}
rc = zmq_msg_close (&empty);
zmq_assert (rc == 0);
}
}

int rc = zmq_msg_close (msg_);
Expand Down

0 comments on commit 0192385

Please sign in to comment.