Scroll to navigation

SIGSETOPS(3) Library Functions Manual SIGSETOPS(3)

ИМЯ

sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - операции с набором сигналов POSIX

БИБЛИОТЕКА

Стандартная библиотека языка C (libc, -lc)

СИНТАКСИС

#include <signal.h>
int sigemptyset(sigset_t *set);
int sigfillset(sigset_t *set);
int sigaddset(sigset_t *set, int signum);
int sigdelset(sigset_t *set, int signum);
int sigismember(const sigset_t *set, int signum);

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

sigemptyset(), sigfillset(), sigaddset(), sigdelset(), sigismember():


_POSIX_C_SOURCE

ОПИСАНИЕ

Эти функции позволяют управлять наборами сигналов POSIX.

Функция sigemptyset() инициализирует набор сигналов, задаваемый set, пустым значением, то есть все сигналы исключены из набора.

Функция sigfillset() инициализирует set максимальным значением, то есть все сигналы входят в набор.

Функция sigaddset() и sigdelset(), соответственно, добавляет и удаляет сигнал signum из set.

Функция sigismember() проверяет, является ли signum членом набора set.

Objects of type sigset_t must be initialized by a call to either sigemptyset() or sigfillset() before being passed to the functions sigaddset(), sigdelset(), and sigismember() or the additional glibc functions described below (sigisemptyset(), sigandset(), and sigorset()). The results are undefined if this is not done.

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

При успешном выполнении функции sigemptyset(), sigfillset(), sigaddset() и sigdelset() возвращают 0 и -1 при ошибке.

Функция sigismember() возвращает 1, если signum является членом набора set, 0, если signum не является членом и -1 при ошибке.

On error, these functions set errno to indicate the error.

ОШИБКИ

В signum задан неправильный сигнал.

АТРИБУТЫ

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

Интерфейс Атрибут Значение
sigemptyset(), sigfillset(), sigaddset(), sigdelset(), sigismember(), sigisemptyset(), sigorset(), sigandset() Безвредность в нитях MT-Safe

ВЕРСИИ

GNU

Если определён макрос тестирования свойств _GNU_SOURCE, то <signal.h> поставляет три другие функции для управления набором сигналов:

int sigisemptyset(const sigset_t *set);
int sigorset(sigset_t *dest, const sigset_t *left,
              const sigset_t *right);
int sigandset(sigset_t *dest, const sigset_t *left,
              const sigset_t *right);

Функция sigisemptyset() возвращает 1, если set не содержит сигналов и 0 в противном случае.

Функция sigorset() помещает объединение наборов left и right в dest. Функция sigandset() помещает пересечение наборов left и right в dest. При успешном выполнении обе функции возвращают 0 и -1 при ошибке.

Эти функции являются нестандартными (но в некоторых других системах имеют подобные)и их лучше не использовать в переносимых приложениях.

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

POSIX.1-2001.

ПРИМЕЧАНИЯ

При создании заполненного набора сигналов функция glibc для sigfillset() не включает два сигнала реального времени, которые используются внутри реализации NPTL. Подробности смотрите в nptl(7).

СМОТРИТЕ ТАКЖЕ

sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(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 (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Справочные страницы Linux 6.8