SOURCES: apache-pollset-segv.patch (NEW) - from upstream, prefork: log an e...

hawk hawk at pld-linux.org
Fri Feb 13 13:20:27 CET 2009


Author: hawk                         Date: Fri Feb 13 12:20:27 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- from upstream, prefork: log an error instead of segfaulting when child
  startup fails due to pollset creation failures

---- Files affected:
SOURCES:
   apache-pollset-segv.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/apache-pollset-segv.patch
diff -u /dev/null SOURCES/apache-pollset-segv.patch:1.1
--- /dev/null	Fri Feb 13 13:20:28 2009
+++ SOURCES/apache-pollset-segv.patch	Fri Feb 13 13:20:21 2009
@@ -0,0 +1,17 @@
+--- server/mpm/prefork/prefork.c	2009/01/12 11:37:23	733697
++++ server/mpm/prefork/prefork.c	2009/01/12 11:37:32	733698
+@@ -517,8 +517,12 @@
+     (void) ap_update_child_status(sbh, SERVER_READY, (request_rec *) NULL);
+ 
+     /* Set up the pollfd array */
+-    /* ### check the status */
+-    (void) apr_pollset_create(&pollset, num_listensocks, pchild, 0);
++    status = apr_pollset_create(&pollset, num_listensocks, pchild, 0);
++    if (status != APR_SUCCESS) {
++        ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf,
++                     "Couldn't create pollset in child; check system or user limits");
++        clean_child_exit(APEXIT_CHILDSICK); /* assume temporary resource issue */
++    }
+ 
+     for (lr = ap_listeners, i = num_listensocks; i--; lr = lr->next) {
+         apr_pollfd_t pfd = { 0 };
================================================================


More information about the pld-cvs-commit mailing list