1.\" Copyright (c) 1983, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. All advertising materials mentioning features or use of this software 13.\" must display the following acknowledgement: 14.\" This product includes software developed by the University of 15.\" California, Berkeley and its contributors. 16.\" 4. Neither the name of the University nor the names of its contributors 17.\" may be used to endorse or promote products derived from this software 18.\" without specific prior written permission. 19.\" 20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.\" @(#)sigprocmask.2 8.1 (Berkeley) 6/4/93 33.\" $FreeBSD: src/lib/libc/sys/sigprocmask.2,v 1.8.2.5 2001/12/14 18:34:01 ru Exp $ 34.\" 35.Dd June 4, 1993 36.Dt SIGPROCMASK 2 37.Os 38.Sh NAME 39.Nm sigprocmask 40.Nd manipulate current signal mask 41.Sh LIBRARY 42.Lb libc 43.Sh SYNOPSIS 44.In signal.h 45.Ft int 46.Fn sigprocmask "int how" "const sigset_t *set" "sigset_t *oset" 47.Sh DESCRIPTION 48The 49.Fn sigprocmask 50function examines and/or changes the current signal mask (those signals 51that are blocked from delivery). 52Signals are blocked if they are members of the current signal mask set. 53.Pp 54If 55.Fa set 56is not null, the action of 57.Fn sigprocmask 58depends on the value of the parameter 59.Fa how . 60The signal mask is changed as a function of the specified 61.Fa set 62and the current mask. 63The function is specified by 64.Fa how 65using one of the following values from 66.Aq Pa signal.h : 67.Bl -tag -width SIG_UNBLOCK 68.It Dv SIG_BLOCK 69The new mask is the union of the current mask and the specified 70.Fa set . 71.It Dv SIG_UNBLOCK 72The new mask is the intersection of the current mask 73and the complement of the specified 74.Fa set . 75.It Dv SIG_SETMASK 76The current mask is replaced by the specified 77.Fa set . 78.El 79.Pp 80If 81.Fa oset 82is not null, it is set to 83the previous value of the signal mask. 84When 85.Fa set 86is null, 87the value of 88.Ar how 89is insignificant and the mask remains unset 90providing a way to examine the signal mask without modification. 91.Pp 92The system 93quietly disallows 94.Dv SIGKILL 95or 96.Dv SIGSTOP 97to be blocked. 98.Sh RETURN VALUES 99.Rv -std sigprocmask 100.Sh ERRORS 101The 102.Fn sigprocmask 103call will fail and the signal mask will be unchanged if one 104of the following occurs: 105.Bl -tag -width Er 106.It Bq Er EINVAL 107.Fa how 108has a value other than those listed here. 109.El 110.Sh SEE ALSO 111.Xr kill 2 , 112.Xr sigaction 2 , 113.Xr sigsuspend 2 , 114.Xr fpsetmask 3 , 115.Xr sigsetops 3 116.Sh STANDARDS 117The 118.Fn sigprocmask 119function call is expected to 120conform to 121.St -p1003.1-90 . 122