Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | posix |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
9527a997ef4d6c897cb791a275e0f13a |
User & Date: | karels 1989-08-26 12:34:55 |
Context
1989-08-26
| ||
12:36 | posix signals, new ignored signal treatment check-in: e1ffcbe5cb user: karels tags: trunk | |
12:34 | posix check-in: 9527a997ef user: karels tags: trunk | |
12:34 | deprecate union wait, rearrange for posix check-in: f7fe2315cf user: karels tags: trunk | |
Changes
Changes to sys/sys/signal.h.
1 | /* | | | | > > > > | > | > > > > > > > < > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | < < < < < < < < < < > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | /* * Copyright (c) 1982, 1986, 1989 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * * @(#)signal.h 7.5 (Berkeley) 08/26/89 */ #ifndef NSIG #define NSIG 32 /* could be 33, as masks hold 1-32 */ #ifndef _POSIX_SOURCE #ifdef KERNEL #include "machine/trap.h" /* codes for SIGILL, SIGFPE */ #else #include <machine/trap.h> /* codes for SIGILL, SIGFPE */ #endif #endif /* _POSIX_SOURCE */ #define SIGHUP 1 /* hangup */ #define SIGINT 2 /* interrupt */ #define SIGQUIT 3 /* quit */ #define SIGILL 4 /* illegal instruction (not reset when caught) */ #ifndef _POSIX_SOURCE #define SIGTRAP 5 /* trace trap (not reset when caught) */ #endif #define SIGABRT 6 /* abort() */ #ifndef _POSIX_SOURCE #define SIGIOT SIGABRT /* compatibility */ #define SIGEMT 7 /* EMT instruction */ #endif #define SIGFPE 8 /* floating point exception */ #define SIGKILL 9 /* kill (cannot be caught or ignored) */ #ifndef _POSIX_SOURCE #define SIGBUS 10 /* bus error */ #endif #define SIGSEGV 11 /* segmentation violation */ #ifndef _POSIX_SOURCE #define SIGSYS 12 /* bad argument to system call */ #endif #define SIGPIPE 13 /* write on a pipe with no one to read it */ #define SIGALRM 14 /* alarm clock */ #define SIGTERM 15 /* software termination signal from kill */ #ifndef _POSIX_SOURCE #define SIGURG 16 /* urgent condition on IO channel */ #endif #define SIGSTOP 17 /* sendable stop signal not from tty */ #define SIGTSTP 18 /* stop signal from tty */ #define SIGCONT 19 /* continue a stopped process */ #define SIGCHLD 20 /* to parent on child stop or exit */ #define SIGTTIN 21 /* to readers pgrp upon background tty read */ #define SIGTTOU 22 /* like TTIN for output if (tp->t_local<OSTOP) */ #ifndef _POSIX_SOURCE #define SIGIO 23 /* input/output possible signal */ #define SIGXCPU 24 /* exceeded CPU time limit */ #define SIGXFSZ 25 /* exceeded file size limit */ #define SIGVTALRM 26 /* virtual time alarm */ #define SIGPROF 27 /* profiling time alarm */ #define SIGWINCH 28 /* window size changes */ #define SIGINFO 29 /* information request */ #endif #define SIGUSR1 30 /* user defined signal 1 */ #define SIGUSR2 31 /* user defined signal 2 */ #ifndef _POSIX_SOURCE typedef void (*sig_t)(); #endif /* _POSIX_SOURCE */ #ifndef KERNEL void (*signal())(); #endif /* KERNEL */ typedef int sigset_t; #define sigemptyset(set) { *(set) = 0; } #define sigfillset(set) { *(set) = 0xffff; } #define sigaddset(set, signo) ( *(set) |= 1 << ((signo) - 1), 0) #define sigdelset(set, signo) ( *(set) &= ~(1 << ((signo) - 1)), 0) #define sigismember(set, signo) ( (*(set) & (1 << ((signo) - 1))) != 0) /* * Signal vector "template" used in sigaction call. */ struct sigaction { void (*sa_handler)(); /* signal handler */ sigset_t sa_mask; /* signal mask to apply */ int sa_flags; /* see signal options below */ }; #ifndef _POSIX_SOURCE #define SA_ONSTACK 0x0001 /* take signal on signal stack */ #define SA_RESTART 0x0002 /* do not restart system on signal return */ #endif /* _POSIX_SOURCE */ #define SA_NOCLDSTOP 0x0004 /* do not generate SIGCHLD on child stop */ /* * Flags for sigprocmask: */ #define SIG_BLOCK 1 /* block specified signal set */ #define SIG_UNBLOCK 2 /* unblock specified signal set */ #define SIG_SETMASK 3 /* set specified signal set */ #ifndef _POSIX_SOURCE /* * 4.3 compatibility: * Signal vector "template" used in sigvec call. */ struct sigvec { void (*sv_handler)(); /* signal handler */ int sv_mask; /* signal mask to apply */ int sv_flags; /* see signal options below */ }; #define SV_ONSTACK SA_ONSTACK #define SV_INTERRUPT SA_RESTART /* same bit, opposite sense */ #define sv_onstack sv_flags /* isn't compatibility wonderful! */ /* * Structure used in sigstack call. */ struct sigstack { char *ss_sp; /* signal stack pointer */ int ss_onstack; /* current status */ }; /* * Information pushed on stack when a signal is delivered. * This is used by the kernel to restore state following * execution of the signal handler. It is also made available * to the handler to allow it to restore state properly if * a non-standard exit is performed. */ struct sigcontext { int sc_onstack; /* sigstack state to restore */ int sc_mask; /* signal mask to restore */ int sc_sp; /* sp to restore */ int sc_fp; /* fp to restore */ int sc_ap; /* ap to restore */ int sc_pc; /* pc to restore */ int sc_ps; /* psl to restore */ }; /* * Macro for converting signal number to a mask suitable for * sigblock(). */ #define sigmask(m) (1 << ((m)-1)) #define BADSIG (void (*)())-1 #endif /* _POSIX_SOURCE */ #define SIG_DFL (void (*)())0 #define SIG_IGN (void (*)())1 #ifdef KERNEL #define SIG_CATCH (void (*)())2 #define SIG_HOLD (void (*)())3 #endif #endif |