From: Charles Oliver Nutter Date: 2008-10-17T04:14:58+09:00 Subject: [ruby-core:19357] timeout use in protocol.rb....why? Ok, I give up. Why is this (from net/protocol.rb)... def rbuf_fill timeout(@read_timeout) { @rbuf << @io.sysread(1024*16) } end ...not this... def rbuf_fill if select([@io], nil, nil, @read_timeout) @rbuf << @io.sysread(1024*16) else raise Timeout::Error end end ...or something similar? I've tested something like that and it appears to work fine, plus it spins up no threads and does not require Thread#kill/raise. - Charlie?