signals.c revision 19d32b9ab53d17ac6605971e14c45a5281f8d9bb
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/***********************************************************************
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* This software is part of the ast package *
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner* Copyright (c) 1982-2010 AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* and is licensed under the *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Common Public License, Version 1.0 *
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin* by AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* A copy of the License is available at *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Information and Software Systems Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* AT&T Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Florham Park NJ *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* David Korn <dgk@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin***********************************************************************/
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#define VAL(sig,mode) ((sig+1)|((mode)<<SH_SIGBITS))
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define ERROR_dictionary(s) (s)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define S(s) ERROR_dictionary(s)
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz * This is a table that gives numbers and default settings to each signal.
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz * The signal numbers go in the low bits and the attributes go in the high bits.
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz * The names must be ASCII sorted lo-hi.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /*SIGABRT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "AIO", VAL(SIGAIO,SH_SIGIGNORE), S("Asynchronous I/O"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /*SIGAIO */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "ALRM", VAL(SIGALRM,SH_SIGDONE), S("Alarm call"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGALRM */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "ALRM1", VAL(SIGALRM1,SH_SIGDONE), S("Scheduling - reserved"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGALRM */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGAPOLLO */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGBUS */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "CANCEL", VAL(SIGCANCEL,SH_SIGIGNORE), S("Thread cancellation"),
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#endif /*SIGCANCEL */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "CHLD", VAL(SIGCHLD,SH_SIGFAULT), S("Death of Child"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "CLD", VAL(SIGCLD,SH_SIGFAULT), S("Death of Child"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif /* SIGCLD */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "CLD", VAL(SIGCLD,SH_SIGFAULT), S("Death of Child"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif /* SIGCLD */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGCHLD */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "CONT", VAL(SIGCONT,SH_SIGIGNORE), S("Stopped process continued"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGCONT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "CPUFAIL", VAL(SIGCPUFAIL,0), S("Predictive processor deconfiguration"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGRETRACT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "DANGER", VAL(SIGDANGER,0), S("System crash soon"),
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#endif /* SIGDANGER */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGDIL */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGEMT */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGERR */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "FPE", VAL(SIGFPE,SH_SIGDONE), S("Floating exception"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "FREEZE", VAL(SIGFREEZE,SH_SIGIGNORE), S("Special signal used by CPR"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGFREEZE */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "GRANT", VAL(SIGGRANT,0), S("Grant monitor mode"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGGRANT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "ILL", VAL(SIGILL,SH_SIGDONE), S("Illegal instruction"),
19d32b9ab53d17ac6605971e14c45a5281f8d9bbRobert Mustacchi "INFO", VAL(SIGINFO,SH_SIGIGNORE), S("Information request"),
19d32b9ab53d17ac6605971e14c45a5281f8d9bbRobert Mustacchi#endif /*SIGINFO */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "INT", VAL(SIGINT,SH_SIGINTERACTIVE), S("Interrupt"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* JOBS */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGIO */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGIOT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "JVM1", VAL(SIGJVM1,SH_SIGIGNORE), S("Special signal used by Java Virtual Machine"),
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#endif /*SIGJVM1 */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "JVM2", VAL(SIGJVM2,SH_SIGIGNORE), S("Special signal used by Java Virtual Machine"),
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#endif /*SIGJVM2 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGKILL */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "LAB", VAL(SIGLAB,0), S("Security label changed"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGLAB */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "LOST", VAL(SIGLOST,SH_SIGDONE), S("Resources lost"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGLOST */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "LWP", VAL(SIGLWP,SH_SIGIGNORE), S("Special signal used by thread library"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGLWP */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "MIGRATE", VAL(SIGMIGRATE,0), S("Migrate process"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGMIGRATE */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "MSG", VAL(SIGMSG,0), S("Ring buffer input data"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGMSG */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "PHONE", VAL(SIGPHONE,0), S("Phone interrupt"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGPHONE */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "PIPE", VAL(SIGPIPE,SH_SIGDONE), S("Broken Pipe"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* JOBS */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGPIPE */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "POLL", VAL(SIGPOLL,SH_SIGDONE), S("Polling alarm"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGPOLL */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "PROF", VAL(SIGPROF,SH_SIGDONE), S("Profiling time alarm"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGPROF */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "PRE", VAL(SIGPRE,SH_SIGDONE), S("Programming exception"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGPRE */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "PWR", VAL(SIGPWR,SH_SIGIGNORE), S("Power fail"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGPWR */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "QUIT", VAL(SIGQUIT,SH_SIGDONE|SH_SIGINTERACTIVE), S("Quit"),
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#endif /* SIGQUIT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "RETRACT", VAL(SIGRETRACT,0), S("Relinquish monitor mode"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGRETRACT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "RTMIN", VAL(SH_SIGRTMIN,SH_SIGRUNTIME), S("Lowest priority realtime signal"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGRTMIN */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "RTMAX", VAL(SH_SIGRTMAX,SH_SIGRUNTIME), S("Highest priority realtime signal"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGRTMAX */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "SAK", VAL(SIGSAK,0), S("Secure attention key"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGSAK */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "SOUND", VAL(SIGSOUND,0), S("Sound completed"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGSOUND */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "STOP", VAL(SIGSTOP,0), S("Stopped (SIGSTOP)"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGSTOP */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "SYS", VAL(SIGSYS,SH_SIGDONE), S("Bad system call"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGSYS */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "TERM", VAL(SIGTERM,SH_SIGDONE|SH_SIGINTERACTIVE), S("Terminated"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "THAW", VAL(SIGTHAW,SH_SIGIGNORE), S("Special signal used by CPR"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGTHAW */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif /* JOBS */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGTINT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "TRAP", VAL(SIGTRAP,SH_SIGDONE), S("Trace/BPT trap"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGTRAP */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGTSTP */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "TTIN", VAL(SIGTTIN,0), S("Stopped (SIGTTIN)"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGTTIN */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGTTOU */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "URG", VAL(SIGURG,SH_SIGIGNORE), S("Socket interrupt"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGURG */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "USR1", VAL(SIGUSR1,SH_SIGDONE), S("User signal 1"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGUSR1 */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "USR2", VAL(SIGUSR2,SH_SIGDONE), S("User signal 2"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGUSR2 */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "VIRT", VAL(SIGVIRT,0), S("Virtual timer alarm"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGVIRT */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "VTALRM", VAL(SIGVTALRM,SH_SIGDONE), S("Virtual time alarm"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGVTALRM */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "WAITING", VAL(SIGWAITING,SH_SIGIGNORE), S("All threads blocked"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGWAITING */
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz "WINCH", VAL(SIGWINCH,SH_SIGIGNORE), S("Window size change"),
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#endif /* SIGWINCH */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "XCPU", VAL(SIGXCPU,SH_SIGDONE|SH_SIGINTERACTIVE), S("Exceeded CPU time limit"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGXCPU */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "XFSZ", VAL(SIGXFSZ,SH_SIGDONE|SH_SIGINTERACTIVE), S("Exceeded file size limit"),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SIGXFSZ */
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin "XRES", VAL(SIGXRES,SH_SIGDONE|SH_SIGINTERACTIVE), S("Exceeded resource control"),
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#endif /* SIGRES */