siginterrupt - позволяет сигналам прерывать системные вызовы
СИНТАКСИС
#include <signal.h>int siginterrupt(int sig, int flag);
ОПИСАНИЕ
Функция siginterrupt() изменяет поведение системного вызова
после его прерывания сигналом sig. Если значение аргумента flag
ложно (0), то системный вызов будет запущен заново при его прерывании сигналом
sig. Это поведение установлено по умолчанию. Когда определяется другой сигнал
при помощи функции signal(2), то системный вызов прерывается по умолчанию.
Если значение аргумента flags истинно (1) и никаких данных не передается, то
системный вызов, прерванный сигналом sig, возвратит значение -1 ,
а глобальной переменной errno будет присвоено значение EINTR.
Если значение аргумента flags истинно (1) и передача данных осуществляется, то
системный вызов будет прерван, а затем им будет возвращено значение, указывающее на объем
переданных данных.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функция siginterrupt() при успешном завершении возвращает 0 и -1,
если номер сигнала sig неправилен.