zeromq/pyzmq — pull request #158 by minrk (2011-11-23 00:32:41+00:00)
Title: close gap with upstream tornado IOLoop

The diff between tornado's IOLoop and pyzmq's is now *extremely* small.

a ZMQPoller class is used to map the differences between IOLoop's expectations and zmq.Poller.

install() sets `IOLoop._instance` instead of clobbering the whole class. Now that the diff is so small, reversing install() to create a tornado IOLoop with ZMQPoller would only result in only the following deficiencies:

1. terminating a context while the loop is running will raise, rather than exit cleanly (probably not significant)
2. errors will never be logged, because tornado's log formatter expects sockets to be integer FDs. (not a *huge* deal, because this won't come up unless there are already errors, but annoying nonetheless).

A [PR](https://github.com/facebook/tornado/pull/401) to tornado has been issued, which would resolve 2.