version 1.31, 2006/10/21 22:13:49
|
version 1.34, 2007/03/25 21:30:59
|
Line 1
|
Line 1
|
/* signal handling |
/* signal handling |
|
|
Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc. |
Copyright (C) 1995,1996,1997,1998,2000,2003,2006 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Line 142 static void fpe_handler(int sig, siginfo
|
Line 142 static void fpe_handler(int sig, siginfo
|
|
|
switch(info->si_code) { |
switch(info->si_code) { |
#ifdef FPE_INTDIV |
#ifdef FPE_INTDIV |
case FPE_INTDIV: code=-10; break; /* integer divide by zero */ |
case FPE_INTDIV: code=BALL_DIVZERO; break; |
#endif |
#endif |
#ifdef FPE_INTOVF |
#ifdef FPE_INTOVF |
case FPE_INTOVF: code=-11; break; /* integer overflow */ |
case FPE_INTOVF: code=BALL_RESULTRANGE; break; /* integer overflow */ |
#endif |
#endif |
#ifdef FPE_FLTDIV |
#ifdef FPE_FLTDIV |
case FPE_FLTDIV: code=-42; break; /* floating point divide by zero */ |
case FPE_FLTDIV: code=-42; break; /* floating point divide by zero */ |
Line 415 void install_signal_handlers(void)
|
Line 415 void install_signal_handlers(void)
|
sigstack.ss_flags=0; |
sigstack.ss_flags=0; |
sas_retval=sigaltstack(&sigstack,(stack_t *)0); |
sas_retval=sigaltstack(&sigstack,(stack_t *)0); |
} |
} |
|
#ifdef HAS_FILE |
if (debug) |
if (debug) |
fprintf(stderr,"sigaltstack: %s\n",strerror(sas_retval)); |
fprintf(stderr,"sigaltstack: %s\n",strerror(sas_retval)); |
#endif |
#endif |
|
#endif |
|
|
#define DIM(X) (sizeof (X) / sizeof *(X)) |
#define DIM(X) (sizeof (X) / sizeof *(X)) |
/* |
/* |