-
В unix, если многопоточному процессу был отправлен сигнал, какой поток будет выполняться с помощью функции обработки?
-
если это машина с несколькими процессорами, одновременно выполняется более 1 потока. какой поток будет включен для запуска функции обработки сигнала?
Многопоточная обработка сигналов
Ответ 1
В соответствии с man 7 signal все потоки процесса имеют один и тот же обработчик сигнала, и если сигнал доставляется в процесс с несколькими потоки, которые не заблокировали сигнал, один из них произвольно выбран для его получения.
Наличие многопроцессорной машины не изменит эту семантику.