[Gauche-devel-jp] Re: apacheのrestart時に、Gauche-fastcgiプロセスが残ってしまう

Back to archive index

Kimura Fuyuki fuyuk****@nigre*****
2004年 2月 1日 (日) 11:06:59 JST


At Sun, 1 Feb 2004 03:07:13 +0900,
yamada <yamad****@tir*****> wrote:
> 
> Gauche-fastcgiを使っていて気づいたのですが、
> 今のところ、シグナルは全部無視するようになってます?
> apachectlでrestart等をすると、以前のfastcgiプロセスが残ってしまいます。
> (普通にkillしても死ななかったので、-9で殺しました)

実は昨日それではまってました。(うちだけの問題でないことがわかってよかっ
たです)

0.0ではシグナルに関してなにもしていないので、SIGTERM で死んでくれると
思ったんですけどね。

原因はまだつかめてませんが、おそらくGaucheの

        シグナルがSchemeプロセスに送られると、それはVM中のキューに入れ
        られます。 VMは「安全なポイント」に達した時にキューを検査し、
        シグナルが届いていればそれを順に処理します。

という特性に関係があるのではないかと見ています。killしたあと、ページを
リロードしたりするといちおう死んではくれるので。

> apachectlでrestart, graceful等を行うと、apacheのプロセス群には、
> restart時にはSIGHUP、graceful時にはSIGUSR1が流れるのですけど、
> 多分、httpdから動的起動したfastcgiプロセスにも、
> 伝わる…‥ような気がします。
>http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
>  のNotesの辺り。SIGHUPは伝わらない???)

mod_fastcgiのソースを見てたらTERM以外流してくれないような気がしてきま
した。仕様上は「FastCGIアプリはTERMで死ぬべし」としかなってないはずな
ので、それでいいといえばいいのかもしれませんが。

-- 
木村 冬樹



Gauche-devel-jp メーリングリストの案内
Back to archive index