]> git.pld-linux.org Git - packages/apache.git/blobdiff - apache-prefork-graceful-fix.patch
- up to 2.2.12 (fixes CVE-2009-1891, CVE-2009-1195, CVE-2009-1890, CVE-2009-1191)
[packages/apache.git] / apache-prefork-graceful-fix.patch
diff --git a/apache-prefork-graceful-fix.patch b/apache-prefork-graceful-fix.patch
deleted file mode 100644 (file)
index d5085db..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
---- server/mpm/prefork/prefork.c       2009/01/31 20:53:11     739607
-+++ server/mpm/prefork/prefork.c       2009/01/31 20:54:55     739608
-@@ -577,19 +577,27 @@
-                 apr_int32_t numdesc;
-                 const apr_pollfd_t *pdesc;
--                /* timeout == -1 == wait forever */
--                status = apr_pollset_poll(pollset, -1, &numdesc, &pdesc);
-+                /* check for termination first so we don't sleep for a while in
-+                 * poll if already signalled
-+                 */
-+                if (one_process && shutdown_pending) {
-+                    SAFE_ACCEPT(accept_mutex_off());
-+                    return;
-+                }
-+                else if (die_now) {
-+                    /* In graceful stop/restart; drop the mutex
-+                     * and terminate the child. */
-+                    SAFE_ACCEPT(accept_mutex_off());
-+                    clean_child_exit(0);
-+                }
-+                /* timeout == 10 seconds to avoid a hang at graceful restart/stop
-+                 * caused by the closing of sockets by the signal handler
-+                 */
-+                status = apr_pollset_poll(pollset, apr_time_from_sec(10), 
-+                                          &numdesc, &pdesc);
-                 if (status != APR_SUCCESS) {
--                    if (APR_STATUS_IS_EINTR(status)) {
--                        if (one_process && shutdown_pending) {
--                            return;
--                        }
--                        else if (die_now) {
--                            /* In graceful stop/restart; drop the mutex
--                             * and terminate the child. */
--                            SAFE_ACCEPT(accept_mutex_off());
--                            clean_child_exit(0);
--                        }
-+                    if (APR_STATUS_IS_TIMEUP(status) ||
-+                        APR_STATUS_IS_EINTR(status)) {
-                         continue;
-                     }
-                     /* Single Unix documents select as returning errnos
This page took 0.034418 seconds and 4 git commands to generate.