---
name: "sgetmask"
section: "2"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/sgetmask"
---

# sgetmask(2)

manipulation of signal mask (obsolete)

## NAME

sgetmask, ssetmask - manipulation of signal mask (obsolete)

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <sys/syscall.h>      /* Definition of SYS_* constants */
#include <unistd.h>
```

**\[\[deprecated\]\] long syscall(SYS\_sgetmask, void);** **\[\[deprecated\]\] long syscall(SYS\_ssetmask, long** *newmask***);**

## DESCRIPTION

These system calls are obsolete. *Do not use them*; use [**sigprocmask**(2)](/sigprocmask/2.md) instead.

**sgetmask**() returns the signal mask of the calling process.

**ssetmask**() sets the signal mask of the calling process to the value given in *newmask*. The previous signal mask is returned.

The signal masks dealt with by these two system calls are plain bit masks (unlike the *sigset\_t* used by [**sigprocmask**(2)](/sigprocmask/2.md)); use [**sigmask**(3)](/sigmask/3.md) to create and inspect these masks.

## RETURN VALUE

**sgetmask**() always successfully returns the signal mask. **ssetmask**() always succeeds, and returns the previous signal mask.

## ERRORS

These system calls always succeed.

## STANDARDS

Linux.

## HISTORY

Since Linux 3.16, support for these system calls is optional, depending on whether the kernel was built with the **CONFIG\_SGETMASK\_SYSCALL** option.

## NOTES

These system calls are unaware of signal numbers greater than 31 (i.e., real-time signals).

These system calls do not exist on x86-64.

It is not possible to block **SIGSTOP** or **SIGKILL**.

## SEE ALSO

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