Provided by: manpages-ru-dev_4.27.0-1_all 

НАИМЕНОВАНИЕ
sigpause - автоматически разблокирует сигналы и ждёт прерывания
БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)
ОБЗОР
#include <signal.h> [[deprecated]] int sigpause(int sigmask); /* BSD (but see VERSIONS) */ [[deprecated]] int sigpause(int sig); /* POSIX.1 / SysV / UNIX 95 */
ОПИСАНИЕ
Не используйте эту функцию. Вместо неё используйте sigsuspend(2). Функция sigpause() предназначена для ожидания какого-нибудь сигнала. Она изменяет сигнальную маску процесса (набор блокируемых сигналов) и ждёт появления сигнала. При прибытии сигнала первоначальная сигнальная маска восстанавливается.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Если sigpause() возвращает выполнение, то это означает, что она была прервана сигналом и возвращается значение -1, а errno присваивается значение EINTR.
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7). ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐ │ Интерфейс │ Атрибут │ Значение │ ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤ │ sigpause() │ Безвредность в нитях │ MT-Safe │ └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘
ВЕРСИИ
В Linux эта процедура является системным вызовом только на архитектуре Sparc (sparc64). glibc uses the BSD version if the _BSD_SOURCE feature test macro is defined and none of _POSIX_SOURCE, _POSIX_C_SOURCE, _XOPEN_SOURCE, _GNU_SOURCE, or _SVID_SOURCE is defined. Otherwise, the System V version is used, and feature test macros must be defined as follows to obtain the declaration: • Начиная с glibc 2.26: _XOPEN_SOURCE >= 500 • glibc 2.25 and earlier: _XOPEN_SOURCE Начиная с glibc 2.19, в <signal.h> представлена только версия System V; в приложениях, которые использовали BSD-версию sigpause(), нужно заменить его на sigsuspend(2).
СТАНДАРТЫ
POSIX.1-2008.
ИСТОРИЯ
POSIX.1-2001. Obsoleted in POSIX.1-2008. Классическая BSD-версия этой функции появилась в 4.2BSD. Она изменяет сигнальную маску процесса на sigmask. В UNIX 95 стандартизована несовместимая с System V версия этой функции, которая удаляет сигнальной маски процесса только указанный сигнал sig. Проблемная ситуация двух несовместимых функций с одним именем была исправлена функцией sigsuspend(2), которая ожидает аргумент с типом sigset_t * (вместо int).
СМОТРИТЕ ТАКЖЕ
kill(2), sigaction(2), sigprocmask(2), sigsuspend(2), sigblock(3), sigvec(3), feature_test_macros(7)
ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) 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> и Kirill Rekhov <krekhov.dev@gmail.com> Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков. Справочные страницы Linux 6.9.1 16 июня 2024 г. sigpause(3)