[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 メーリングリストの案内