LINUX.ORG.RU

История изменений

Исправление mky, (текущая версия) :

Размер очереди сигналов для приложение был равен 1 (по каждому из сигналов). Если приложению будет отправлено два сигнала SIGINT «одновременно», то дойдёт только один.

Под «одновременно» я подразумеваю отправку сигналов до того, как был вызван обработчик сигналов приложения. То есть приложению был отправлен сигнал SIGINT, и до того, как планировщик выбрал приложение к выполнению, был отправлен второй сигнал SIGINT.

Если же отправляется один сигнал SIGINT, то он дойдёт всегда, (если только его не «опередит» SIGKILL), так как, ЕМНИП, при обработке системного вызова по отправке сигнала ядро сразу же, в рамках выполнения этого сискола, записывает этот сигнал в очередь адресата сигнала. И как только приложение получит квант процессорного времени, будет обработана его очередь сигналов.

Исходная версия mky, :

Размер очереди сигналов для приложение был равен 1 (по каждому из сигналов). Если приложению будет отправлено два сигнала SIGINT «одновременно», то дойдёт только один.

Под «одновременно» я подразумеваю отправку сигналов до того, как был вызван обработчик сигналов приложения. То есть приложению был отправлен сигнал SIGINT, и до того, как планировщик выбрал приложение к выполнению, был отправлен второй сигнал SIGINT.

Если же отправляется один сигнал SIGINT дойдёт всегда, (если только его не «опередит» SIGKILL) так как, ЕМНИП, при обработке системного вызова по отправке сигнала ядро сразу же, в рамках выполнения этого сискола, записывает этот сигнал в очередь адресата сигнала.