Обработка сигналов с несколькими потоками в Linux

Что происходит в Linux, когда программа (, которая может иметь несколько потоков ), получает сигнал, такой как SIGTERM или SIGHUP?

Какой поток перехватывает сигнал? Могут ли несколько потоков получить один и тот же сигнал? Есть ли специальный поток, полностью посвященный обработке сигналов? Если нет, что происходит внутри потока, который должен обрабатывать сигнал? Как возобновляется выполнение после завершения процедуры обработчика сигнала?

113
задан 26 July 2012 в 23:36
поделиться