From: Jeff Trawick Date: Mon, 29 Jan 2007 17:54:10 +0000 (+0000) Subject: Merge from trunk: X-Git-Tag: 2.2.5~320 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3f5ff3df0f32e9fc81b24df229d425610116488;p=thirdparty%2Fapache%2Fhttpd.git Merge from trunk: Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory can work after that terminating signal. Submitted by: Eric Covener Reviewed by: trawick, rpluem, jorton git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@501130 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 324bff2fde8..1561baf5416 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@  -*- coding: utf-8 -*- Changes with Apache 2.2.5 + *) Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory + can work after that terminating signal. + [Eric Covener ] + *) Win32: Makefile.win will now build with MS VC 8 (Visual Studio 2005) including embedding the .manifest information into each binary. [William Rowe] diff --git a/STATUS b/STATUS index d0c2a9db52f..ec5d3bf71bc 100644 --- a/STATUS +++ b/STATUS @@ -194,9 +194,3 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK: http://svn.apache.org/viewvc?view=rev&revision=486320 +1: trawick, rpluem - * Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory - can work after that terminating signal. - http://svn.apache.org/viewvc?view=rev&revision=500881 - http://svn.apache.org/viewvc?view=rev&revision=500897 - +1: trawick, rpluem, jorton - diff --git a/server/mpm_common.c b/server/mpm_common.c index 26a74891031..c654cbfb221 100644 --- a/server/mpm_common.c +++ b/server/mpm_common.c @@ -1217,6 +1217,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 */ @@ -1233,6 +1237,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 /* SIGFPE */ #endif /* NO_USE_SIGACTION */