# Timeout

**URL:** <https://www.ruby-forum.com/t/timeout/101927>\
**Category:** Ruby\
**Created:** [February 7, 2006, 8:20am UTC](https://www.ruby-forum.com/t/timeout/101927 "2006-02-07T08:20:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 7, 2006, 8:20am UTC](https://www.ruby-forum.com/t/timeout/101927/1 "2006-02-07T08:20:09Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 7, 2006, 8:44am UTC](https://www.ruby-forum.com/t/timeout/101927/2 "2006-02-07T08:44:22Z")

</div>

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](http://segment7.net)  
This implementation is HODEL-HASH-9600 compliant

[http://trackmap.robotcoop.com](http://trackmap.robotcoop.com)

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [February 7, 2006, 10:09am UTC](https://www.ruby-forum.com/t/timeout/101927/3 "2006-02-07T10:09:05Z")

</div>

Thanks for the help.

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