mirror of
https://github.com/python/cpython.git
synced 2025-07-19 09:15:34 +00:00
Use PyOS_setsig() instead of signal(). Also remove redundant spaces
from the FreeBSD code.
This commit is contained in:
parent
b798c0109f
commit
cf06571a8b
1 changed files with 15 additions and 15 deletions
|
@ -130,7 +130,7 @@ static void fpe_reset(Sigfunc *handler)
|
|||
(user_routine *)0,
|
||||
_ABORT_ON_ERROR,
|
||||
NULL);
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- SunOS and Solaris ----------------------------------------------------*/
|
||||
#elif defined(sun)
|
||||
|
@ -144,7 +144,7 @@ static void fpe_reset(Sigfunc *handler)
|
|||
(void) nonstandard_arithmetic();
|
||||
(void) ieee_flags("clearall",mode,in,&out);
|
||||
(void) ieee_handler("set","common",(sigfpe_handler_type)handler);
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- HPUX -----------------------------------------------------------------*/
|
||||
#elif defined(__hppa) || defined(hppa)
|
||||
|
@ -153,7 +153,7 @@ static void fpe_reset(Sigfunc *handler)
|
|||
/* ld -b -o fpectlmodule.sl fpectlmodule.o -lm */
|
||||
#include <math.h>
|
||||
fpsetdefaults();
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- IBM AIX --------------------------------------------------------------*/
|
||||
#elif defined(__AIX) || defined(_AIX)
|
||||
|
@ -161,7 +161,7 @@ static void fpe_reset(Sigfunc *handler)
|
|||
#include <fptrap.h>
|
||||
fp_trap(FP_TRAP_SYNC);
|
||||
fp_enable(TRP_INVALID | TRP_DIV_BY_ZERO | TRP_OVERFLOW);
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- DEC ALPHA OSF --------------------------------------------------------*/
|
||||
#elif defined(__alpha) && defined(__osf__)
|
||||
|
@ -172,7 +172,7 @@ static void fpe_reset(Sigfunc *handler)
|
|||
unsigned long fp_control =
|
||||
IEEE_TRAP_ENABLE_INV | IEEE_TRAP_ENABLE_DZE | IEEE_TRAP_ENABLE_OVF;
|
||||
ieee_set_fp_control(fp_control);
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- Cray Unicos ----------------------------------------------------------*/
|
||||
#elif defined(cray)
|
||||
|
@ -180,13 +180,13 @@ static void fpe_reset(Sigfunc *handler)
|
|||
#ifdef HAS_LIBMSET
|
||||
libmset(-1);
|
||||
#endif
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- FreeBSD ----------------------------------------------------------------*/
|
||||
#elif defined(__FreeBSD__)
|
||||
fpresetsticky(fpgetsticky());
|
||||
fpsetmask(FP_X_INV | FP_X_DZ | FP_X_OFL);
|
||||
signal( SIGFPE, handler );
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- Linux ----------------------------------------------------------------*/
|
||||
#elif defined(linux)
|
||||
|
@ -196,13 +196,13 @@ static void fpe_reset(Sigfunc *handler)
|
|||
#include <i386/fpu_control.h>
|
||||
#endif
|
||||
__setfpucw(0x1372);
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- NeXT -----------------------------------------------------------------*/
|
||||
#elif defined(NeXT) && defined(m68k) && defined(__GNUC__)
|
||||
/* NeXT needs explicit csr set to generate SIGFPE */
|
||||
asm("fmovel #0x1400,fpcr"); /* set OVFL and ZD bits */
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- Microsoft Windows, NT ------------------------------------------------*/
|
||||
#elif defined(_MSC_VER)
|
||||
|
@ -211,7 +211,7 @@ static void fpe_reset(Sigfunc *handler)
|
|||
#include <float.h>
|
||||
unsigned int cw = _EM_INVALID | _EM_ZERODIVIDE | _EM_OVERFLOW;
|
||||
(void)_controlfp(0, cw);
|
||||
signal(SIGFPE, handler);
|
||||
PyOS_setsig(SIGFPE, handler);
|
||||
|
||||
/*-- Give Up --------------------------------------------------------------*/
|
||||
#else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue