D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
Timeout
/
Filename :
timeout-i.ri
back
Copy
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"SNumber of seconds to wait for the block to terminate. Any non-negative number ;TI"Kor nil may be used, including Floats to specify fractional seconds. A ;TI"Evalue of 0 or +nil+ will execute the block without any timeout. ;TI"5Any negative number will raise an ArgumentError.;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"RIf a scheduler is defined, it will be used to handle the timeout by invoking ;TI"Scheduler#timeout_after.;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