Как вызвать исполняемый файл с помощью системного вызова из модуля apache type_checker hook?
static int x_post_config(apr_pool_t *pconf, apr_pool_t *plog,
apr_pool_t *ptemp, server_rec *s)
{
system("/home/user/workspace/CheckVideo/Debug/CheckVideo.exe");
return OK;
}
static void register_hooks(apr_pool_t* pool)
{
ap_hook_post_config(x_post_config, NULL, NULL, APR_HOOK_MIDDLE);
}
module AP_MODULE_DECLARE_DATA MyModule_module = {
STANDARD20_MODULE_STUFF,
NULL,
NULL,
NULL,
NULL,
NULL,
register_hooks
};
Я разработал этот модуль на C и интегрировал его в сервер Apache, используя инструмент расширения Apache (apxs). Я могу запустить исполняемый файл, используя системный вызов в фоновом режиме при вызове из post_config
крюк.
Теперь я хочу изменить тот же код для запуска исполняемого файла с использованием системного вызова, только когда на Apache вызывается определенный тип MIME, например.mp4 video. Так что вместо post_config
Я хочу запустить этот исполняемый файл на этапе ответа Apache. Я пытаюсь выполнить то же самое system()
функция например:
static int My_handler(request_rec* r)
{
if (strcmp(r->content_type, "video/mp4"))
{
system("/home/user/workspace/CheckVideo/Debug/CheckVideo.exe");
}
return DECLINED;
}
static void register_hooks(apr_pool_t* pool)
{
ap_hook_handler(My_handler, NULL, NULL, APR_HOOK_MIDDLE);
}
module AP_MODULE_DECLARE_DATA My_handler = {
STANDARD20_MODULE_STUFF,
NULL,
NULL,
NULL,
NULL,
NULL,
register_hooks
};
Я хочу запускать этот исполняемый файл непрерывно в фоновом режиме видео, и он должен вызываться только для определенного типа видео. Итак, как я могу вызвать исполняемый файл с помощью системного вызова из модуля Apache ap_hook_handler
?