[pgcluster: 290] Re: pglbがpid ファイルを消さない
mitani
mitani @ sraw.co.jp
2004年 5月 24日 (月) 14:23:07 JST
三谷@広島です.
> 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でも終了処理は最後まで実行されるようです.
=============================
三谷 篤<mitani @ sraw.co.jp>
=============================
pgcluster メーリングリストの案内