Author: trawick
Date: Sun Jan 28 13:14:40 2007
New Revision: 500881
URL: http://svn.apache.org/viewvc?view=rev&rev=500881
Log:
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
Modified:
httpd/httpd/trunk/CHANGES
httpd/httpd/trunk/server/mpm_common.c
Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?view=diff&rev=500881&r1=500880&r2=500881
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Sun Jan 28 13:14:40 2007
@@ -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,
Modified: httpd/httpd/trunk/server/mpm_common.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm_common.c?view=diff&rev=500881&r1=500880&r2=500881
==============================================================================
--- httpd/httpd/trunk/server/mpm_common.c (original)
+++ httpd/httpd/trunk/server/mpm_common.c Sun Jan 28 13:14:40 2007
@@ -1187,6 +1187,10 @@
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 */
@@ -1202,6 +1206,9 @@
#endif /* SIGABRT */
#ifdef SIGILL
apr_signal(SIGILL, sig_coredump);
+#endif /* SIGILL */
+#ifdef SIGFPE
+ apr_signal(SIGFPE, sig_coredump);
#endif /* SIGILL */
#endif /* NO_USE_SIGACTION */
|