Bill Kelly wrote: > From: "Eric Hodel" <drbrain / segment7.net> >> >> On Mar 28, 2006, at 9:48 AM, Shea Martin wrote: >> >>> I want to listen for connections for 2 seconds, then timeout. Do I >>> have to use the Timeout module? >> >> That will be the easiest way. >> >> Timeout.timeout 2 do >> Thread.start server.accept do |s| new_connection s end >> end > > Oh, hey, cool. Using the thread there looks like it > ought to avoid the issue with Timeout firing in the > middle of ensure blocks and circumventing them? > > I've been avoiding Timeout like "the plague" since > running into that behavior. But the timeout won't stop the thread. $ cat timeout.rb require 'timeout' th = nil begin Timeout.timeout 2 do th = Thread.new do loop {puts "in thread"; sleep 1} end end rescue TimeoutError puts "timeout!" end sleep 5 p th.alive? $ ruby timeout.rb in thread in thread in thread in thread in thread true -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407