From: Ruediger Pluem Date: Wed, 30 Jul 2008 21:08:33 +0000 (+0000) Subject: * Give possible piped loggers a chance to process their input before they get X-Git-Tag: 2.3.0~406 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b850cc9e29b55b1b567d15c60c5f7e53a28893e0;p=apache * Give possible piped loggers a chance to process their input before they get killed by us. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@681204 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/main.c b/server/main.c index 451d2e20ad..02a66a5234 100644 --- a/server/main.c +++ b/server/main.c @@ -259,9 +259,19 @@ static void show_compile_settings(void) #endif } +#define TASK_SWITCH_SLEEP 10000 + static void destroy_and_exit_process(process_rec *process, int process_exit_value) { + /* + * Sleep for TASK_SWITCH_SLEEP micro seconds to cause a task switch on + * OS layer and thus give possibly started piped loggers a chance to + * process their input. Otherwise it is possible that they get killed + * by us before they can do so. In this case maybe valueable log messages + * might get lost. + */ + apr_sleep(TASK_SWITCH_SLEEP); apr_pool_destroy(process->pool); /* and destroy all descendent pools */ apr_terminate(); exit(process_exit_value);