というわけで原因が特定され、修正案ができ、問題が解決されることが確認さ
れたわけですが、timeout.rb はどうしましょう?

In article <1010978844.593574.8174.nullmailer / ev.netlab.jp>,
  matz / ruby-lang.org (Yukihiro Matsumoto) writes:

>   timeout(tout, lambda{raise ResolvError}) {
>      ...
>   }
> 
> のようにProcを指定するってのはどうでしょうねえ。

まず、この件に関して self をすり替えるのは不適切だと思います。一般に
self をすり替えるのはわかりにくいので、それをユーザに対する API として
表に出すことに対しては否定的な感情が湧いてきます。

従って、Proc を指定するにしても

   timeout(tout, lambda{|th| th.raise ResolvError}) {
      ...
   }

のほうがいいと思います。

ただ、Proc を渡せる柔軟性が必要になるような用途がどのくらいあるのか疑っ
ています。どんな用途を想定してますか?

まぁ、Proc と Class (Exception のサブクラス) は disjoint なので、悩ま
ずに両方使えるようにしてしまえばいいのかも知れませんが。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)