私が取り組んでいるApacheモジュールにこのコードがあり、ap_hook_child_init()を使用して登録されています:
static class_name *mc;
static void child_init(apr_pool_t *pool, server_rec *s)
{
ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, "this pointer should be null: %pp", mc);
mc = mc_alloc();
ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, "this pointer should not be null: %pp", mc);
}
問題: これらのログ メッセージが表示されない!
mc_alloc()
モジュールの他の部分 (リクエスト ハンドラーなど) からログを記録すると、ログ メッセージが表示され、ポインターの有効な結果が得られるため、この関数が呼び出され、への呼び出しが機能していることは確かです。これは、ロギングが機能していることも示しています。
間違っているのは私のコードですか、それとも私の期待ですか? ap_hook_child_init コールバック中にログ メッセージを発行できませんか? そうでない場合、子が初期化されたことを他にどのように記録できますか?