summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pipe.cpp3
1 files changed, 2 insertions, 1 deletions
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);