summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pipe.cpp4
-rw-r--r--src/pipe.hpp2
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.