diff options
author | Chip Salzenberg <chip@pobox.com> | 2003-07-10 09:13:20 -0400 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-07-10 17:33:53 +0000 |
commit | b35112e751727d4207068fd54bf0c9d77ad0ba97 (patch) | |
tree | a7c3178c72e3442ae7dd539f8e3b913dbd62c938 /perl.h | |
parent | 669f94828c50674b20ed995418707226081e2671 (diff) | |
download | perl-b35112e751727d4207068fd54bf0c9d77ad0ba97.tar.gz |
Restore SIGFPE on exec()
Message-ID: <20030710171319.GA21588@perlsupport.com>
p4raw-id: //depot/perl@20117
Diffstat (limited to 'perl.h')
-rw-r--r-- | perl.h | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1935,12 +1935,18 @@ typedef struct clone_params CLONE_PARAMS; # define PERL_FPU_INIT fpsetmask(0); # else # if defined(SIGFPE) && defined(SIG_IGN) -# define PERL_FPU_INIT signal(SIGFPE, SIG_IGN); +# define PERL_FPU_INIT PL_sigfpe_saved = signal(SIGFPE, SIG_IGN) +# define PERL_FPU_PRE_EXEC { Sigsave_t xfpe; rsignal_save(SIGFPE, PL_sigfpe_saved, &xfpe); +# define PERL_FPU_POST_EXEC rsignal_restore(SIGFPE, &xfpe); } # else # define PERL_FPU_INIT # endif # endif #endif +#ifndef PERL_FPU_PRE_EXEC +# define PERL_FPU_PRE_EXEC { +# define PERL_FPU_POST_EXEC } +#endif #ifndef PERL_SYS_INIT3 # define PERL_SYS_INIT3(argvp,argcp,envp) PERL_SYS_INIT(argvp,argcp) |