From: Eric Wong Date: 2012-01-12T06:18:15+09:00 Subject: [ruby-core:42061] Re: RUBY 2 RCR: remove Thread#raise Roger Pack wrote: > So my feature request would be to just remove it. I know this would > cause terrible backwards incompatibility, but looking forward, would > provide sanity to program execution flow. To start, we need to make the existing stdlib (e.g. net/*) not rely on Thread#raise / Timeout at all. I started down this route in getting resolv.rb to support configurable timeouts as the getaddrinfo() C library function used by the "socket" ext cannot timeout natively. Unfortunately, DNS timeouts are tricky since DNS names may resolve to multiple addresses, but things like Net::HTTP have a single "open_timeout" that dictates the entire DNS lookup + connect() sequence. resolv.rb is also slower and more expensive in the non-timeout case.