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

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

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

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

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

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



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:41