Also see the ALARM signal which allows a signal to be delivered after 
some time has elapsed.


Mikel Lindsaar wrote:
> On Tue, Sep 30, 2008 at 7:59 PM, Jacob <ngocphuc / gmail.com> wrote:
>> I have googled, and I found a method call 'timeout', but after read
>> the source code, I found it uses a new thread to handle timeout. I
>> think It's not good solution, because on my real system (ported
>> from .net source code), there are some thread running parallel, and
>> there are using alot of signal.
> 
> You will have to code carefully because ruby uses green threads, not
> native threads so you can get blocked on system calls.
> 
> I had the same sort of problem, in the end, we solved it with the
> terminator gem (1)
> 
> See the system timer (2) write up for a good explanation of what is happening.
> 
> 1) http://www.lindsaar.net/2008/9/11/terminator-timeout-without-mercy
> 2) http://ph7spot.com/articles/system_timer
> 
> Mikel
> 


-- 
Ron Fox
NSCL
Michigan State University
East Lansing, MI 48824-1321