diff options
| -rwxr-xr-x | src/router.cpp | 5 | ||||
| -rw-r--r-- | src/xrep.cpp | 6 | 
2 files changed, 7 insertions, 4 deletions
| diff --git a/src/router.cpp b/src/router.cpp index c8cc278..05908b5 100755 --- a/src/router.cpp +++ b/src/router.cpp @@ -179,8 +179,9 @@ int zmq::router_t::xsend (msg_t *msg_, int flags_)      //  Push the message into the pipe. If there's no out pipe, just drop it.      if (current_out) {          bool ok = current_out->write (msg_); -        zmq_assert (ok); -        if (!more_out) { +        if (unlikely (!ok)) +            current_out = NULL; +        else if (!more_out) {              current_out->flush ();              current_out = NULL;          } diff --git a/src/xrep.cpp b/src/xrep.cpp index c304463..9f2a947 100644 --- a/src/xrep.cpp +++ b/src/xrep.cpp @@ -22,6 +22,7 @@  #include "pipe.hpp"  #include "wire.hpp"  #include "random.hpp" +#include "likely.hpp"  #include "err.hpp"  zmq::xrep_t::xrep_t (class ctx_t *parent_, uint32_t tid_) : @@ -163,8 +164,9 @@ int zmq::xrep_t::xsend (msg_t *msg_, int flags_)      //  Push the message into the pipe. If there's no out pipe, just drop it.      if (current_out) {          bool ok = current_out->write (msg_); -        zmq_assert (ok); -        if (!more_out) { +        if (unlikely (!ok)) +            current_out = NULL; +        else if (!more_out) {              current_out->flush ();              current_out = NULL;          } | 
