August 10, 2002 SIGBLOCK 3

### NAME

sigblock - block signals

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```int` sigblock(```int mask`)
```int` sigmask(```signum`)

### DESCRIPTION

This interface is made obsolete by: sigprocmask(2).

sigblock(``) adds the signals specified in ```mask` to the set of signals currently being blocked from delivery. Signals are blocked if the corresponding bit in ```mask` is a 1; the macro sigmask(``) is provided to construct the mask for a given ```signum`.

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

### RETURN VALUES

The previous set of masked signals is returned.

### EXAMPLES

The following example using sigblock(``):

  `

      int omask;

      omask = sigblock(sigmask(SIGINT) | sigmask(SIGHUP));

  `

Becomes:

  `

      sigset_t set, oset;

      sigemptyset(&set);
      sigaddset(&set, SIGINT);
      sigaddset(&set, SIGHUP);
      sigprocmask(SIG_BLOCK, &set, &oset);

  `

Another use of sigblock(``) is to get the current set of masked signals without changing what is actually blocked. Instead of:

  `

      int set;

      set = sigblock(0);

  `

Use the following:

  `

      sigset_t set;

      sigprocmask(SIG_BLOCK, NULL, &set);

  `

### SEE ALSO

kill(2), sigaction(2), sigprocmask(2), sigsetmask(3), sigsetops(3)

### HISTORY

The sigblock(``) function call appeared in 4.2BSD and has been deprecated.