Which signals are synchronous, and whicn are are asynchronous?
>I have another question. Since we must clearly distinguish the >sinchronous signals from the asynchronous ones for MT, is there any >documentation on which is which? I could not find any. A: In general, independent of MT, this is an often mis-understood area of signals. The adjective: “synchronous”/”asynchronous” cannot be applied to a signal. This is because any signal (including normally synchronously generated signals such as SIGSEGV) could be asynchronously generated using kill(2), _lwp_kill(2) or thr_kill(3t). e.g. SIGSEGV, which is normally synchronously generated, can also be sent via kill(pid, SIGSEGV), in which case it is asynchronously generated. So labelling SIGSEGV as synchronous and a program that assumes this, would be incorrect. For MT, a question is: would a thread that caused the generation of a signal get this signal? If this is posed for a trap (SIGSEGV, SIGBUS, SIGILL, etc.), the answer is: yes – the thread that caused the trap would get the signal. But the handler