[pgcluster: 291] Re: pglbがpid ファイルを消さない

KIKAWADA Mitsukuni/黄川田光国 mitsukuni @ unixmagic.net
2004年 5月 24日 (月) 16:08:58 JST


きかわだです。

On Mon, 24 May 2004 14:23:07 +0900
mitani <mitani @ sraw.co.jp> wrote:

> > linuxとsolarisでsignalを受け取った後の
> > 動作が違うということになるんでしょうか?
> Solarisでの現象の確認と回避方法が分かりました.
> # Solarisで使われる方が多いようですので,
> # とうとう(Intel版ですが)Solarisを買ってしまいました.
> # 嬉しいような悲しいような...

ええと、ありがとうございます(^^;


> 終了処理でシグナルを送った際,自分もそれで死んでしまっていたのが原因です.
> で,自身のシグナルをignoreするように追加しました.
> 
> --- pglb/main.c 2004-05-24 11:25:34.000000000 +0900
> +++ pglb.new/main.c 2004-05-24 14:06:30.000000000 +0900
> @@ -344,6 +344,7 @@
> 
>     Child_Tbl->useFlag = DATA_END;
>     signal(SIGCHLD,SIG_IGN);
> +   signal(signal_args,SIG_IGN);
>     kill (0,signal_args);
>     while (wait(NULL) > 0 )
>         ;
> 
> これでSolarisでも終了処理は最後まで実行されるようです.

このパッチで正常にpidファイルが削除されることを確認しました。
ありがとうございます。


-- 
黄川田光国 / KIKAWADA Mitsukuni <mitsukuni @ unixmagic.net>





pgcluster メーリングリストの案内