aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man2/sigprocmask.2
blob: 51a2777e5c2f90d8a273347454e78e11e7938783 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
.\" Copyright (c) 1983, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)sigprocmask.2	8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/sigprocmask.2,v 1.8.2.3 2000/12/29 14:44:54 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
.Dt SIGPROCMASK 2
.Os
.Sh 名称
.Nm sigprocmask
.Nd 現在のシグナルマスクを操作する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <signal.h>
.Ft int
.Fn sigprocmask "int how" "const sigset_t *set" "sigset_t *oset"
.Sh 解説
.Fn sigprocmask
関数は、現在のシグナルマスク
(配信がブロックされているシグナル)
の調査や変更を行ないます。シグナルは、現在のシグナルマスクセットに
含まれる場合にブロックされます。
.Pp
.Fa set
がヌルではない場合、
.Fn sigprocmask
の操作は、パラメータ
.Ar how
の値によって決まります。シグナルマスクは、指定した
.Fa set
と現在のマスクによって変更されます。
関数は、
.Aq Pa signal.h
で定義される以下の値を使用して
.Ar how
で指定します。
.Bl -tag -width SIG_UNBLOCK
.It Dv SIG_BLOCK
新しいマスクは、現在のマスクと指定した
.Fa set
の和集合になります。
.Pp
.It Dv SIG_UNBLOCK
新しいマスクは、現在のマスクと指定した
.Fa set
の補集合の交わりになります。
.It Dv SIG_SETMASK
現在のマスクは、指定した
.Fa set
に置き換えられます。
.El
.Pp
.Fa oset
がヌルでない場合、前のシグナルマスクの値に設定されます。
.Fa set
がヌルである場合、
.Ar how
の値が無効になり、マスクは未設定のまま残るので、
シグナルマスクを修正せずに検査できるようになります。
.Pp
システムでは、
.Dv SIGKILL
や
.Dv SIGSTOP
のブロックが許可されていません。
.Pp
.Sh 戻り値
値 0 は呼び出しが正常に完了したことを示します。
戻り値 -1 はエラーが起こったことを示し、エラーの理由を示すために
.Va errno
が設定されます。
.Sh エラー
以下が発生すると、
.Fn sigprocmask
呼び出しはエラーになり、シグナルマスクは変更されません。
.Pp
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa how
が、ここでリストに挙げた以外の値になっています。
.El
.Pp
.Sh 関連項目
.Xr kill 2 ,
.Xr sigaction 2 ,
.Xr sigsuspend 2 ,
.Xr fpsetmask 3 ,
.Xr sigsetops 3
.Sh 規格
.Fn sigprocmask
関数呼び出しは、
.St -p1003.1-90
に準拠しています。