]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Approved and backported
authorJim Jagielski <jim@apache.org>
Mon, 8 Oct 2007 12:44:08 +0000 (12:44 +0000)
committerJim Jagielski <jim@apache.org>
Mon, 8 Oct 2007 12:44:08 +0000 (12:44 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@582804 13f79535-47bb-0310-9956-ffa450edef68

STATUS
server/log.c

diff --git a/STATUS b/STATUS
index e81ac8b487b8d0fe6cab5c16c429c94378a848f5..30fcde1b39017ff4fa51e2fb81f170bd16c0dd3c 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -79,14 +79,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-   * core log.c: Authored and Reviewed by both rplume and wrowe within 
-     the same 10 minutes, share only a single apr_file_t/fd between the
-     stderr and server_main->error_log to prevent any lingering write 
-     handles from hanging around in unexpected ways.
-        http://svn.apache.org/viewvc?view=rev&revision=580437
-      PR 43491, solution validated by reporter
-      +1: wrowe, rpluem, jim
-
    * mod_proxy_http: strip hop-by-hop response headers
      PR 43455
      http://svn.apache.org/viewvc?view=rev&revision=580044
index 14b4fdc21f1d988f8b2a5e40c6a1eb451769ba24..aa840abfd90c197d2330220e5e24c46152d77c8f 100644 (file)
@@ -421,6 +421,16 @@ int ap_open_logs(apr_pool_t *pconf, apr_pool_t *p /* plog */,
                 apr_pool_destroy(stderr_pool);
             stderr_pool = stderr_p;
             replace_stderr = 0;
+            /*
+             * Now that we have dup'ed s_main->error_log to stderr_log
+             * close it and set s_main->error_log to stderr_log. This avoids
+             * this fd being inherited by the next piped logger who would
+             * keep open the writing end of the pipe that this one uses
+             * as stdin. This in turn would prevent the piped logger from
+             * exiting.
+             */
+             apr_file_close(s_main->error_log);
+             s_main->error_log = stderr_log;
         }
     }
     /* note that stderr may still need to be replaced with something