Commit d3abd2cb authored by Jeff Trawick's avatar Jeff Trawick
Browse files

Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory

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
parent ce6af37a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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,
+7 −0
Original line number Diff line number Diff line
@@ -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 */