>Если процессу одновременно посылается несколько сигналов,
>ядро обрабатывает их в том порядке, в каком они перечислены в
>описании.
IMHO не совсем правда. Цитата из SUSv3:
"When multiple unblocked signals, all in the range SIGRTMIN to
SIGRTMAX, are pending, the behavior shall be as if the
implementation delivers the pending unblocked signal with the
lowest signal number within that range. No other ordering of
signal delivery is specified."
Упорядочивание, таким образом, производится по номерам сигналов.
>Существуют три способа реагирования на получение сигнала - прием
>сигналов, завершение выполнения со сбросом на внешний носитель
>(дампированием) образа процесса в памяти и завершение выполнения
>без дампирования.
>Можно ли указать наилучший порядок обработки одновременно
>поступающих сигналов? Например, если процесс получает сигнал о
>выходе (вызывающий дампирование образа процесса в памяти)
>и сигнал о прерывании (выход без дампирования), то какой из этих
>сигналов имело бы смысл обработать первым?
Указать может только само ядро, в рамках собственной реализации доставки
сигналов. С точки зрения экономии системных ресурсов имело бы смысл
первым (и единственным) обработать сигнал, обрывающий работу
программы. Поскольку само его наличие обычно означает, что корректное
продолжение работы программы невозможно.