When socket reads too much data, ZmqSocket fails with a "maximum recursion error". Please fix zmq_fallback.py from recursion to iterative like this: ``` def poll(self): while True: try: data = self._socket.recv(flags=zmq.NOBLOCK) except zmq.error.ZMQError: return more = self._socket.getsockopt(zmq.RCVMORE) self._cb(data, more) ```