In the event `timeout` is `0`, this effectively becomes a non-blocking `select`, right? I mean, yes, it will block, but the timeout will immediately kick in if there is nothing to read - so it's a very tiny block.