Signal-handler support.
This commit is contained in:
		
							parent
							
								
									b48e4874c5
								
							
						
					
					
						commit
						b4909649d4
					
				|  | @ -0,0 +1,129 @@ | |||
| /* 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 | ||||
| */ | ||||
|  | @ -0,0 +1,4 @@ | |||
| /* Exports from signals1.c */ | ||||
| 
 | ||||
| const int sig2int[]; | ||||
| const int max_sig; | ||||
		Loading…
	
		Reference in New Issue
	
	 shivers
						shivers