Sendmail-PMilterの不具合原因判明。

子プロセスが死んだときに、親プロセスではSIGCHLDっていうシグナルを受けるのだが、
これでソケットの受信処理acceptが中断される。

ここまではいいのだが、中断され、accept()から戻ってきたときの戻りコードが
不適切なようだ。コード上はEINTRっていうコードを検査して処理を行っている
ようだが、実際にはEINTRで戻ってこないので、この処理を通過して、
子プロセスの生成を行ってしまう。処理の条件を書き足して対応。

一応開発元にもメールなりしたほうがいいんだろうな。

あと、とってもドキュメントが少ないので、(Sendmail-PMilterではなく)
Sendmail-Milterのドキュメントも見ながらコードかかないとダメみたい。

一応計算機ネタだが、Plamoじゃなくてすみません。
#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS