---
name: "sigdelset"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/sigaddset"
---

# sigdelset(3)

manipulate signal sets

Part of [sigaddset(3)](/sigaddset/3.md).

## NAME

**sigemptyset**, **sigfillset**, **sigaddset**, **sigandset**, **sigdelset**, **sigisemptyset**, **sigismember**, **sigorset** – manipulate signal sets

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<signal.h\>**

*int*\

**sigemptyset**(*sigset\_t \*set*);

*int*\

**sigfillset**(*sigset\_t \*set*);

*int*\

**sigaddset**(*sigset\_t \*set*, *int signo*);

*int*\

**sigandset**(*sigset\_t \*set*, *const sigset\_t \*left*, *const sigset\_t \*right*);

*int*\

**sigdelset**(*sigset\_t \*set*, *int signo*);

*int*\

**sigisemptyset**(*const sigset\_t \*set*);

*int*\

**sigismember**(*const sigset\_t \*set*, *int signo*);

*int*\

**sigorset**(*sigset\_t \*set*, *const sigset\_t \*left*, *const sigset\_t \*right*);

## DESCRIPTION

These functions manipulate signal sets stored in a *sigset\_t*. Either **sigemptyset**() or **sigfillset**() must be called for every object of type *sigset\_t* before any other use of the object.

The **sigemptyset**() function initializes a signal set to be empty.

The **sigfillset**() function initializes a signal set to contain all signals.

The **sigaddset**() function adds the specified signal *signo* to the signal set.

The **sigandset**() function sets the specified *set* to the logical AND of all signals from the *left* and *right* signal sets.

The **sigdelset**() function deletes the specified signal *signo* from the signal set.

The **sigisemptyset**() function returns whether the specified *set* is empty or not.

The **sigismember**() function returns whether a specified signal *signo* is contained in the signal set.

The **sigorset**() function sets the specified *set* to the logical OR of all signals from the *left* and *right* signal sets.

## RETURN VALUES

The **sigisemptyset**() function returns 1 if the set is empty, 0 otherwise.

The **sigismember**() function returns 1 if the signal is a member of the set, 0 otherwise.

The other functions return 0 upon success. A -1 return value indicates an error occurred and the global variable *errno* is set to indicate the reason.

## ERRORS

These functions could fail if one of the following occurs:

- \[EINVAL\]

  *signo* has an invalid value.

## SEE ALSO

[kill(2)](/kill/2.md), [sigaction(2)](/sigaction/2.md), [sigpending(2)](/sigpending/2.md), [sigprocmask(2)](/sigprocmask/2.md), [sigsuspend(2)](/sigsuspend/2.md)

## STANDARDS

The **sigandset**(), **sigisemptyset**(), and **sigorset**() functions are FreeBSD extensions, compatible with functions of the same name provided by both musl libc and GNU libc.

The rest of these functions are defined by IEEE Std 1003.1-1988 (“POSIX.1”).
