Scroll to navigation

SGETMASK(2) Руководство программиста Linux SGETMASK(2)

ИМЯ

sgetmask, ssetmask - работа с маской сигналов (устарел)

СИНТАКСИС

long sgetmask(void);

long ssetmask(long newmask);

Замечание: В glibc нет обёрточных функций для этих системных вызовов; смотрите ЗАМЕЧАНИЯ.

ОПИСАНИЕ

Данные системные вызовы устарели. Используйте вместо них sigprocmask(2).

Вызов sgetmask() возвращает маску сигналов вызывающего процесса.

Вызов ssetmask() устанавливает маску сигналов вызывающего процесса равной значению, указанному в newmask. Возвращается предыдущее значение маски сигналов.

Маски сигналов обрабатываются этими системными вызовами как простые битовые маски (в отличие от sigset_t, который используется в sigprocmask(2)); для создания и проверки масок используйте sigmask(3).

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

Вызов sgetmask() всегда выполняется успешно и возвращает маску сигналов. Вызов ssetmask() всегда выполняется успешно и возвращает предыдущее значение маски сигналов.

ОШИБКИ

Данные системные вызовы всегда выполняются без ошибок.

ВЕРСИИ

Начиная с Linux 3.16 поддержка данных системных вызовов необязательна, она зависит от того, собрано ли ядро с параметром CONFIG_SGETMASK_SYSCALL.

СООТВЕТСТВИЕ СТАНДАРТАМ

Данные системные вызовы есть только в Linux.

ЗАМЕЧАНИЯ

В glibc нет обёрток для этих устаревших системных вызовов; вызывайте их через syscall(2).

Данные системные вызовы ничего не знают о номерах сигналов больше 31 (т.е. сигналах реального времени).

Данные системные вызовы не существуют на x86-64.

Они не могут заблокировать SIGSTOP или SIGKILL.

СМ. ТАКЖЕ

sigprocmask(2), signal(7)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан 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 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

13 августа 2020 г. Linux