summaryrefslogtreecommitdiff
path: root/src/fq.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/fq.cpp')
-rw-r--r--src/fq.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/fq.cpp b/src/fq.cpp
index 7eef564..9832c21 100644
--- a/src/fq.cpp
+++ b/src/fq.cpp
@@ -148,8 +148,11 @@ bool zmq::fq_t::has_in ()
for (int count = active; count != 0; count--) {
if (pipes [current]->check_read ())
return true;
- current++;
- if (current >= active)
+
+ // Deactivate the pipe.
+ active--;
+ pipes.swap (current, active);
+ if (current == active)
current = 0;
}