--- gforth/engine/io.c 1997/08/22 19:23:20 1.4 +++ gforth/engine/io.c 1998/05/02 21:29:02 1.5 @@ -85,12 +85,15 @@ #endif /* !_POSIX_VERSION */ /* Posix systems use termios and the Posix signal functions. */ -#if defined (_POSIX_VERSION) +#if defined (_POSIX_VERSION) || defined (NeXT) # if !defined (TERMIOS_MISSING) # undef NEW_TTY_DRIVER # define TERMIOS_TTY_DRIVER # include # endif /* !TERMIOS_MISSING */ +#endif /* _POSIX_VERSION || NeXT */ + +#if defined (_POSIX_VERSION) # define HAVE_POSIX_SIGNALS # if !defined (O_NDELAY) # define O_NDELAY O_NONBLOCK /* Posix-style non-blocking i/o */ @@ -107,7 +110,7 @@ special character is disabled and to disable certain special characters. Posix systems should set to 0, USG systems to -1. */ #if !defined (NEW_TTY_DRIVER) && !defined (_POSIX_VDISABLE) -# if defined (_POSIX_VERSION) +# if defined (_POSIX_VERSION) || defined (NeXT) # define _POSIX_VDISABLE 0 # else /* !_POSIX_VERSION */ # define _POSIX_VDISABLE -1 @@ -974,7 +977,7 @@ void install_signal_handlers (void) signal (sigs_to_ignore [i], SIG_IGN); */ for (i = 0; i < DIM (sigs_to_throw); i++) - signal (sigs_to_throw [i], signal_throw); + signal (sigs_to_throw [i], die_on_signal ? graceful_exit : signal_throw); for (i = 0; i < DIM (sigs_to_quit); i++) signal (sigs_to_quit [i], graceful_exit); #ifdef SIGCONT