diff --git a/apache2.changes b/apache2.changes index bf15a2f..1a338d4 100644 --- a/apache2.changes +++ b/apache2.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Oct 31 16:04:15 UTC 2014 - crrodriguez@opensuse.org + +- httpd-event-deadlock.patch: Fix worker-listener + deadlock in graceful restart. + ------------------------------------------------------------------- Thu Oct 16 12:29:06 UTC 2014 - pgajdos@suse.com diff --git a/apache2.spec b/apache2.spec index ef747a3..0a38314 100644 --- a/apache2.spec +++ b/apache2.spec @@ -157,6 +157,7 @@ Patch67: httpd-2.2.0-apxs-a2enmod.dif Patch68: httpd-2.x.x-logresolve.patch Patch69: httpd-2.2.x-bnc690734.patch Patch70: apache2-implicit-pointer-decl.patch +Patch71: httpd-event-deadlock.patch # PATCH-FEATURE-UPSTREAM apache2-mod_ssl_npn.patch dimstar@opensuse.org -- Add npn support to mod_ssl (needed for spdy) #Patch108: apache2-mod_ssl_npn.patch #Provides: apache2(mod_ssl+npn) @@ -338,6 +339,7 @@ to administrators of web servers in general. %patch68 -p1 #%patch69 %patch70 -p1 +%patch71 -p1 #%patch108 -p1 %patch109 -p1 %patch111 -p1 diff --git a/httpd-event-deadlock.patch b/httpd-event-deadlock.patch new file mode 100644 index 0000000..1ab5ee9 --- /dev/null +++ b/httpd-event-deadlock.patch @@ -0,0 +1,18 @@ +--- httpd-2.4.10.orig/server/mpm/event/event.c ++++ httpd-2.4.10/server/mpm/event/event.c +@@ -1271,13 +1271,13 @@ static void get_worker(int *have_idle_wo + else + rc = ap_queue_info_try_get_idler(worker_queue_info); + +- if (rc == APR_SUCCESS) { ++ if (rc == APR_SUCCESS || APR_STATUS_IS_EOF(rc)) { + *have_idle_worker_p = 1; + } + else if (!blocking && rc == APR_EAGAIN) { + *all_busy = 1; + } +- else if (!APR_STATUS_IS_EOF(rc)) { ++ else { + ap_log_error(APLOG_MARK, APLOG_ERR, rc, ap_server_conf, APLOGNO(00472) + "ap_queue_info_wait_for_idler failed. " + "Attempting to shutdown process gracefully");