From: William A. Rowe Jr Date: Sun, 6 Jan 2008 18:22:37 +0000 (+0000) Subject: Copying this code requires a (global) pool and rv declaration. X-Git-Tag: 2.3.0~1054 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=782bc894e0e82bf7b2b23a025835d9ea1ecb1d99;p=apache Copying this code requires a (global) pool and rv declaration. We don't need to replace this upon restart, so the global pool is ideal, and ap_my_generation is a good test for this. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@609366 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c index 9ce90fbff5..04ffa508b7 100644 --- a/server/mpm/winnt/mpm_winnt.c +++ b/server/mpm/winnt/mpm_winnt.c @@ -1372,21 +1372,23 @@ static int winnt_pre_config(apr_pool_t *pconf_, apr_pool_t *plog, apr_pool_t *pt service_name); exit(APEXIT_INIT); } - else if (!one_process) { + else if (!one_process && !ap_my_generation) { /* Open a null handle to soak stdout in this process. * We need to emulate apr_proc_detach, unix performs this * same check in the pre_config hook (although it is * arguably premature). Services already fixed this. */ apr_file_t *nullfile; + apr_status_t rv; + apr_pool_t *pproc = apr_pool_parent_get(pconf); if ((rv = apr_file_open(&nullfile, "NUL", APR_READ | APR_WRITE, APR_OS_DEFAULT, - process->pool)) == APR_SUCCESS) { + pproc)) == APR_SUCCESS) { apr_file_t *nullstdout; - if (apr_file_open_stdout(&nullstdout, process->pool) + if (apr_file_open_stdout(&nullstdout, pproc) == APR_SUCCESS) - apr_file_dup2(nullstdout, nullfile, process->pool); + apr_file_dup2(nullstdout, nullfile, pproc); apr_file_close(nullfile); } }