All with timeouts

/cc @benkirzhner 
BTW, I discovered why `select` is special:

https://github.com/ruby/ruby/blob/255adda52fcd161f62fd75eec9504200e6b6eea8/struct.c#L881-L911