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:
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.
Signal Actions
For SIGILL signals generated by the execution of an illegal instruction, the si_code field 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 |