summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorJeff Trawick <trawick@apache.org>2007-01-28 22:14:40 +0100
committerJeff Trawick <trawick@apache.org>2007-01-28 22:14:40 +0100
commit97b575accbb25747cf21addbd089a223fd4eaf1c (patch)
tree007c0dd178d5118de845d3659f061bda84e54c65 /server
parent* Fix a off-by-one error in parse_format_tag in the case that the last character (diff)
downloadapache2-97b575accbb25747cf21addbd089a223fd4eaf1c.tar.xz
apache2-97b575accbb25747cf21addbd089a223fd4eaf1c.zip
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
Diffstat (limited to 'server')
-rw-r--r--server/mpm_common.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/server/mpm_common.c b/server/mpm_common.c
index ac85bb087b..bd2cda8ec7 100644
--- a/server/mpm_common.c
+++ b/server/mpm_common.c
@@ -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 */