If a subsequent occurrence of a pending signal is generated, the signal is delivered or accepted more than once if a handler has been set for the signal with SA_SIGINFO set.
A SIGBUS signal may be generated for a misaligned memory access:
2.4.2. Realtime Signal Generation and Delivery
The signal mask for a thread created to invoke the sigev_notify_function function (see sigevent) inherits the signal mask of the thread to which the signal is delivered.
2.4.3. Signal Actions
For SIGILL signals generated by the execution of an illegal instruction, the si_code field in the siginfo_t structure may contain one of the following:
Value | Meaning |
---|---|
ILL_ILLOPC | Illegal opcode is executed |
ILL_PRVOPC | Instruction requires privileged CPU mode |
ILL_COPROC | Co-processor instruction error |
For SIGSEGV signals generated by an invalid memory access, the si_code field may contain one of the following:
Value | Meaning |
---|---|
SEGV_MAPERR | The address isn't mapped |
SEGV_ACCERR | The mapping doesn't allow the attempted access |
For SIGBUS signals generated by an invalid memory access, the si_code field may contain one of the following:
Value | Meaning |
---|---|
BUS_ADRALN | Invalid address alignment |
BUS_ADRERR | Access to a non-existent area of a memory object |
BUS_OBJERR | Hardware-specific bus error |
For SIGTRAP signals generated by breakpoint or other debug traps, the si_code field may contain one of the following:
Value | Meaning |
---|---|
TRAP_BRKPT | Breakpoint trap |
TRAP_TRACE | Trace trap |
For SIGCLD signals generated during process termination or job control related events, the si_code field may contain one of the following:
Value | Meaning |
---|---|
CLD_EXITED | Process has exited |
CLD_KILLED | Process was killed |
CLD_DUMPED | Process terminated abnormally |
CLD_STOPPED | Process has been stopped |
CLD_CONTINUED | A stopped process has been continued |
For SIGFPE signals generated for floating-point exceptions, the si_code field may contain one of the following:
Value | Meaning |
---|---|
FPE_INTDIV | Integer division by zero |
FPE_INTOVF | Floating point overflow |
FPE_FLTDIV | Floating point division by zero |
FPE_FLTUND | Floating point underflow |
FPE_FLTRES | Floating point inexact result |
FPE_FLTINV | Invalid floating point operation |
FPE_NOFPU | No floating point hardware or software emulator present |
FPE_NOMEM | No memory for floating point context save area |