[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