'\" te .\" Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved. .\" Copyright (c) 1983 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution. .TH SIGBLOCK 3UCB "Oct 30, 2007" .SH NAME sigblock, sigmask, sigpause, sigsetmask \- block signals .SH SYNOPSIS .LP .nf \fB/usr/ucb/cc\fR [ \fIflag\fR ... ] \fIfile\fR ... #include \fBint\fR \fBsigblock\fR(\fImask\fR) \fBint\fR \fImask\fR; .fi .LP .nf \fBint\fR \fBsigmask\fR(\fIsignum\fR) \fBint\fR \fIsignum\fR; .fi .LP .nf \fBint\fR \fBsigpause\fR(\fImask\fR) \fBint\fR \fImask\fR; .fi .LP .nf \fBint\fR \fBsigsetmask\fR(\fImask\fR) \fBint\fR \fImask\fR; .fi .SH DESCRIPTION .sp .LP \fBsigblock()\fR adds the signals specified in \fImask\fR to the set of signals currently being blocked from delivery. Signals are blocked if the appropriate bit in \fImask\fR is a 1; the macro \fBsigmask\fR is provided to construct the mask for a given \fIsignum\fR. \fBsigblock()\fR returns the previous mask. The previous mask may be restored using \fBsigsetmask()\fR. .sp .LP \fBsigpause()\fR assigns \fImask\fR to the set of masked signals and then waits for a signal to arrive; on return the set of masked signals is restored. \fImask\fR is usually 0 to indicate that no signals are now to be blocked. \fBsigpause()\fR always terminates by being interrupted, returning \(mi1 and setting \fBerrno\fR to \fBEINTR.\fR .sp .LP \fBsigsetmask()\fR sets the current signal mask (those signals that are blocked from delivery). Signals are blocked if the corresponding bit in \fImask\fR is a 1; the macro \fBsigmask\fR is provided to construct the mask for a given \fIsignum\fR. .sp .LP In normal usage, a signal is blocked using \fBsigblock()\fR. To begin a critical section, variables modified on the occurrence of the signal are examined to determine that there is no work to be done, and the process pauses awaiting work by using \fBsigpause()\fR with the mask returned by \fBsigblock()\fR. .sp .LP It is not possible to block \fBSIGKILL\fR, \fBSIGSTOP\fR, or \fBSIGCONT\fR, this restriction is silently imposed by the system. .SH RETURN VALUES .sp .LP \fBsigblock()\fR and \fBsigsetmask()\fR return the previous set of masked signals. \fBsigpause()\fR returns \(mi1 and sets \fBerrno\fR to \fBEINTR\fR. .SH SEE ALSO .sp .LP \fBkill\fR(2), \fBsigaction\fR(2), \fBsignal\fR(3UCB), \fBsigvec\fR(3UCB) .SH NOTES .sp .LP Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system libraries or in multi-thread applications is unsupported.