けいじゅ@SHLジャパンです. 

In [ruby-list :02173 ] the message: "[ruby-list:2173] Re: Thread, Exception and Timeout ", on Feb/18 19:49(+0200) 
sinara / blade.nagaokaut.ac.jp  writes: 

>> def timeout(sec, msg = "timeout")
>>   begin
>>     x = Thread.current
>>     yield
>>     y = Thread.start {
>>       sleep sec
>>       x.raise TimeoutError, msg if x.status
>>     }
>>   ensure
>>     if y.status
>>       Thread.kill y
>>     end
>>   end
>> end
>
>これって、yield は Thread.start {} の次ですよね。^^;

うげ....  

旧 timeout()は2つスレッドを立ち上げていた版でしたよね, それからメイン
の処理をスレッドじゃなくしただけでしたからね... 処理の順番を深く考えて
いなかった... 

# これは仮想的なコードでテストとかできませんでしたし(__;;;

__
.....................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----