Provided by: manpages-ru-dev_4.19.0-7_all bug

ИМЯ

       siginterrupt - разрешает сигналам прерывать системные вызовы

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <signal.h>

       int siginterrupt(int sig, int flag);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       siginterrupt():
           _XOPEN_SOURCE >= 500
               || /* начиная с glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
               || /* glibc <= 2.19: */ _BSD_SOURCE

ОПИСАНИЕ

       Функция  siginterrupt()  изменяет  поведение перезапуска когда системный вызов прерывается
       сигналом sig. Если аргумент flag ложен (0), то  системные  вызова  будут  перезапускаться,
       если они прерывались указанным сигналом sig. Это поведение Linux по умолчанию.

       Если  аргумент  flag  истинен (1) и не пересылались данные, то системный вызов, прерванный
       сигналом sig вернёт -1 и errno будет присвоено значение EINTR.

       Если аргумент flag истинен (1) и началась  пересылка  данных,  то  системный  вызов  будет
       прерван и вернёт действительное количество пересланных данных.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       The siginterrupt()  function returns 0 on success.  It returns -1 if the signal number sig
       is invalid, with errno set to indicate the error.

ОШИБКИ

       EINVAL Задан некорректный номер сигнала.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────┬──────────────────────┬──────────────────────────────────────────────────┐
       │ИнтерфейсАтрибутЗначение                                         │
       ├───────────────┼──────────────────────┼──────────────────────────────────────────────────┤
       │siginterrupt() │ Безвредность в нитях │ MT-Unsafe const:sigintr                          │
       └───────────────┴──────────────────────┴──────────────────────────────────────────────────┘

СТАНДАРТЫ

       4.3BSD, POSIX.1-2001. В  POSIX.1-2008  функция  siginterrupt()  помечена  как  устаревшая,
       вместо неё рекомендуется использовать sigaction(2) с флагом SA_RESTART.

СМ. ТАКЖЕ

       signal(2)

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства   был   сделан   Alexander   Golubev
       <fatzer2@gmail.com>,  Azamat  Hackimov  <azamat.hackimov@gmail.com>,   Hotellook,   Nikita
       <zxcvbnm3230@mail.ru>,       Spiros       Georgaras       <sng@hellug.gr>,       Vladislav
       <ivladislavefimov@gmail.com>,   Yuri   Kozlov   <yuray@komyakino.ru>   и    Иван    Павлов
       <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.