diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/fq.cpp | 7 | ||||
| -rw-r--r-- | src/lb.cpp | 6 | 
2 files changed, 8 insertions, 5 deletions
| @@ -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;      } | 
