On Mon, 20 Apr 2020 at 10:49, Jakub Wilk <jwilk@xxxxxxxxx> wrote: > > * Michael Kerrisk (man-pages) <mtk.manpages@xxxxxxxxx>, 2020-04-20, 10:33: > >>"A signal may be generated (and thus pending) for a process as a whole (e." > >>"g., when sent using B<kill>(2)) or for a specific thread (e.g., certain " > >>"signals, such as B<SIGSEGV> and B<SIGFPE>, generated as a consequence of " > >>"executing a specific machine-language instruction are thread directed, as " > >>"are signals targeted at a specific thread using B<pthread_kill>(3)). A " > >>"process-directed signal may be delivered to any one of the threads that does " > >>"not currently have the signal blocked. If more than one of the threads has " > >>"the signal unblocked, then the kernel chooses an arbitrary thread to which " > >>"to deliver the signal." > > > >I can't find the text referred to. I think you may be working > >with an older version of the page. Can you please check. > > In 3b9d44099f234e8e, the long sentence was replaced with this paragraph: > > "A signal may be process-directed or thread-directed. A process-directed > signal is one that is targeted at (and thus pending for) the process as > a whole. A signal may be process-directed because it was generated by > the kernel for reasons other than a hardware exception, or because it > was sent using kill(2) or sigqueue(3). A thread-directed signals is one > that is targeted at a specific thread. A signal may be thread-directed > because it was generated as a consequence of executing a specific > machine-language instruction that triggered a hardware exception (e.g., > SIGSEGV for an invalid memory access, or SIGFPE for a math error), or > because it was it was targeted at a specific thread using interfaces > such as tgkill(2) or pthread_kill(3). Thanks, Jakub. -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/