Почему `sigsuspend ()` асинхронный и `sigwaitinfo ()` синхронны? - PullRequest
0 голосов
/ 24 декабря 2018

В программном интерфейсе Linux:

В разделе 22.9 мы увидели, как использовать обработчик сигнала плюс sigsuspend() для приостановки выполнения процесса до тех пор, пока сигнал не будет доставлен.Однако необходимость написать обработчик сигнала и обработать сложности асинхронной доставки делает этот подход громоздким для некоторых приложений.Вместо этого мы можем использовать системный вызов sigwaitinfo(), чтобы синхронно принять сигнал.

sigsuspend() и sigwaitinfo() оба, кажется, приостанавливают вызывающий процесс до ожидаемого сигналапоставляется.В каком смысле первый асинхронный, а второй синхронный?

...