[Mew-dist 12309] Re: im-13[5-7] imput error
SAKAI Kiyotaka
ksakai at example.com
2000年 2月 9日 (水) 15:20:34 JST
>> In article <20000209.104350.74676010.kazu at example.com>, Kazu Yamamoto (山本和彦) <kazu at example.com> writes:
>> まず、上の ps の表示は、alarm() でトラップしている箇所でどこで待ち状態
>> になっているか表示するためのものですので、以前のバージョンのように
>> getaddrinfo ではなくて gethostbyname が表示されるよう、以下のパッチは
>> 当てた方がいいかと思います。
> - $0 = progname() . ": getaddrinfo($s)";
> + $0 = progname() . ": gethostbyname($node)";
> getostbyname に変えるのではなくて、im_getaddrinfo にすべきではないでしょ
> うか?
まず、$0 は以下のような機能を持っています。(man perlvar より)
$PROGRAM_NAME
$0 Contains the name of the file containing the Perl
script being executed. On some operating systems
assigning to "$0" modifies the argument area that
the ps(1) program sees. This is more useful as a
way of indicating the current program state than it
is for hiding the program you're running.
(Mnemonic: same as sh and ksh.)
つまり、$0 を設定すると、プログラムが何をやっているかユーザにも分かる
し、デバッグ等にも便利というだけで、それ以上の意味はありません。
次に、IM ではこの機能をどのように利用しているかというと、IM では刺さる
可能性のある関数を実行する前には alarm() を入れてタイムアウトを設定し
ていますが、この直前で $0 を設定することで、刺さったときにどこで待ち状
態になったかを分かるようにしています。
ですから、このポリシーに従えば、gethostbyname() の前に alarm() を入れ
ている以上、以前のバージョンのようにこの情報を出すべきだろうということ
です。
--
酒井 清隆 (E-mail: ksakai at example.com)
Mew-dist メーリングリストの案内