Может ли кто-нибудь объяснить в самом деле простой способ понять, что делает sigemptyset()? Почему это полезно? Я прочитал кучу определений, но я просто не понимаю. Из того, что я собираю, он отслеживает сигналы, которые используются для блокировки? Я не совсем уверен, что понимаю, почему это было бы полезно. Неужели мы не получаем рекурсивно этот конкретный сигнал?Обработка сигналов и sigemptyset()
Базовый пример, где используется sigemptyset():
#include <signal.h>
#include <stdio.h>
#include <unistd.h>
int main(){
struct sigaction act;
sigemptyset(&act.sa_mask);
act.sa_handler=function_name;
act.sa_flags=0;
sigaction(SIGINT, &act, 0);
}
* Название говорит все это * - ну на самом деле это довольно плохое имя в этом случае. Его следует называть sigset_empty или что-то еще. – Pithikos
Нет, но возможно 'sig_emptyset'. Подавляющее большинство функций, определенных в 'signal.h' в POSIX, имеют префикс' sig', чтобы указать это. Таким образом, 'sigemptyset' является реализацией' signal.h' для пустого набора. – stefanct