酒本です。


> In article <hvo66668ztc.fsf / coulee.a02.aist.go.jp>,
>   Tanaka Akira <akr / m17n.org> writes:
>
> > resolv.rb 内部でも timeout を使っているので、外で設定した timeout が中
> > で捕捉されているようですね。
> >
> > まぁ、resolv.rb では(一般にはライブラリでは) TimeoutError は使うべきで
> > はないのかも知れませんね。
>
> 次のように修正するとどうでしょう?
>
> Index: lib/resolv.rb
> ===================================================================

いただいたパッチを試してみました。

すばらしいです。正確に1分強 (78 sec) で "DNS resolv timeout: " が発生しま
す。

78, 4, 79, 8, 78, 10, 78, 9, 78, 10, 26, 78, 9, 78, 10, 79, 6, 78, 10, 78 
(各々かかった秒数)

短い方は "DNS error: " です。

本当に皆さんありがとうございました。
実は能力以上の質問をしてしまい、たくさんのハイレベルな助言をいただき、ついて
ゆくのが
大変でした。
今回は patch という新たな技を勉強させていただきました。ハイ。次は Proc か
な。

------------------------
require 'socket'
require 'resolv-replace'

system("date")
begin
  p IPsocket.getaddress("www.mitsuijoho.co.jp")
rescue
  print $!,"\n"
end
system("date")
------------------------
--
sakamoto