From c42343d3f027248514344aec9e3814dfe1047d59 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Sat, 13 Mar 2010 12:34:55 +0100 Subject: pipe_t::rollback removes only unfinished message from the pipe rather than all unflushed messages --- src/pipe.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/pipe.cpp') 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--; } -- cgit v1.2.3