zeromq/libzmq — pull request #1255 by klaussfreire (2014-11-10 17:06:15+00:00)
Title: Fix busy-polling when reaching the rate limit

When an ePGM or PGM socket is pushed beyond its rate limit, the poller in pgm_sender starts to busy-loop, adding and canceling timeouts in a very tight loop, because the pollout on the pgm fd still reports as ready immediately (even though the library will report dropping the message due to rate-limiting).

The correct way to wait for the timeout is to disable pollout until the timeout is triggered, and re-enable it afterwards.