У меня есть этот код в модуль апача я работаю, который регистрируется с помощью ap_hook_child_init():ap_log_error не войдя в мой апача модуль
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? Если нет, как еще я могу зарегистрировать, что ребенок был инициализирован?
ОК. Я сделал несколько других тестов, и я уверен, что это называется. Очевидный тест, который я сделал, состоял в том, чтобы проверить NULL в обработчике запросов, а затем прокомментировать вызов 'mc_alloc()' и повторить попытку. Результаты были разными, так что теперь я уверен. – mlibby