100 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			100 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,	/* 1: SIGHUP */
 | 
						|
	scshint_keyboard,	/* 2: SIGINT */
 | 
						|
	scshint_quit,	/* 3: SIGQUIT */
 | 
						|
	-1,		/* 4: SIGILL */
 | 
						|
	-1,		/* 5: SIGTRAP */
 | 
						|
	-1,		/* 6: SIGABRT */
 | 
						|
	-1,		/* 7: SIGEMT */
 | 
						|
	-1,		/* 8: SIGFPE */
 | 
						|
	-1,		/* 9: SIGKILL */
 | 
						|
	-1,		/* 10: SIGBUS */
 | 
						|
	-1,		/* 11: SIGSEGV */
 | 
						|
	-1,		/* 12: SIGSYS */
 | 
						|
	-1,		/* 13: SIGPIPE */
 | 
						|
	scshint_alarm,	/* 14: SIGALRM */
 | 
						|
	scshint_term,	/* 15: SIGTERM */
 | 
						|
	scshint_usr1,	/* 16: SIGUSR1 */
 | 
						|
	scshint_usr2,	/* 17: SIGUSR2 */
 | 
						|
	scshint_chld,	/* 18: SIGCHLD */
 | 
						|
	scshint_pwr,	/* 19: SIGPWR */
 | 
						|
	scshint_vtalrm,	/* 20: SIGVTALRM */
 | 
						|
	scshint_prof,	/* 21: SIGPROF */
 | 
						|
	scshint_io,	/* 22: SIGIO */
 | 
						|
	scshint_winch,	/* 23: SIGWINCH */
 | 
						|
	-1,		/* 24: SIGSTOP */
 | 
						|
	scshint_tstp,	/* 25: SIGTSTP */
 | 
						|
	scshint_cont,	/* 26: SIGCONT */
 | 
						|
	-1,		/* 27: SIGTTIN */	/* scshint_ttyin */
 | 
						|
	-1,		/* 28: SIGTTOU */	/* scshint_ttyou */
 | 
						|
	scshint_urg,	/* 29: SIGURG */
 | 
						|
	-1,		/* 30: SIGLOST */
 | 
						|
	-1,		/* 32: SIGDIL */
 | 
						|
	scshint_xcpu,	/* 33: SIGXCPU */
 | 
						|
	scshint_xfsz	/* 34: SIGXFSZ */
 | 
						|
	};
 | 
						|
 | 
						|
const int max_sig = 34; /* SIGXFSZ */
 | 
						|
 | 
						|
/*
 | 
						|
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
 | 
						|
 | 
						|
scshint_alarm
 | 
						|
scshint_chld
 | 
						|
scshint_cont
 | 
						|
scshint_hup
 | 
						|
scshint_info
 | 
						|
scshint_io
 | 
						|
scshint_keyboard
 | 
						|
scshint_memory_shortage
 | 
						|
scshint_poll
 | 
						|
scshint_prof
 | 
						|
scshint_pwr
 | 
						|
scshint_quit
 | 
						|
scshint_term
 | 
						|
scshint_tstp
 | 
						|
scshint_urg
 | 
						|
scshint_usr1
 | 
						|
scshint_usr2
 | 
						|
scshint_vtalrm
 | 
						|
scshint_winch
 | 
						|
scshint_xcpu
 | 
						|
scshint_xfsz
 | 
						|
*/
 |