httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject procattr stuff for 2.2.x
Date Wed, 10 Oct 2007 22:16:33 GMT
On Fri, Oct 05, 2007 at 09:08:13AM -0000, rpluem@apache.org 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)


Mime
View raw message