実際には、例えばLinuxならthread単位でsignalを送ることでEINTRで中断させることは出来ます。もっともRubyにはthread単位にsignalを扱う機能はないので別の方法を考える必要があます。
他にはconnect_nonblockがあり、connect_nonblockで開きまくってからIO.selectで繋がったやつをゲットできるんじゃないかと思います
実際には、例えばLinuxならthread単位でsignalを送ることでEINTRで中断させることは出来ます。もっともRubyにはthread単位にsignalを扱う機能はないので別の方法を考える必要があます。
他にはconnect_nonblockがあり、connect_nonblockで開きまくってからIO.selectで繋がったやつをゲットできるんじゃないかと思います