On Fri, Oct 05, 2007 at 09:08:13AM -0000, [EMAIL PROTECTED] wrote: > --- httpd/httpd/branches/2.2.x/STATUS (original) > +++ httpd/httpd/branches/2.2.x/STATUS Fri Oct 5 02:08:13 2007 > @@ -185,6 +185,10 @@ > Not in or needed at trunk/, as apr 1.3.0 has the proper fix. > > http://people.apache.org/~wrowe/httpd-2.0-2.2-procattr-bugfix-log.c.patch > +1: wrowe > + rpluem says: Is this really the correct thing to do on UNIX? I am not > sure > + if all dup2 implementation notice that both fd's are the same. Otherwise > + they close stdout/stderr first and dup a then closed fd in > stdout/stderr, > + leaving us without stdout/stderr in the child.
Before Bill loses the will to hack the piped logging code... is this all correct: 1) r452431 introduced a regression on Win32 2) PR 40651 (fixed by r452431) was Unix-specific? Or at least PR 40651 is not as harmful as the aforementioned regression. 3) we can restore the pre-2.2.4 behaviour on Win32 by doing something simple like the below, without having to mess with the APR procattr code or continue adding complexity to the log.c code? Index: server/log.c =================================================================== --- server/log.c (revision 583629) +++ server/log.c (working copy) @@ -265,6 +265,11 @@ apr_proc_t *procnew; apr_file_t *errfile; +#ifdef WIN32 + /* workaround for APR 1.2.x */ + dummy_stderr = 0; +#endif + if (((rc = apr_procattr_create(&procattr, p)) == APR_SUCCESS) && ((rc = apr_procattr_cmdtype_set(procattr, APR_SHELLCMD_ENV)) == APR_SUCCESS)