Sendmail-PMilterの不具合原因判明。
子プロセスが死んだときに、親プロセスではSIGCHLDっていうシグナルを受けるのだが、
これでソケットの受信処理acceptが中断される。
ここまではいいのだが、中断され、accept()から戻ってきたときの戻りコードが
不適切なようだ。コード上はEINTRっていうコードを検査して処理を行っている
ようだが、実際にはEINTRで戻ってこないので、この処理を通過して、
子プロセスの生成を行ってしまう。処理の条件を書き足して対応。
一応開発元にもメールなりしたほうがいいんだろうな。
あと、とってもドキュメントが少ないので、(Sendmail-PMilterではなく)
Sendmail-Milterのドキュメントも見ながらコードかかないとダメみたい。
一応計算機ネタだが、Plamoじゃなくてすみません。
#comment