summaryrefslogtreecommitdiff
path: root/modules/loggers
diff options
context:
space:
mode:
authorBill Stoddard <stoddard@apache.org>2001-05-16 13:49:40 +0000
committerBill Stoddard <stoddard@apache.org>2001-05-16 13:49:40 +0000
commit97833cf13753f03fdc31c74d03c4fd2ad318ec7d (patch)
tree4fd761589a7767b2dc4c86da1b2ae6335d6f692e /modules/loggers
parent62ade4110272a9bca78525597e9fff52a5ea2474 (diff)
downloadhttpd-97833cf13753f03fdc31c74d03c4fd2ad318ec7d.tar.gz
Do not start piped log processes during the config file
preflight. This change also circumvents a problem on Windows where the rotatelog processes created during preflight was not getting cleaned up properly. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89127 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/loggers')
-rw-r--r--modules/loggers/mod_log_config.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/loggers/mod_log_config.c b/modules/loggers/mod_log_config.c
index c2b655c455..3056177636 100644
--- a/modules/loggers/mod_log_config.c
+++ b/modules/loggers/mod_log_config.c
@@ -1013,6 +1013,18 @@ static config_log_state *open_config_log(server_rec *s, apr_pool_t *p,
apr_array_header_t *default_format)
{
apr_status_t status;
+ void *data;
+ const char *userdata_key = "open_config_log";
+
+ /* Skip opening the log the first time through. It's really
+ * good to avoid starting the piped log process during preflight.
+ */
+ apr_pool_userdata_get(&data, userdata_key, s->process->pool);
+ if (!data) {
+ apr_pool_userdata_set((const void *)1, userdata_key,
+ apr_pool_cleanup_null, s->process->pool);
+ return cls;
+ }
if (cls->log_fd != NULL) {
return cls; /* virtual config shared w/main server */