У меня странное поведение в обработчике Apache post_config:
int setup_module(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,server_rec *s)
{
//1
my_config_t *config = ap_get_module_config(s->module_config, &my_module);
//2
log_me(config->logfp, apr_psprintf(ptemp, "My module version %s\n", MY_VERSION));
//3
log_me(config->logfp, "Starting the batch job");
return OK;
}
log_me - это пользовательская функция, объявленная в другом файле и объявленная в заголовке (она разрешается во время компиляции).
На шаге 2 я вижу, что config имеет допустимое значение, однако шаг 3 завершается неудачно с SEGSEGV, и если я пытаюсь его отладить, я вижу это:
// шаг 2 gdb: print config $ 1 = (my_config_t *) 0x7a8098
// шаг 3 gdb: печать конфигурации Не удается получить доступ к памяти по адресу 0x38