In article <009501c19c02$aaa39740$65bc80da@pc0>, "Sadayuki Sakamoto" <sakacom / ybb.ne.jp> writes: > ええと、timeout では 5 秒に設定していますが、実際に timeout.rb で > スレッドが斬られているわけではないようです。 resolv.rb 内部でも timeout を使っているので、外で設定した timeout が中 で捕捉されているようですね。 まぁ、resolv.rb では(一般にはライブラリでは) TimeoutError は使うべきで はないのかも知れませんね。 あるいは、timeout では毎回新しい例外クラスを生成すべきなのかもしれませ ん。ただ、そうすると生成したのでどうやって rescue するかが問題か... > ところで、resolv.rb ですが、ユーザがわざわざ timeout() を使わなくてもよい、 > という仕様なんでしょうか?「InitialTimeout = 5」という部分が目にとまったの > で。 resolv.rb は (bind の) gethostbyname と同じ挙動でタイムアウトするとい うのが仕様です。その仕様では(途中で何回かリクエストを再送しますが)結局 のところ 1分強であきらめます。 なので、(resolv.rb を使わない時に) 5分かかるというのは興味を惹かれるも のがあります。どんな resolver を使ってますか? (どんな OS を使ってますか? Windows?) -- [田中 哲][たなか あきら][Tanaka Akira] 「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)