]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc/gen/sigsetops.3
libsys: fix sleep(3)/usleep(3) cancel behavior
[FreeBSD/FreeBSD.git] / lib / libc / gen / sigsetops.3
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. Neither the name of the University nor the names of its contributors
13 .\"    may be used to endorse or promote products derived from this software
14 .\"    without specific prior written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .Dd October 29, 2019
29 .Dt SIGSETOPS 3
30 .Os
31 .Sh NAME
32 .Nm sigemptyset ,
33 .Nm sigfillset ,
34 .Nm sigaddset ,
35 .Nm sigandset ,
36 .Nm sigdelset ,
37 .Nm sigisemptyset ,
38 .Nm sigismember ,
39 .Nm sigorset
40 .Nd manipulate signal sets
41 .Sh LIBRARY
42 .Lb libc
43 .Sh SYNOPSIS
44 .In signal.h
45 .Ft int
46 .Fn sigemptyset "sigset_t *set"
47 .Ft int
48 .Fn sigfillset "sigset_t *set"
49 .Ft int
50 .Fn sigaddset "sigset_t *set" "int signo"
51 .Ft int
52 .Fn sigandset "sigset_t *set" "const sigset_t *left" "const sigset_t *right"
53 .Ft int
54 .Fn sigdelset "sigset_t *set" "int signo"
55 .Ft int
56 .Fn sigisemptyset "const sigset_t *set"
57 .Ft int
58 .Fn sigismember "const sigset_t *set" "int signo"
59 .Ft int
60 .Fn sigorset "sigset_t *set" "const sigset_t *left" "const sigset_t *right"
61 .Sh DESCRIPTION
62 These functions manipulate signal sets stored in a
63 .Fa sigset_t .
64 Either
65 .Fn sigemptyset
66 or
67 .Fn sigfillset
68 must be called for every object of type
69 .Fa sigset_t
70 before any other use of the object.
71 .Pp
72 The
73 .Fn sigemptyset
74 function initializes a signal set to be empty.
75 .Pp
76 The
77 .Fn sigfillset
78 function initializes a signal set to contain all signals.
79 .Pp
80 The
81 .Fn sigaddset
82 function adds the specified signal
83 .Fa signo
84 to the signal set.
85 .Pp
86 The
87 .Fn sigandset
88 function sets the specified
89 .Fa set
90 to the logical AND of all signals from the
91 .Fa left
92 and
93 .Fa right
94 signal sets.
95 .Pp
96 The
97 .Fn sigdelset
98 function deletes the specified signal
99 .Fa signo
100 from the signal set.
101 .Pp
102 The
103 .Fn sigisemptyset
104 function returns whether the specified
105 .Fa set
106 is empty or not.
107 .Pp
108 The
109 .Fn sigismember
110 function returns whether a specified signal
111 .Fa signo
112 is contained in the signal set.
113 .Pp
114 The
115 .Fn sigorset
116 function sets the specified
117 .Fa set
118 to the logical OR of all signals from the
119 .Fa left
120 and
121 .Fa right
122 signal sets.
123 .Sh RETURN VALUES
124 The
125 .Fn sigisemptyset
126 function returns 1
127 if the set is empty, 0 otherwise.
128 .Pp
129 The
130 .Fn sigismember
131 function returns 1
132 if the signal is a member of the set,
133 0 otherwise.
134 .Pp
135 The other functions return 0 upon success.
136 A \-1 return value
137 indicates an error occurred and the global variable
138 .Va errno
139 is set to indicate the reason.
140 .Sh ERRORS
141 These functions could fail if one of the following occurs:
142 .Bl -tag -width Er
143 .It Bq Er EINVAL
144 .Fa signo
145 has an invalid value.
146 .El
147 .Sh SEE ALSO
148 .Xr kill 2 ,
149 .Xr sigaction 2 ,
150 .Xr sigpending 2 ,
151 .Xr sigprocmask 2 ,
152 .Xr sigsuspend 2
153 .Sh STANDARDS
154 The
155 .Fn sigandset ,
156 .Fn sigisemptyset ,
157 and
158 .Fn sigorset
159 functions are FreeBSD extensions, compatible with functions of the same name
160 provided by both musl libc and GNU libc.
161 .Pp
162 The rest of these functions are defined by
163 .St -p1003.1-88 .