Manpage says otherwise:
If the time limit expires, `select()` returns 0
And some tutorial says:
On success, `select()` and `pselect()` return the number of file descriptors contained in the three returned descriptor sets (that is, the total number of bits that are set in `readfds`, `writefds`, `exceptfds`) which *may be zero if the timeout expires before anything interesting happens*.
I don't see how `select` should ever return `0` for a writable `fd`
vm-dev@lists.squeakfoundation.org