Timeout


#1

Does Ruby’s Timeout know about time spent outside of Ruby’s
interpreter?

For instance, will it call Timeout in the model of long syscalls (ie,
blocking io which is taking too long).

If not, what is the best way to tell Ruby to abort a syscall after x
seconds. (I couldn’t find a way of setting an alarm handler).


#2

On Feb 6, 2006, at 11:18 PM, removed_email_address@domain.invalid wrote:

Does Ruby’s Timeout know about time spent outside of Ruby’s
interpreter?

Did you try it? It is really, really easy, especially with irb.

For instance, will it call Timeout in the model of long syscalls (ie,
blocking io which is taking too long).

require ‘timeout’
require ‘socket’

s = TCPSocket.new ‘localhost’, 80
Timeout.timeout 5 do s.read end


Eric H. - removed_email_address@domain.invalid - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com


#3

Thanks for the help.

For anyone who’s reading this’s reference, the answer is that Timeout
does timeout in the middle of syscalls.