---
name: "sigblock"
section: "2"
platform: "linux"
package: "manpages-dev"
version: "2.39-1"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/sigblock"
---

# sigblock(2)

manipulate the signal mask

## NAME

sigblock, siggetmask, sigsetmask, sigmask - manipulate the signal mask

## SYNOPSIS

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

**int sigblock(int** *mask***);**

**int siggetmask(void);**

**int sigsetmask(int** *mask***);**

**int sigmask(int** *signum***);**

## DESCRIPTION

This interface is made obsolete by [**sigprocmask**(2)](/sigprocmask/2.md).

The  **sigblock**() system call adds the signals specified in *mask* to the set of signals currently being blocked from delivery.

The  **sigsetmask**() system call replaces the set of blocked signals totally with a new set specified in *mask*. Signals are blocked if the corresponding bit in *mask* is a 1.

The current set of blocked signals can be obtained using **siggetmask**().

The  **sigmask**() macro is provided to construct the mask for a given *signum*.

## RETURN VALUE

**siggetmask**() returns the current set of masked signals.

**sigsetmask**() and **sigblock**() return the previous set of masked signals.

## NOTES

Prototypes for these functions are only available if **\_BSD\_SOURCE** is defined before the inclusion of any system header file.

It is not possible to block **SIGKILL** or **SIGSTOP** - this restriction is silently imposed by the system.

## CONFORMING TO

4\.4BSD. These function calls appeared in 4.3BSD and are deprecated. Use the POSIX signal facilities for new programs.

## SEE ALSO

[**kill**(2)](/kill/2.md), [**sigprocmask**(2)](/sigprocmask/2.md), [**signal**(7)](/signal/7.md)
