以前作ったモジュール(SpeedyCGI と module reload - daily dayflower)でたまにモジュールファイルの変更を検知できないことがあったんですが,理由がわかりました。 SpeedyCGI の挙動をおさらいすると, frontend が backend を探す。いればよし backend がいない場合 backend(0) を生成 backend(0) がスクリプトをコンパイル backend(0) が fork して backend(1) を生成 frontend が backend(1) と通信 backend(1) が実行フェーズに入る だいたいこんな感じ。 以前のモジュールだと backend(1) で各モジュールファイルの mtime を保持していて,変更があれば「リロードしてね」というメッセージを出力していました。 問題は backend(1) の