Yup, still unsafe in general:
No timeout library can solve this problem unless they are able to guarantee they'll never fire within any ensure blocks
Although, when used in Net::HTTP around pieces of code that don't have any ensure blocks, it should probably be fine I'm guessing. (Though they should really be using nonblocking io and select)