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

Back to archive index

Shiro Kawai shiro****@lava*****
2004年 2月 1日 (日) 15:58:28 JST


From: Kimura Fuyuki <fuyuk****@nigre*****>
Subject: [Gauche-devel-jp] Re: apacheのrestart時に、Gauche-fastcgiプロセスが残ってしまう
Date: Sun, 01 Feb 2004 11:06:59 +0900

> 0.0ではシグナルに関してなにもしていないので、SIGTERM で死んでくれると
> 思ったんですけどね。
> 
> 原因はまだつかめてませんが、おそらくGaucheの
> 
>         シグナルがSchemeプロセスに送られると、それはVM中のキューに入れ
>         られます。 VMは「安全なポイント」に達した時にキューを検査し、
>         シグナルが届いていればそれを順に処理します。
> 
> という特性に関係があるのではないかと見ています。killしたあと、ページを
> リロードしたりするといちおう死んではくれるので。

ふむ。
待っているのは多分FCGX_Acceptですよね? こいつが、EINTRでシステム
コールが返った時に内部でシステムコールをリスタートするようにしていると、
受けたシグナルはキューにたまるだけで処理されないっぽいです。

…と思ってソースをみてみたら、libfcgi/os_unix.cのOS_Acceptで
やぱりEINTRはリスタートかけてますね。ただ、fail_on_intrという
フラグがあるみたいなんで、これをうまく使えばいけるかも。

--shiro






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