]> granicus.if.org Git - apache/commitdiff
Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory
authorJeff Trawick <trawick@apache.org>
Sun, 28 Jan 2007 21:14:40 +0000 (21:14 +0000)
committerJeff Trawick <trawick@apache.org>
Sun, 28 Jan 2007 21:14:40 +0000 (21:14 +0000)
can work after that terminating signal.

Submitted by: Eric Covener <covener gmail.com>
Reviewed by:  trawick

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@500881 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm_common.c

diff --git a/CHANGES b/CHANGES
index 897f494e453aaed5b945e86835205465aba0da31..10d3e58e87d2700e24631ce843397ecb8d803e36 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory
+     can work after that terminating signal.
+     [Eric Covener <covener gmail.com>]
+
   *) mod_dbd: Create memory sub-pools for each DB connection and close
      DB connections in a pool cleanup function.  Ensure prepared statements
      are destroyed before DB connection is closed.  When using reslists,
index ac85bb087be2e7ef7352ad4cedca993bba79f81e..bd2cda8ec74480bef07b122de8eaa02b2667edcc 100644 (file)
@@ -1187,6 +1187,10 @@ apr_status_t ap_fatal_signal_setup(server_rec *s, apr_pool_t *in_pconf)
     if (sigaction(SIGILL, &sa, NULL) < 0)
         ap_log_error(APLOG_MARK, APLOG_WARNING, errno, s, "sigaction(SIGILL)");
 #endif
+#ifdef SIGFPE
+    if (sigaction(SIGFPE, &sa, NULL) < 0)
+        ap_log_error(APLOG_MARK, APLOG_WARNING, errno, s, "sigaction(SIGFPE)");
+#endif
 
 #else /* NO_USE_SIGACTION */
 
@@ -1203,6 +1207,9 @@ apr_status_t ap_fatal_signal_setup(server_rec *s, apr_pool_t *in_pconf)
 #ifdef SIGILL
     apr_signal(SIGILL, sig_coredump);
 #endif /* SIGILL */
+#ifdef SIGFPE
+    apr_signal(SIGFPE, sig_coredump);
+#endif /* SIGILL */
 
 #endif /* NO_USE_SIGACTION */