Diff for /gforth/engine/signals.c between versions 1.31 and 1.39

version 1.31, 2006/10/21 22:13:49 version 1.39, 2007/12/31 18:40:25
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,2007 Free Software Foundation, Inc.
   
   This file is part of Gforth.    This file is part of Gforth.
   
   Gforth is free software; you can redistribute it and/or    Gforth is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License    modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation; either version 2    as published by the Free Software Foundation, either version 3
   of the License, or (at your option) any later version.    of the License, or (at your option) any later version.
   
   This program is distributed in the hope that it will be useful,    This program is distributed in the hope that it will be useful,
Line 15 Line 15
   GNU General Public License for more details.    GNU General Public License for more details.
   
   You should have received a copy of the GNU General Public License    You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software    along with this program; if not, see http://www.gnu.org/licenses/.
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
 */  */
   
Line 41  typedef struct sigaltstack stack_t; Line 40  typedef struct sigaltstack stack_t;
 #endif  #endif
   
 #define DEFAULTCOLS 80  #define DEFAULTCOLS 80
 #if defined(MSDOS) || defined (_WIN32)  #if defined(MSDOS) || defined (_WIN32) || defined (__CYGWIN__)
 #define DEFAULTROWS 25  #define DEFAULTROWS 25
 #else  #else
 #define DEFAULTROWS 24  #define DEFAULTROWS 24
Line 142  static void fpe_handler(int sig, siginfo Line 141  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 232  void get_winsize() Line 231  void get_winsize()
 #endif  #endif
   if (rows==0)    if (rows==0)
     rows=DEFAULTROWS;      rows=DEFAULTROWS;
   if (rows==0)    if (cols==0)
     cols=DEFAULTCOLS;      cols=DEFAULTCOLS;
 }  }
   
Line 415  void install_signal_handlers(void) Line 414  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);
   }    }
   #if defined(HAS_FILE) || !defined(STANDALONE)
   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))
 /*  /*

Removed from v.1.31  
changed lines
  Added in v.1.39


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>