130 lines
2.2 KiB
C
130 lines
2.2 KiB
C
/* Need to turn off synchronous error signals (SIGPIPE, SIGSYS). */
|
|
|
|
#include "../scsh_aux.h"
|
|
|
|
/* Make sure our exports match up w/the implementation: */
|
|
#include "../signals1.h"
|
|
|
|
/* This table converts Unix signal numbers to S48/scsh interrupt numbers.
|
|
** If the signal doesn't have an interrupt number, the entry is -1.
|
|
** (Only asynchronous signals have interrupt numbers.)
|
|
**
|
|
** Note that we bake into this table the integer values of the signals --
|
|
** i.e., we assume that SIGHUP=1, SIGALRM=15, etc. So this definition is
|
|
** very system-dependent.
|
|
*/
|
|
const int sig2int[] = {
|
|
-1, /* 0 is not a signal */
|
|
scshint_hup, /* SIGHUP */
|
|
scshint_keyboard, /* SIGINT */
|
|
scshint_quit, /* SIGQUIT */
|
|
-1, /* SIGILL */
|
|
-1, /* SIGTRAP */
|
|
-1, /* SIGABRT & SIGIOT */
|
|
-1, /* SIGEMT */
|
|
-1, /* SIGFPE */
|
|
-1, /* SIGKILL */
|
|
-1, /* SIGBUS */
|
|
-1, /* SIGSEGV */
|
|
-1, /* SIGSYS */
|
|
-1, /* SIGPIPE */
|
|
scshint_alarm, /* SIGALRM */
|
|
scshint_term, /* SIGTERM */
|
|
scshint_urg, /* SIGURG */
|
|
-1, /* SIGSTOP */
|
|
scshint_tstp, /* SIGTSTP */
|
|
scshint_cont, /* SIGCONT */
|
|
scshint_chld, /* SIGCHLD */
|
|
-1, /* scshint_ttyin, /* SIGTTIN */
|
|
-1, /* scshint_ttou, /* SIGTTOU */
|
|
scshint_io, /* SIGIO */
|
|
scshint_xcpu, /* SIGXCPU */
|
|
scshint_xfsz, /* SIGXFSZ */
|
|
scshint_vtalrm, /* SIGVTALRM */
|
|
scshint_prof, /* SIGPROF */
|
|
scshint_winch, /* SIGWINCH */
|
|
scshint_info, /* SIGINFO */
|
|
scshint_usr1, /* SIGUSR1 */
|
|
scshint_usr2 /* SIGUSR2 */
|
|
};
|
|
|
|
const int max_sig = 31; /* SIGUSR2 */
|
|
|
|
/*
|
|
scshint_alarm
|
|
scshint_keyboard
|
|
scshint_memory_shortage
|
|
scshint_chld
|
|
scshint_cont
|
|
scshint_hup
|
|
scshint_quit
|
|
scshint_term
|
|
scshint_tstp
|
|
scshint_usr1
|
|
scshint_usr2
|
|
scshint_info
|
|
scshint_io
|
|
scshint_poll
|
|
scshint_prof
|
|
scshint_pwr
|
|
scshint_urg
|
|
scshint_vtalrm
|
|
scshint_winch
|
|
scshint_xcpu
|
|
scshint_xfsz
|
|
|
|
SIGALRM
|
|
SIGCHLD
|
|
SIGCONT
|
|
SIGHUP
|
|
SIGINFO
|
|
SIGINT
|
|
SIGIO
|
|
SIGPROF
|
|
SIGQUIT
|
|
SIGTERM
|
|
SIGTSTP
|
|
SIGTTIN
|
|
SIGTTOU
|
|
SIGURG
|
|
SIGUSR1
|
|
SIGUSR2
|
|
SIGVTALRM
|
|
SIGWINCH
|
|
SIGXCPU
|
|
SIGXFSZ
|
|
|
|
SIGHUP 1
|
|
SIGINT 2
|
|
SIGQUIT 3
|
|
SIGILL 4
|
|
SIGTRAP 5
|
|
SIGABRT 6
|
|
SIGIOT SIGABRT
|
|
SIGEMT 7
|
|
SIGFPE 8
|
|
SIGKILL 9
|
|
SIGBUS 10
|
|
SIGSEGV 11
|
|
SIGSYS 12
|
|
SIGPIPE 13
|
|
SIGALRM 14
|
|
SIGTERM 15
|
|
SIGURG 16
|
|
SIGSTOP 17
|
|
SIGTSTP 18
|
|
SIGCONT 19
|
|
SIGCHLD 20
|
|
SIGTTIN 21
|
|
SIGTTOU 22
|
|
SIGIO 23
|
|
SIGXCPU 24
|
|
SIGXFSZ 25
|
|
SIGVTALRM 26
|
|
SIGPROF 27
|
|
SIGWINCH 28
|
|
SIGINFO 29
|
|
SIGUSR1 30
|
|
SIGUSR2 31
|
|
*/
|