mirror of
https://github.com/zeromq/libzmq.git
synced 2025-11-02 14:03:43 +01:00
Bug in fq_t and lb_t (when used via ZMQ_EVENTS option) fixed
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -135,10 +135,10 @@ bool zmq::lb_t::has_out ()
|
||||
if (pipes [current]->check_write ())
|
||||
return true;
|
||||
|
||||
// Deactivate the pipe.
|
||||
active--;
|
||||
if (current < active)
|
||||
pipes.swap (current, active);
|
||||
else
|
||||
pipes.swap (current, active);
|
||||
if (current == active)
|
||||
current = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user