[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:04636] Re: These bugs should be fixed to release Hamm-JP
やなぎはらです。
From: Shuichi OONO <jr5pdx@debian.or.jp>
Message-ID: <19980813032839-25581F.jr5pdx@debian.or.jp>
jr5pdx> upstream patch (http://www2s.biglobe.ne.jp/~yav/ より)
jr5pdx> を適用し、/tmp 以下は片付けるようになったのですが、
jr5pdx> 別の問題が発生しています。
jr5pdx> 残っているバグは
jr5pdx>
jr5pdx> fkiss & と起動し、
jr5pdx> window manager から close されて SIGPIPE を受けた場合、
jr5pdx> kill するまでプロセスが残ってしまう
これ以外にも、ありますね。
まず、get_client_infoでpopen("uname -n",....) を実行したあと、
pclose(fp)をコールしていないので、このopoenがzombieで
残ってしまっていますし、もともとpopenのエラーをチェックしていない。
だいたい、ここで unameコマンドを実行しなくっても、
uname(2)で必要な情報が取れるでしょう。
例えば、こんなふうに。
余計なプロセスは、作らない方がいいもんね。
char *get_client_info()
{
char buf[1024];
static char *r = NULL;
struct utsname kernel_name;
uname(&kernel_name);
sprintf(buf, "Client: %s (%s %s %s)",
kernel_name.nodename,
kernel_name.sysname,
kernel_name.release,
kernel_name.machine);
r = ks_strdup(buf);
return r;
}
こうして、popenをやめると、またまた 別のzombieができる。
なんか、子プロセスを作成したあと、なぜか子プロセスの
終了をwaitしないところがあるみたいだね。
う〜ん、いまいちプロセスの生成あたりがとっても怪しそう。
#気分転換に見てしまった。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Yoshiaki Yanagihara (Debian JP Project Leader)
E-mail: yochi@debian.or.jp
yochi@debian.org