From babdf48aacc585d57457da8dec1fb6ce262bf719 Mon Sep 17 00:00:00 2001 From: Dhammika Pathirana Date: Fri, 7 Jan 2011 13:28:35 +0100 Subject: Fix pipe writer termination Signed-off-by: Dhammika Pathirana --- src/pipe.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/pipe.cpp') diff --git a/src/pipe.cpp b/src/pipe.cpp index bbdd44e..6335690 100644 --- a/src/pipe.cpp +++ b/src/pipe.cpp @@ -275,6 +275,7 @@ void zmq::writer_t::terminate () // Prevent double termination. if (terminating) return; + terminating = true; // Mark the pipe as not available for writing. active = false; @@ -339,7 +340,7 @@ void zmq::writer_t::process_activate_writer (uint64_t msgs_read_) // If the writer was non-active before, let's make it active // (available for writing messages to). - if (!active) { + if (!active && !terminating) { active = true; zmq_assert (sink); sink->activated (this); -- cgit v1.2.3