Scroll to navigation

SIGSETOPS(3) Library Functions Manual SIGSETOPS(3)

ИМЯ

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

LIBRARY

Standard C library (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

СТАНДАРТЫ

POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ

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

Расширения glibc

Если определён макрос тестирования свойств _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 при ошибке.

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

СМ. ТАКЖЕ

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

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

15 декабря 2022 г. Linux man-pages 6.02