From: Rafael Garcia-Suarez Date: Fri, 8 Sep 2006 17:43:41 +0000 (+0200) Subject: Deliver SIGILL, SIGBUS and SIGSEGV always in an "unsafe" manner. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=853d2c326bb0bf43f54320164d14d9db228c8eef;p=p5sagit%2Fp5-mst-13.2.git Deliver SIGILL, SIGBUS and SIGSEGV always in an "unsafe" manner. Subject: Safe signals and SIGSEGV Message-ID: <20060908174341.0cc7988f@grubert.mandriva.com> p4raw-id: //depot/perl@28875 --- diff --git a/mg.c b/mg.c index 2e3bf46..b477386 100644 --- a/mg.c +++ b/mg.c @@ -1309,7 +1309,17 @@ Perl_csighandler(int sig) exit(1); #endif #endif - if (PL_signals & PERL_SIGNALS_UNSAFE_FLAG) + if ( +#ifdef SIGILL + sig == SIGILL || +#endif +#ifdef SIGBUS + sig == SIGBUS || +#endif +#ifdef SIGSEGV + sig == SIGSEGV || +#endif + (PL_signals & PERL_SIGNALS_UNSAFE_FLAG)) /* Call the perl level handler now-- * with risk we may be in malloc() etc. */ (*PL_sighandlerp)(sig);