Timeout

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).

On Feb 6, 2006, at 11:18 PM, [email protected] 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. - [email protected] - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com

Thanks for the help.

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