Функции библиотеки C -sigdelset()

Стандартная библиотека C - <signal.h>

Описание

sigdelsetЭта функция входит в стандартную библиотеку C и используется для удаления определённого сигнала из набора сигналов. Эта функция определена в<signal.h>В заголовочном файле.

Синтаксис

int sigdelset(sigset_t *set, int signo);

Параметр

  • sigset_t *set: указывает наsigset_tПеременная набора сигналов типа.
  • int signo: номер сигнала, который нужно удалить из набора сигналов.

Возвращаемое значение

  • Возвращает 0 при успехе.
  • Возвращает -1 при ошибке и устанавливаетerrnoчтобы указать тип ошибки.

Пример

Ниже приведён пример использованияsigdelsetПример программы для функции удаления определённого сигнала из набора сигналов. Программа инициализирует набор сигналов, содержащий все сигналы, затем удаляет из набора сигналовSIGINTсигнал и проверяет, содержит ли набор сигналовSIGINTсигнал.

Пример

#include <stdio.h>
#include <signal.h>

int main() {
    sigset_t set;

    // Инициализировать набор сигналов, содержащий все сигналы
    if (sigfillset(&set) == -1) {
        perror("sigfillset");
        return 1;
    }

    // Удалить SIGINT из набора сигналов
    if (sigdelset(&set, SIGINT) == -1) {
        perror("sigdelset");
        return 1;
    }

    // Проверить, содержит ли набор сигналов SIGINT
    if (sigismember(&set, SIGINT)) {
        printf("SIGINT находится в наборе\n");
    } else {
        printf("SIGINT отсутствует в наборе\n");
    }

    return 0;
}

Возможный вывод запуска приведённой выше примерной программы выглядит следующим образом:

SIGINT is not in the set

Программа инициализирует набор сигналов, содержащий все сигналы, затем удаляет из набора сигналовSIGINTсигнал и проверяет, содержит ли набор сигналовSIGINTсигнал, результаты показывают, чтоSIGINTСигнал больше не находится в наборе сигналов.

Объяснение

  • sigset_t set;: определяет переменную набора сигналов.
  • ИспользованиеsigfillsetФункция инициализирует набор сигналов, чтобы он содержал все сигналы.
  • ИспользованиеsigdelsetФункция удаляет сигнал из набора сигналов.SIGINTсигнал.
  • ИспользованиеsigismemberФункция проверяет, содержит ли набор сигналовSIGINTсигнал.
  • Вывод показываетSIGINTСигнал был удалён из набора сигналов.

Примечания

  • sigdelsetФункция используется для удаления конкретного сигнала из набора сигналов.
  • Если номер сигнала недействителен,sigdelsetфункция вернёт -1 и устанавливаетerrnoчтобы указать тип ошибки.

Стандартная библиотека C - <signal.h>

Другие расширения