diff options
author | Bill Stoddard <stoddard@apache.org> | 2001-05-16 13:49:40 +0000 |
---|---|---|
committer | Bill Stoddard <stoddard@apache.org> | 2001-05-16 13:49:40 +0000 |
commit | 97833cf13753f03fdc31c74d03c4fd2ad318ec7d (patch) | |
tree | 4fd761589a7767b2dc4c86da1b2ae6335d6f692e /modules/loggers | |
parent | 62ade4110272a9bca78525597e9fff52a5ea2474 (diff) | |
download | httpd-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.c | 12 |
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 */ |