you're right, the docs say:
```
timeout : float, int

    The timeout in milliseconds. If None, no timeout (infinite). This is in milliseconds to be compatible with select.poll(). The underlying zmq_poll uses microseconds and we convert to that in this function.
```
I thought if you didn't specify a timeout, it would just poll once then continue.

I'm ok with the change then. I think the optimal solution might be to timeout at a time we consider "long", warn the user, then continue...

pseudo:
```
response = poll(60000) # 1 minute
if have a response?
  result = response
else
  print >> stderr, "WARNING: We have been waiting for over a minute for machine", machine_addr, ", it might be down (or computing a very large node)"
  result = poll() # forever
```