Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sigprocmask(2) — HP-UX 10.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigaction(2)

sigsuspend(2)

sigpending(2)

sigsetops(3C)

signal(5)

sigprocmask(2)

NAME

sigprocmask − examine and change blocked signals

SYNOPSIS

#include <signal.h>

int sigprocmask(

int how,
const sigset_t *set,
sigset_t *oset

);

DESCRIPTION

The sigprocmask() function allows the calling process to examine and/or change its signal mask. 

If the argument set is not a null pointer, it points to a set of signals to be used to change the currently blocked set. 

The argument how indicates the way in which the set is changed and consists of one of the following values:

SIG_BLOCK The resulting set will be the union of the current set and the signal set pointed to by set. 

SIG_SETMASK The resulting set will be the signal set pointed to by set. 

SIG_UNBLOCK The resulting set will be the intersection of the current set andthe complement of the signal set pointed to by set. 

If the argument oset is not a null pointer, the previous mask is stored in the location pointed to by oset. If set is a null pointer, the value of the argument how is not significant and the process’ signal mask is unchanged; thus the call can be used to inquire about currently blocked signals. 

If there are any pending unblocked signals after the call to sigprocmask(), at least one of those signals will be delivered before the call to sigprocmask() returns. 

It is not possible  to  block  those  signals  which cannot  be  ignored.  This is enforced by the system without causing an error to be indicated. 

If any of the SIGFPE, SIGILL, or SIGSEGV signals are generated while they are blocked, the result is undefined, unless the signal was generated by a call to kill() or raise(). 

If sigprocmask() fails, the process’ signal mask is not changed. 

RETURN VALUE

Upon successful completion, sigprocmask() returns 0. Otherwise −1 is returned, errno is set to indicate the error, and the process’ signal mask will be unchanged. 

ERRORS

The sigprocmask() function will fail if:

[EINVAL] The value of the how argument is not equal to one of the defined values. 

SEE ALSO

sigaction(), sigaddset(), sigdelset(), sigemptyset(), sigfillset(), sigismember(), sigpending(), sigsuspend(), <signal.h>. 

CHANGE HISTORY

First released in Issue 3. 

Entry included foralignment with the POSIX.1-1988 standard. 
 

Issue 4

The following change is incorporated  for  alignment with the ISO POSIX-1 standard:

− The type of the arguments set and oset are changed from sigset_t* to constsigset_t*. 

Another change is incorporated as follows:

− The DESCRIPTION section is changed to  indicate that signals can also be generated by raise(). 

HP−UX EXTENSIONS

ERRORS

sigprocmask() fails if any of the following conditions are encountered:

[EFAULT] set or oset points to an invalid address.  The reliable detection of this error is implementation dependent. 

AUTHOR

sigprocmask() was derived from the IEEE POSIX 1003.1-1988 Standard. 

SEE ALSO

sigaction(2), sigsuspend(2), sigpending(2), sigsetops(3C), signal(5). 

STANDARDS CONFORMANCE

sigprocmask(): AES, SVID3, XPG3, XPG4, FIPS 151-2, POSIX.1

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026