0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-15 10:18:01 +08:00

close (clean up) unsendable messages

This commit is contained in:
Topher Brown 2015-01-13 17:36:09 -05:00
parent 583a5f9601
commit 89dd9fddaf

View File

@ -246,12 +246,16 @@ int zmq::router_t::xsend (msg_t *msg_)
} }
bool ok = current_out->write (msg_); bool ok = current_out->write (msg_);
if (unlikely (!ok)) if (unlikely (!ok)) {
current_out = NULL; // Message failed to send - we must close it ourselves.
else int rc = msg_->close ();
if (!more_out) { errno_assert (rc == 0);
current_out->flush ();
current_out = NULL; current_out = NULL;
} else {
if (!more_out) {
current_out->flush ();
current_out = NULL;
}
} }
} }
else { else {