diff options
| -rw-r--r-- | src/pipe.cpp | 4 | ||||
| -rw-r--r-- | src/pipe.hpp | 2 | 
2 files changed, 5 insertions, 1 deletions
| diff --git a/src/pipe.cpp b/src/pipe.cpp index 53dfb21..14a6ef4 100644 --- a/src/pipe.cpp +++ b/src/pipe.cpp @@ -170,6 +170,10 @@ void zmq::writer_t::rollback ()      zmq_msg_t msg;      while (pipe->unwrite (&msg)) { +        if (!(msg.flags & ZMQ_MSG_TBC)) { +            pipe->write (msg); +            break; +        }          zmq_msg_close (&msg);          msgs_written--;      } diff --git a/src/pipe.hpp b/src/pipe.hpp index 0ac7fc5..a4569e3 100644 --- a/src/pipe.hpp +++ b/src/pipe.hpp @@ -98,7 +98,7 @@ namespace zmq          //  message cannot be written because high watermark was reached.          bool write (zmq_msg_t *msg_); -        //  Remove any unflushed messages from the pipe. +        //  Remove unfinished part of a message from the pipe.          void rollback ();          //  Flush the messages downsteam. | 
