File: //usr/share/ri/3.0.0/system/Timeout/timeout-i.ri
U:RDoc::AnyMethod[iI"timeout:ETI"Timeout#timeout;TF:privateo:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph; [I"OPerform an operation in a block, raising an error if it takes longer than ;TI"+sec+ seconds to complete.;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type: NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
+sec+;T; [o;
; [I"FNumber of seconds to wait for the block to terminate. Any number ;TI"Dmay be used, including Floats to specify fractional seconds. A ;TI"Dvalue of 0 or +nil+ will execute the block without any timeout.;To;;[I"+klass+;T; [o;
; [I">Exception Class to raise if the block fails to terminate ;TI"Ein +sec+ seconds. Omitting will use the default, Timeout::Error;To;;[I"+message+;T; [o;
; [I"2Error message to raise with Exception Class. ;TI"7Omitting will use the default, "execution expired";T@o;
; [I"EReturns the result of the block *if* the block completed before ;TI"Q+sec+ seconds, otherwise throws an exception, based on the value of +klass+.;T@o;
; [ I"PThe exception thrown to terminate the given block cannot be rescued inside ;TI"Nthe block unless +klass+ is given explicitly. However, the block can use ;TI"Mensure to prevent the handling of the exception. For that reason, this ;TI"Imethod cannot be relied on to enforce timeouts for untrusted blocks.;T@o;
; [I"ONote that this is both a method of module Timeout, so you can <tt>include ;TI"OTimeout</tt> into your classes so they have a #timeout method, as well as ;TI"Ga module method, so you can call it directly as Timeout.timeout().;T:
@fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below00I"sec;T[ I"&(sec, klass = nil, message = nil);T@:FI"Timeout;TcRDoc::NormalModule00