OSDN Git Service

(split) Import translated manuals from JM CVS Repository.
[linuxjm/LDP_man-pages.git] / release / man3 / sigvec.3
1 '\" t
2 .\" Copyright (c) 2005 by Michael Kerrisk <mtk.manpages@gmail.com>
3 .\"
4 .\" Permission is granted to make and distribute verbatim copies of this
5 .\" manual provided the copyright notice and this permission notice are
6 .\" preserved on all copies.
7 .\"
8 .\" Permission is granted to copy and distribute modified versions of this
9 .\" manual under the conditions for verbatim copying, provided that the
10 .\" entire resulting derived work is distributed under the terms of a
11 .\" permission notice identical to this one.
12 .\"
13 .\" Since the Linux kernel and libraries are constantly changing, this
14 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
15 .\" responsibility for errors or omissions, or for damages resulting from
16 .\" the use of the information contained herein.  The author(s) may not
17 .\" have taken the same level of care in the production of this manual,
18 .\" which is licensed free of charge, as they might when working
19 .\" professionally.
20 .\"
21 .\" Formatted or processed versions of this manual, if unaccompanied by
22 .\" the source, must acknowledge the copyright and authors of this work.
23 .\"
24 .\" Japanese Version Copyright (c) 2005 Akihiro MOTOKI all rights reserved.
25 .\" Translated 2005-12-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
26 .\"
27 .TH SIGVEC 3 2007-07-26 "Linux" "Linux Programmer's Manual"
28 .SH Ì¾Á°
29 sigvec, sigblock, sigsetmask, siggetmask, sigmask \- BSD ÈÇ¥·¥°¥Ê¥ë API
30 .SH ½ñ¼°
31 .B #include <signal.h>
32 .sp
33 .BI "int sigvec(int " sig ", struct sigvec *" vec ", struct sigvec *" ovec );
34 .sp
35 .BI "int sigmask(int " signum );
36 .sp
37 .BI "int sigblock(int " mask );
38 .sp
39 .BI "int sigsetmask(int " mask );
40 .sp
41 .B int siggetmask(void);
42 .sp
43 .in -4n
44 glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
45 .RB ( feature_test_macros (7)
46 »²¾È):
47 .in
48 .sp
49 ¾åµ­¤ÎÁ´¤Æ¤Î´Ø¿ô:
50 _BSD_SOURCE
51 .SH ÀâÌÀ
52 ¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢ÀΤʤ¬¤é¤Î BSD ÈÇ¥·¥°¥Ê¥ë API ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥×¥í¥°¥é¥à
53 ¤ËÂФ·¤Æ¸ß´¹À­¤Î¤¢¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò glibc ¤ÇÄ󶡤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
54 ¤³¤Î API ¤Ï²áµî¤Î¤â¤Î¤Ç¤¢¤ê¡¢¿·¤·¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï
55 POSIX ¥·¥°¥Ê¥ë API
56 .RB ( sigaction (2),
57 .BR sigprocmask (2)
58 ¤Ê¤É) ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¡£
59
60 ´Ø¿ô
61 .BR sigvec ()
62 ¤Ï¡¢(POSIX ¤Î
63 .BR sigaction (2)
64 ¤ÈƱÍͤË) ¥·¥°¥Ê¥ë
65 .I sig
66 ¤ÎÆ°ºî¤ÎÀßÄꡦ¼èÆÀ¤ò¹Ô¤¦¡£
67 .I vec
68 ¤Ï¡¢NULL °Ê³°¤Î¾ì¹ç¡¢
69 .I sig
70 ¤Î¿·¤·¤¤Æ°ºî¤òÄêµÁ¤·¤¿
71 .I sigvec
72 ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¢¤ë¡£
73 .I ovec
74 ¤Ï¡¢NULL °Ê³°¤Î¾ì¹ç¡¢
75 .I sig
76 ¤ÎÊѹ¹Á°¤ÎÆ°ºî¤òÊÖ¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë
77 .I sigvec
78 ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¢¤ë¡£
79 .I sig
80 ¤ÎÆ°ºî¤òÊѹ¹¤»¤º¤Ë¸½ºß¤ÎÆ°ºî¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
81 .I vec
82 ¤Ë NULL ¤ò»ØÄꤷ¡¢
83 .I ovec
84 ¤Ë NULL ¤Ç¤Ê¤¤¥Ý¥¤¥ó¥¿¤ò»ØÄꤹ¤ì¤Ð¤è¤¤¡£
85
86 .B SIGKILL
87 ¤È
88 .B SIGSTOP
89 ¤ÎÆ°ºî¤ÏÊѹ¹¤Ç¤­¤Ê¤¤¡£
90
91 .I sigvec
92 ¹½Â¤ÂΤϰʲ¼¤ÎÄ̤ê¤Ç¤¢¤ë:
93 .in +4n
94 .nf
95
96 struct sigvec {
97     void (*sv_handler)();  /* Signal disposition */
98     int    sv_mask;        /* Signals to be blocked in handler */
99     int    sv_flags;       /* Flags */
100 };
101
102 .fi
103 .in
104 .I sv_handler
105 ¥Õ¥£¡¼¥ë¥É¤Ï¥·¥°¥Ê¥ë¤ÎÆ°ºî¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¡¢
106 ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é´Ø¿ô¤Î¥¢¥É¥ì¥¹¤«¡¢
107 .B SIG_DFL
108 ¤È
109 .B SIG_IGN
110 ¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤ë¡£
111 .B SIG_DFL
112 ¤Ï¥·¥°¥Ê¥ë¤ËŬÍѤµ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤ò°ÕÌ£¤·¡¢
113 .B SIG_IGN
114 ¤Ï¥·¥°¥Ê¥ë¤ò̵»ë¤¹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
115
116 .I sv_handler
117 ¤Ë¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Î¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
118 .I sv_mask
119 ¤Ï¥Ï¥ó¥É¥é¤¬¼Â¹ÔÃæ¤Ë¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¤Ù¤­¥·¥°¥Ê¥ë¤Î¥Þ¥¹¥¯¤ò»ØÄꤹ¤ë¡£
120 ¤Þ¤¿¡¢¥Ï¥ó¥É¥é¤òµ¯Æ°¤·¤¿¥·¥°¥Ê¥ë¼«¿È¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¡£
121 .B SIGKILL
122 ¤«
123 .B SIGSTOP
124 ¤ò¥Ö¥í¥Ã¥¯¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ÌۤäÆ̵»ë¤µ¤ì¤ë¡£
125
126 .I sv_handler
127 ¤Ë¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Î¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
128 .I sv_flags
129 ¥Õ¥£¡¼¥ë¥É¤Ï¥Ï¥ó¥É¥é¤¬¸Æ¤Ð¤ì¤¿ºÝ¤ÎµóÆ°¤òÀ©¸æ¤¹¤ë¥Õ¥é¥°¤ò»ØÄꤹ¤ë¡£
130 ¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¢0 ¤«¡¢°Ê²¼¤Î¥Õ¥é¥°¤ò 1¸Ä°Ê¾å»ØÄê¤Ç¤­¤ë:
131 .TP
132 .B SV_INTERRUPT
133 ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤¬Ää»ßÃæ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤òÃæÃǤ·¤¿¾ì¹ç¡¢
134 ¥Ï¥ó¥É¥é¤«¤éÉüµ¢¤·¤Æ¤â¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÏºÆ³«¤µ¤ì¤º¡¢
135 ¥¨¥é¡¼
136 .B EINTR
137 ¤Ç¼ºÇÔ¤¹¤ë¡£
138 ¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
139 ¥Ç¥Õ¥©¥ë¥È¤ÇºÆ³«¤µ¤ì¤ë¡£
140 .TP
141 .B SV_RESETHAND
142 ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë¥·¥°¥Ê¥ë¤ÎÆ°ºî¤ò
143 ¥Ç¥Õ¥©¥ë¥È¤Ë¥ê¥»¥Ã¥È¤¹¤ë¡£
144 ¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤â¤¦°ìÅÙ
145 .BR sigvec ()
146 ¤ò¸Æ¤Ó½Ð¤·¤ÆÌÀ¼¨Åª¤Ëºï½ü¤µ¤ì¤ë¤«¡¢¥×¥í¥»¥¹¤¬
147 .BR execve (2)
148 ¤ò¼Â¹Ô¤¹¤ë¤Þ¤Ç¡¢¥Ï¥ó¥É¥é¤ÏÀßÄꤵ¤ì¤¿¤Þ¤Þ¤È¤Ê¤ë¡£
149 .TP
150 .B SV_ONSTACK
151 ÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¾å¤Ç¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ò¼Â¹Ô¤¹¤ë
152 (Îò»ËŪ¤Ë¡¢BSD ¤Ç¤ÏÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤ÏÇѻߤµ¤ì¤¿´Ø¿ô
153 .BR sigstack ()
154 ¤ò»È¤Ã¤ÆÀßÄꤹ¤ë¡£POSIX ¤Ç¤Ï¡¢Âå¤ï¤ê¤Ë
155 .BR sigaltstack (2)
156 ¤ò»ÈÍѤ¹¤ë)¡£
157 .PP
158 ´Ø¿ô
159 .BR sigmask ()
160 ¤Ï
161 .I signum
162 ¤ËÂФ¹¤ë¡Ö¥·¥°¥Ê¥ë¥Þ¥¹¥¯¡×¤ò¹½À®¤·¤ÆÊÖ¤¹¡£
163 Î㤨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò»È¤¦¤È¡¢
164 .BR sigvec ()
165 ¤ËÅϤ¹
166 .I vec.sv_mask
167 ¤ò½é´ü²½¤Ç¤­¤ë¡£
168 .nf
169
170     vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);
171                 /* Block SIGQUIT and SIGABRT during
172                    handler execution */
173 .fi
174 .PP
175 .BR sigblock ()
176 ´Ø¿ô¤Ï¡¢
177 .I mask
178 ¤Ë¤¢¤ë¥·¥°¥Ê¥ë¤ò¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤ËÄɲä·
179 (POSIX ¤Î
180 .I sigprocmask(SIG_BLOCK)
181 ¤ÈƱÍÍ)¡¢Êѹ¹Á°¤Î¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤òÊÖ¤¹¡£
182 .B SIGKILL
183 ¤ä
184 .B SIGSTOP
185 ¤ò¥Ö¥í¥Ã¥¯¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ÌۤäÆ̵»ë¤µ¤ì¤ë¡£
186 .PP
187 .BR sigsetmask ()
188 ´Ø¿ô¤Ï¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤ò
189 .I mask
190 ¤Ç»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ (POSIX ¤Î
191 .I sigprocmask(SIG_SETMASK)
192 ¤ÈƱÍÍ)¡¢Êѹ¹Á°¤Î¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤òÊÖ¤¹¡£
193 .PP
194 .BR siggetmask ()
195 ´Ø¿ô¤Ï¥×¥í¥»¥¹¤Î¸½ºß¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤òÊÖ¤¹¡£¤³¤Î´Ø¿ô¤Ï
196 .I sigblock(0)
197 ¤ÈÅù²Á¤Ç¤¢¤ë¡£
198 .SH ÊÖ¤êÃÍ
199 .BR sigvec ()
200 ´Ø¿ô¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤òÊÖ¤·¡¢
201 .I errno
202 ¤Ë¥¨¥é¡¼¤ò¼¨¤¹Ãͤò¥»¥Ã¥È¤¹¤ë¡£
203
204 .BR sigblock ()
205 ¤È
206 .BR sigsetmask ()
207 ¤ÏÊѹ¹Á°¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤òÊÖ¤¹¡£
208
209 .BR sigmask ()
210 ´Ø¿ô¤Ï
211 .I signum
212 ¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤òÊÖ¤¹¡£
213 .SH ¥¨¥é¡¼
214 .BR sigaction (2)
215 ¤È
216 .BR sigprocmask (2)
217 ¤Î¡Ö¥¨¥é¡¼¡×¤ÎÀá¤ò»²¾È¡£
218 .SH ½àµò
219 ¤³¤ì¤é¤Î´Ø¿ô¤Î¤¦¤Á
220 .BR siggetmask ()
221 °Ê³°¤ÎÁ´¤Æ¤Ï 4.3BSD ¤Ë¤¢¤Ã¤¿¡£
222 .BR siggetmask ()
223 ¤Î½Ð¼«¤Ï¤Ï¤Ã¤­¤ê¤·¤Ê¤¤¡£
224 ¤³¤ì¤é¤Î´Ø¿ô¤ÏÇÑ»ßͽÄê¤Ç¤¢¤ê¡¢¿·¤·¤¤¥×¥í¥°¥é¥à¤Ç¤Ï»ÈÍѤ·¤Ê¤¤¤³¤È¡£
225 .SH Ãí°Õ
226 4.3BSD ¤Ç¤Ï¡¢¿®ÍêÀ­¤Î¤¢¤ë¥·¥°¥Ê¥ë½èÍýµ¡¹½¤òÄ󶡤¹¤ë
227 .RI ( vec.sv_mask
228 ¤ò 0 ¤Ç
229 .BR sigvec ()
230 ¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤­¤ÈƱÍÍ)¡£
231 System V ¤¬Ä󶡤¹¤ë½èÍýµ¡¹½¤Ï¿®ÍêÀ­¤Î¤Ê¤¤¤â¤Î¤Ç¤¢¤ë¡£
232 POSIX.1-2001 ¤Ç¤Ï¡¢
233 .BR signal ()
234 ¤Î¤³¤ÎÅÀ¤Ïµ¬Äꤷ¤Ê¤¤¤Þ¤Þ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
235 ¤µ¤é¤Ê¤ë¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
236 .BR signal (2)
237 ¤ò»²¾È¡£
238
239 BSD ¤È System V ¤Î¤É¤Á¤é¤Î¥·¥¹¥Æ¥à¤Ç¤â
240 ¥·¥°¥Ê¥ë¤òÂԤĤ¿¤á¤Ë¡¢
241 .BR sigpause (3)
242 ¤È¤¤¤¦Ì¾Á°¤Î´Ø¿ô¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¤¬¡¢
243 ¤³¤Î´Ø¿ô¤Î°ú¤­¿ô¤ÏξÊý¤Î¥·¥¹¥Æ¥à¤Ç°Û¤Ê¤ë¡£
244 ¾ÜºÙ¤Ï
245 .BR sigpause (3)
246 ¤ò»²¾È¡£
247 .SH ´ØÏ¢¹àÌÜ
248 .BR kill (2),
249 .BR pause (2),
250 .BR sigaction (2),
251 .BR signal (2),
252 .BR sigprocmask (2),
253 .BR raise (3),
254 .BR sigpause (3),
255 .BR sigset (3),
256 .BR signal (7)