NAME

sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX 시그널 집합 연산

SYNOPSIS

#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

DESCRIPTION

이 함수들을 이용해 POSIX 시그널 집합을 조작할 수 있다.

sigemptyset()set으로 준 시그널 집합을 시그널이 모두 빠진 빈 집합으로 초기화 한다.

sigfillset()set을 모든 시그널을 포함한 가득 찬 집합으로 초기화 한다.

sigaddset()sigdelset()set에 시그널 signum을 더하고 뺀다.

sigismember()signumset에 속하는지 검사한다.

sigset_t 타입 객체를 함수 sigaddset(), sigdelset(), sigismember()나 아래 기술하는 추가 glibc 함수들(sigisemptyset(), sigandset(), sigorset())로 전달하기 전에 sigemptyset()이나 sigfillset() 호출로 초기화 해야 한다. 그러지 않은 경우 결과는 규정되어 있지 않다.

RETURN VALUE

sigemptyset(), sigfillset(), sigaddset(), sigdelset()은 성공 시 0을 반환하고 오류 시 -1을 반환한다.

sigismember()signumset에 속하면 1을 반환하고 속하지 않으면 0을 반환하며 오류 시 -1을 반환한다.

오류 시 이 함수들은 오류를 나타내도록 errno를 설정한다.

ERRORS

EINVAL
signum이 유효한 시그널이 아니다.

ATTRIBUTES

이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.

인터페이스 속성
sigemptyset(), sigfillset(), sigaddset(),
sigdelset(), sigismember(), sigisemptyset(),
sigorset(), sigandset()
스레드 안전성 MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX-1.2008.

NOTES

가득 찬 시그널 집합을 만들 때 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()set이 아무 시그널도 담고 있지 않으면 1을 반환하고 그 외의 경우 0을 반환한다.

sigorset()은 집합 leftright의 합집합을 dest에 집어넣는다. sigandset()은 집합 leftright의 교집합을 dest에 집어넣는다. 두 함수 모두 성공 시 0을 반환하고 실패 시 -1을 반환한다.

이 함수들은 비표준이며 (몇몇 다른 시스템에서 비슷한 함수들을 제공함) 이식 가능한 응용에서는 사용을 피해야 한다.

SEE ALSO

sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(2)


2021-03-22