Apache の Accept mutex

[Sat Mar 17 10:52:36 2007] [notice] Apache configured -- resuming normal operations
[Sat Mar 17 10:52:36 2007] [notice] Accept mutex: sysvsem (Default: sysvsem)

一つ前の http://d.hatena.ne.jp/naoya/20070311/1173629378 で触れた Apache の accept(2) の順列化の件ですが、そういえば Apache 1.3 だとデフォルトの設定で、Apache 起動時に "Accept mutex" というのが出るんだったと今になって気づきました。これが Apache 1.3 が accept(2) の順列化に複数あるうちどの実装を使ってるかを示すログなんですね。上記だと sysvsem だから System V セマフォです。

ちなみにマニュアル http://httpd.apache.org/docs/2.0/ja/mod/mpm_common.html によると他には flock(2)、fcntl(2)、POSIXセマフォ、pthreads で規格で実装されてる排他処理 (なんだろ) が選べるぽいです。Apache 2.0 では普通この Accept mutex 行はログに記載されないので LogLevel debug にしる、とのこと。

灯台元暗し。何年も Apache 触ってるけどいつからかこの一行は自分の視界に入らなくなってたようです。