OSDN Git Service

(split) LDP: Translate COLOPHON and the project description.
[linuxjm/LDP_man-pages.git] / po4a / signal / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-03-22 04:26+0900\n"
10 "PO-Revision-Date: 2012-03-23 04:57+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/bsd_signal.3:23
20 #, no-wrap
21 msgid "BSD_SIGNAL"
22 msgstr "BSD_SIGNAL"
23
24 #. type: TH
25 #: build/C/man3/bsd_signal.3:23 build/C/man2/getitimer.2:7
26 #, no-wrap
27 msgid "2009-03-15"
28 msgstr "2009-03-15"
29
30 #. type: TH
31 #: build/C/man3/bsd_signal.3:23 build/C/man2/eventfd.2:21
32 #: build/C/man2/getitimer.2:7 build/C/man3/gsignal.3:25 build/C/man2/kill.2:44
33 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:46
34 #: build/C/man3/profil.3:28 build/C/man3/psignal.3:28 build/C/man3/raise.3:27
35 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man2/sgetmask.2:24
36 #: build/C/man2/sigaction.2:45 build/C/man2/sigaltstack.2:25
37 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
38 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
39 #: build/C/man2/signalfd.2:19 build/C/man3/sigpause.3:23
40 #: build/C/man2/sigpending.2:27 build/C/man2/sigprocmask.2:27
41 #: build/C/man3/sigqueue.3:26 build/C/man2/sigreturn.2:27
42 #: build/C/man3/sigset.3:24 build/C/man3/sigsetops.3:29
43 #: build/C/man2/sigsuspend.2:27 build/C/man3/sigvec.3:24
44 #: build/C/man3/sigwait.3:24 build/C/man2/sigwaitinfo.2:23
45 #: build/C/man3/sysv_signal.3:23 build/C/man2/timer_create.2:29
46 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
47 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
48 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
49 #, no-wrap
50 msgid "Linux Programmer's Manual"
51 msgstr "Linux Programmer's Manual"
52
53 #. type: SH
54 #: build/C/man3/bsd_signal.3:24 build/C/man2/eventfd.2:22
55 #: build/C/man2/getitimer.2:8 build/C/man3/gsignal.3:26 build/C/man2/kill.2:45
56 #: build/C/man2/killpg.2:41 build/C/man2/pause.2:31 build/C/man2/prctl.2:47
57 #: build/C/man3/profil.3:29 build/C/man3/psignal.3:29 build/C/man3/raise.3:28
58 #: build/C/man2/rt_sigqueueinfo.2:24 build/C/man2/sgetmask.2:25
59 #: build/C/man2/sigaction.2:46 build/C/man2/sigaltstack.2:26
60 #: build/C/man7/sigevent.7:25 build/C/man3/siginterrupt.3:30
61 #: build/C/man2/signal.2:35 build/C/man7/signal.7:45
62 #: build/C/man2/signalfd.2:20 build/C/man3/sigpause.3:24
63 #: build/C/man2/sigpending.2:28 build/C/man2/sigprocmask.2:28
64 #: build/C/man3/sigqueue.3:27 build/C/man2/sigreturn.2:28
65 #: build/C/man3/sigset.3:25 build/C/man3/sigsetops.3:30
66 #: build/C/man2/sigsuspend.2:28 build/C/man3/sigvec.3:25
67 #: build/C/man3/sigwait.3:25 build/C/man2/sigwaitinfo.2:24
68 #: build/C/man3/sysv_signal.3:24 build/C/man2/timer_create.2:30
69 #: build/C/man2/timer_delete.2:24 build/C/man2/timer_getoverrun.2:24
70 #: build/C/man2/timer_settime.2:24 build/C/man2/timerfd_create.2:21
71 #: build/C/man2/tkill.2:30 build/C/man2/wait.2:51 build/C/man2/wait4.2:35
72 #, no-wrap
73 msgid "NAME"
74 msgstr "名前"
75
76 #. type: Plain text
77 #: build/C/man3/bsd_signal.3:26
78 msgid "bsd_signal - signal handling with BSD semantics"
79 msgstr "bsd_signal - BSD 方式のシグナル処理"
80
81 #. type: SH
82 #: build/C/man3/bsd_signal.3:26 build/C/man2/eventfd.2:24
83 #: build/C/man2/getitimer.2:10 build/C/man3/gsignal.3:28
84 #: build/C/man2/kill.2:47 build/C/man2/killpg.2:43 build/C/man2/pause.2:33
85 #: build/C/man2/prctl.2:49 build/C/man3/profil.3:31 build/C/man3/psignal.3:31
86 #: build/C/man3/raise.3:30 build/C/man2/rt_sigqueueinfo.2:26
87 #: build/C/man2/sgetmask.2:27 build/C/man2/sigaction.2:48
88 #: build/C/man2/sigaltstack.2:28 build/C/man7/sigevent.7:27
89 #: build/C/man3/siginterrupt.3:32 build/C/man2/signal.2:37
90 #: build/C/man2/signalfd.2:22 build/C/man3/sigpause.3:26
91 #: build/C/man2/sigpending.2:30 build/C/man2/sigprocmask.2:30
92 #: build/C/man3/sigqueue.3:29 build/C/man2/sigreturn.2:30
93 #: build/C/man3/sigset.3:27 build/C/man3/sigsetops.3:33
94 #: build/C/man2/sigsuspend.2:30 build/C/man3/sigvec.3:27
95 #: build/C/man3/sigwait.3:27 build/C/man2/sigwaitinfo.2:26
96 #: build/C/man3/sysv_signal.3:26 build/C/man2/timer_create.2:32
97 #: build/C/man2/timer_delete.2:26 build/C/man2/timer_getoverrun.2:26
98 #: build/C/man2/timer_settime.2:27 build/C/man2/timerfd_create.2:24
99 #: build/C/man2/tkill.2:32 build/C/man2/wait.2:53 build/C/man2/wait4.2:37
100 #, no-wrap
101 msgid "SYNOPSIS"
102 msgstr "書式"
103
104 #. type: Plain text
105 #: build/C/man3/bsd_signal.3:28
106 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
107 msgstr "B<#define _XOPEN_SOURCE> /* feature_test_macros(7) 参照 */"
108
109 #. type: Plain text
110 #: build/C/man3/bsd_signal.3:30 build/C/man2/killpg.2:45
111 #: build/C/man2/sigaltstack.2:30 build/C/man2/signal.2:39
112 #: build/C/man2/sigpending.2:32 build/C/man2/sigprocmask.2:32
113 #: build/C/man3/sigqueue.3:31 build/C/man3/sigset.3:29
114 #: build/C/man3/sigsetops.3:35 build/C/man2/sigsuspend.2:32
115 #: build/C/man3/sigvec.3:29 build/C/man3/sysv_signal.3:30
116 msgid "B<#include E<lt>signal.hE<gt>>"
117 msgstr "B<#include E<lt>signal.hE<gt>>"
118
119 #. type: Plain text
120 #: build/C/man3/bsd_signal.3:32 build/C/man2/signal.2:41
121 #: build/C/man3/sigset.3:31 build/C/man3/sysv_signal.3:32
122 msgid "B<typedef void (*sighandler_t)(int);>"
123 msgstr "B<typedef void (*sighandler_t)(int);>"
124
125 #. type: Plain text
126 #: build/C/man3/bsd_signal.3:34
127 msgid ""
128 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
129 msgstr ""
130 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
131
132 #. type: SH
133 #: build/C/man3/bsd_signal.3:34 build/C/man2/eventfd.2:28
134 #: build/C/man2/getitimer.2:19 build/C/man3/gsignal.3:47
135 #: build/C/man2/kill.2:65 build/C/man2/killpg.2:59 build/C/man2/pause.2:37
136 #: build/C/man2/prctl.2:56 build/C/man3/profil.3:44 build/C/man3/psignal.3:54
137 #: build/C/man3/raise.3:36 build/C/man2/rt_sigqueueinfo.2:33
138 #: build/C/man2/sgetmask.2:31 build/C/man2/sigaction.2:65
139 #: build/C/man2/sigaltstack.2:49 build/C/man7/sigevent.7:50
140 #: build/C/man3/siginterrupt.3:53 build/C/man2/signal.2:43
141 #: build/C/man7/signal.7:47 build/C/man2/signalfd.2:26
142 #: build/C/man3/sigpause.3:34 build/C/man2/sigpending.2:44
143 #: build/C/man2/sigprocmask.2:45 build/C/man3/sigqueue.3:41
144 #: build/C/man2/sigreturn.2:32 build/C/man3/sigset.3:56
145 #: build/C/man3/sigsetops.3:61 build/C/man2/sigsuspend.2:44
146 #: build/C/man3/sigvec.3:47 build/C/man3/sigwait.3:43
147 #: build/C/man2/sigwaitinfo.2:44 build/C/man3/sysv_signal.3:34
148 #: build/C/man2/timer_create.2:50 build/C/man2/timer_delete.2:42
149 #: build/C/man2/timer_getoverrun.2:42 build/C/man2/timer_settime.2:47
150 #: build/C/man2/timerfd_create.2:36 build/C/man2/tkill.2:38
151 #: build/C/man2/wait.2:82 build/C/man2/wait4.2:68
152 #, no-wrap
153 msgid "DESCRIPTION"
154 msgstr "説明"
155
156 #. type: Plain text
157 #: build/C/man3/bsd_signal.3:39
158 msgid ""
159 "The B<bsd_signal>()  function takes the same arguments, and performs the "
160 "same task, as B<signal>(2)."
161 msgstr ""
162 "B<bsd_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
163 "る。"
164
165 #. type: Plain text
166 #: build/C/man3/bsd_signal.3:52
167 msgid ""
168 "The difference between the two is that B<bsd_signal>()  is guaranteed to "
169 "provide reliable signal semantics, that is: a) the disposition of the signal "
170 "is not reset to the default when the handler is invoked; b) delivery of "
171 "further instances of the signal is blocked while the signal handler is "
172 "executing; and c) if the handler interrupts a blocking system call, then the "
173 "system call is automatically restarted.  A portable application cannot rely "
174 "on B<signal>(2)  to provide these guarantees."
175 msgstr ""
176 "両者の違いは、 B<bsd_signal>()  では信頼性のあるシグナル処理方式の提供が保証"
177 "されていることである。 信頼性のあるシグナル処理方式は以下の特徴を持つ。 a) ハ"
178 "ンドラが起動された場合に、シグナルの処理方法 (disposition) が デフォルトにリ"
179 "セットされない、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナ"
180 "ルの配送が ブロックされない、 c) ハンドラが停止中の (blocking している) シス"
181 "テムコールを 中断した場合、そのシステムコールが自動的に再開される。 移植性が"
182 "必要なアプリケーションでは、 B<signal>(2)  でこれらが保証されることを前提にす"
183 "べきではない。"
184
185 #. type: SH
186 #: build/C/man3/bsd_signal.3:52 build/C/man2/eventfd.2:222
187 #: build/C/man2/getitimer.2:117 build/C/man2/kill.2:99
188 #: build/C/man2/killpg.2:88 build/C/man2/pause.2:42 build/C/man2/prctl.2:381
189 #: build/C/man3/profil.3:66 build/C/man3/psignal.3:87 build/C/man3/raise.3:59
190 #: build/C/man2/rt_sigqueueinfo.2:124 build/C/man2/sgetmask.2:54
191 #: build/C/man2/sigaction.2:651 build/C/man2/sigaltstack.2:131
192 #: build/C/man3/siginterrupt.3:71 build/C/man2/signal.2:95
193 #: build/C/man2/signalfd.2:248 build/C/man3/sigpause.3:46
194 #: build/C/man2/sigpending.2:51 build/C/man2/sigprocmask.2:91
195 #: build/C/man3/sigqueue.3:81 build/C/man2/sigreturn.2:51
196 #: build/C/man3/sigset.3:127 build/C/man3/sigsetops.3:105
197 #: build/C/man2/sigsuspend.2:68 build/C/man3/sigvec.3:197
198 #: build/C/man3/sigwait.3:66 build/C/man2/sigwaitinfo.2:98
199 #: build/C/man3/sysv_signal.3:49 build/C/man2/timer_create.2:165
200 #: build/C/man2/timer_delete.2:50 build/C/man2/timer_getoverrun.2:79
201 #: build/C/man2/timer_settime.2:169 build/C/man2/timerfd_create.2:286
202 #: build/C/man2/tkill.2:69 build/C/man2/wait.2:354 build/C/man2/wait4.2:127
203 #, no-wrap
204 msgid "RETURN VALUE"
205 msgstr "返り値"
206
207 #. type: Plain text
208 #: build/C/man3/bsd_signal.3:58
209 msgid ""
210 "The B<bsd_signal>()  function returns the previous value of the signal "
211 "handler, or B<SIG_ERR> on error."
212 msgstr ""
213 "B<bsd_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
214 "B<SIG_ERR> を返す。"
215
216 #. type: SH
217 #: build/C/man3/bsd_signal.3:58 build/C/man2/eventfd.2:229
218 #: build/C/man2/getitimer.2:122 build/C/man2/kill.2:104
219 #: build/C/man2/killpg.2:93 build/C/man2/pause.2:53 build/C/man2/prctl.2:398
220 #: build/C/man2/rt_sigqueueinfo.2:129 build/C/man2/sgetmask.2:59
221 #: build/C/man2/sigaction.2:654 build/C/man2/sigaltstack.2:135
222 #: build/C/man3/siginterrupt.3:76 build/C/man2/signal.2:100
223 #: build/C/man2/signalfd.2:262 build/C/man2/sigpending.2:54
224 #: build/C/man2/sigprocmask.2:94 build/C/man3/sigqueue.3:89
225 #: build/C/man3/sigset.3:152 build/C/man3/sigsetops.3:121
226 #: build/C/man2/sigsuspend.2:72 build/C/man3/sigvec.3:214
227 #: build/C/man3/sigwait.3:71 build/C/man2/sigwaitinfo.2:107
228 #: build/C/man3/sysv_signal.3:55 build/C/man2/timer_create.2:173
229 #: build/C/man2/timer_delete.2:57 build/C/man2/timer_getoverrun.2:87
230 #: build/C/man2/timer_settime.2:178 build/C/man2/timerfd_create.2:301
231 #: build/C/man2/tkill.2:73 build/C/man2/wait.2:383 build/C/man2/wait4.2:130
232 #, no-wrap
233 msgid "ERRORS"
234 msgstr "エラー"
235
236 #. type: Plain text
237 #: build/C/man3/bsd_signal.3:61 build/C/man3/sysv_signal.3:58
238 msgid "As for B<signal>(2)."
239 msgstr "B<signal>(2)  と同じ。"
240
241 #. type: SH
242 #: build/C/man3/bsd_signal.3:61 build/C/man2/eventfd.2:266
243 #: build/C/man2/getitimer.2:143 build/C/man3/gsignal.3:93
244 #: build/C/man2/kill.2:120 build/C/man2/killpg.2:110 build/C/man2/pause.2:57
245 #: build/C/man2/prctl.2:475 build/C/man3/profil.3:68 build/C/man3/psignal.3:97
246 #: build/C/man3/raise.3:62 build/C/man2/rt_sigqueueinfo.2:171
247 #: build/C/man2/sgetmask.2:61 build/C/man2/sigaction.2:666
248 #: build/C/man2/sigaltstack.2:154 build/C/man7/sigevent.7:128
249 #: build/C/man3/siginterrupt.3:80 build/C/man2/signal.2:105
250 #: build/C/man7/signal.7:834 build/C/man2/signalfd.2:304
251 #: build/C/man3/sigpause.3:54 build/C/man2/sigpending.2:59
252 #: build/C/man2/sigprocmask.2:99 build/C/man3/sigqueue.3:112
253 #: build/C/man2/sigreturn.2:58 build/C/man3/sigset.3:171
254 #: build/C/man3/sigsetops.3:126 build/C/man2/sigsuspend.2:80
255 #: build/C/man3/sigvec.3:219 build/C/man3/sigwait.3:77
256 #: build/C/man2/sigwaitinfo.2:126 build/C/man3/sysv_signal.3:58
257 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
258 #: build/C/man2/timer_getoverrun.2:94 build/C/man2/timer_settime.2:203
259 #: build/C/man2/timerfd_create.2:370 build/C/man2/tkill.2:90
260 #: build/C/man2/wait.2:421 build/C/man2/wait4.2:133
261 #, no-wrap
262 msgid "CONFORMING TO"
263 msgstr "準拠"
264
265 #. type: Plain text
266 #: build/C/man3/bsd_signal.3:68
267 msgid ""
268 "4.2BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of "
269 "B<bsd_signal>(), recommending the use of B<sigaction>(2)  instead."
270 msgstr ""
271 "4.2BSD, POSIX.1-2001.  POSIX.1-2008 では B<bsd_signal>()  の仕様が削除されて"
272 "いる。 代わりに、 B<sigaction>(2)  の使用が推奨されている。"
273
274 #. type: SH
275 #: build/C/man3/bsd_signal.3:68 build/C/man2/eventfd.2:271
276 #: build/C/man2/getitimer.2:153 build/C/man2/kill.2:122
277 #: build/C/man2/killpg.2:114 build/C/man2/rt_sigqueueinfo.2:173
278 #: build/C/man2/sgetmask.2:63 build/C/man2/sigaction.2:669
279 #: build/C/man2/sigaltstack.2:156 build/C/man2/signal.2:107
280 #: build/C/man2/signalfd.2:309 build/C/man3/sigpause.3:58
281 #: build/C/man2/sigpending.2:61 build/C/man2/sigprocmask.2:101
282 #: build/C/man3/sigqueue.3:114 build/C/man2/sigreturn.2:62
283 #: build/C/man3/sigset.3:188 build/C/man3/sigsetops.3:128
284 #: build/C/man2/sigsuspend.2:82 build/C/man3/sigvec.3:225
285 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
286 #: build/C/man3/sysv_signal.3:60 build/C/man2/timer_create.2:193
287 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/tkill.2:96
288 #: build/C/man2/wait.2:423 build/C/man2/wait4.2:135
289 #, no-wrap
290 msgid "NOTES"
291 msgstr "注意"
292
293 #. type: Plain text
294 #: build/C/man3/bsd_signal.3:74
295 msgid ""
296 "Use of B<bsd_signal>()  should be avoided; use B<sigaction>(2)  instead."
297 msgstr ""
298 "B<bsd_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使うこ"
299 "と。"
300
301 #. type: Plain text
302 #: build/C/man3/bsd_signal.3:85
303 msgid ""
304 "On modern Linux systems, B<bsd_signal>()  and B<signal>(2)  are equivalent.  "
305 "But on older systems, B<signal>(2)  provided unreliable signal semantics; "
306 "see B<signal>(2)  for details."
307 msgstr ""
308 "最近の Linux システムでは、 B<bsd_signal>()  と B<signal>(2)  は等価である。"
309 "しかし、以前のシステムでは、 B<signal>(2)  は信頼性に欠けるシグナル処理方式を"
310 "提供していた。 詳細は B<signal>(2)  を参照。"
311
312 #. type: Plain text
313 #: build/C/man3/bsd_signal.3:92 build/C/man3/sysv_signal.3:85
314 msgid ""
315 "The use of I<sighandler_t> is a GNU extension; this type is only defined if "
316 "the B<_GNU_SOURCE> feature test macro is defined."
317 msgstr ""
318 "I<sighandler_t> を使っているのは GNU による拡張である。 この型は機能検査マク"
319 "ロ B<_GNU_SOURCE> を定義した場合にのみ定義される。"
320
321 #. type: SH
322 #: build/C/man3/bsd_signal.3:92 build/C/man2/eventfd.2:417
323 #: build/C/man2/getitimer.2:219 build/C/man3/gsignal.3:101
324 #: build/C/man2/kill.2:170 build/C/man2/killpg.2:133 build/C/man2/pause.2:59
325 #: build/C/man2/prctl.2:489 build/C/man3/profil.3:79
326 #: build/C/man3/psignal.3:111 build/C/man3/raise.3:64
327 #: build/C/man2/rt_sigqueueinfo.2:183 build/C/man2/sgetmask.2:74
328 #: build/C/man2/sigaction.2:782 build/C/man2/sigaltstack.2:230
329 #: build/C/man7/sigevent.7:130 build/C/man3/siginterrupt.3:89
330 #: build/C/man2/signal.2:259 build/C/man7/signal.7:845
331 #: build/C/man2/signalfd.2:430 build/C/man3/sigpause.3:96
332 #: build/C/man2/sigpending.2:82 build/C/man2/sigprocmask.2:131
333 #: build/C/man3/sigqueue.3:147 build/C/man2/sigreturn.2:72
334 #: build/C/man3/sigset.3:264 build/C/man3/sigsetops.3:166
335 #: build/C/man2/sigsuspend.2:104 build/C/man3/sigvec.3:250
336 #: build/C/man3/sigwait.3:86 build/C/man2/sigwaitinfo.2:179
337 #: build/C/man3/sysv_signal.3:85 build/C/man2/timer_create.2:397
338 #: build/C/man2/timer_delete.2:66 build/C/man2/timer_getoverrun.2:128
339 #: build/C/man2/timer_settime.2:208 build/C/man2/timerfd_create.2:540
340 #: build/C/man2/tkill.2:105 build/C/man2/wait.2:605 build/C/man2/wait4.2:153
341 #, no-wrap
342 msgid "SEE ALSO"
343 msgstr "関連項目"
344
345 #. type: Plain text
346 #: build/C/man3/bsd_signal.3:97
347 msgid "B<sigaction>(2), B<signal>(2), B<sysv_signal>(3), B<signal>(7)"
348 msgstr "B<sigaction>(2), B<signal>(2), B<sysv_signal>(3), B<signal>(7)"
349
350 #. type: SH
351 #: build/C/man3/bsd_signal.3:97 build/C/man2/eventfd.2:428
352 #: build/C/man2/getitimer.2:226 build/C/man3/gsignal.3:105
353 #: build/C/man2/kill.2:180 build/C/man2/killpg.2:139 build/C/man2/pause.2:64
354 #: build/C/man2/prctl.2:492 build/C/man3/profil.3:84
355 #: build/C/man3/psignal.3:116 build/C/man3/raise.3:71
356 #: build/C/man2/rt_sigqueueinfo.2:191 build/C/man2/sgetmask.2:77
357 #: build/C/man2/sigaction.2:801 build/C/man2/sigaltstack.2:237
358 #: build/C/man7/sigevent.7:140 build/C/man3/siginterrupt.3:91
359 #: build/C/man2/signal.2:278 build/C/man7/signal.7:878
360 #: build/C/man2/signalfd.2:443 build/C/man3/sigpause.3:104
361 #: build/C/man2/sigpending.2:90 build/C/man2/sigprocmask.2:142
362 #: build/C/man3/sigqueue.3:155 build/C/man2/sigreturn.2:77
363 #: build/C/man3/sigset.3:274 build/C/man3/sigsetops.3:171
364 #: build/C/man2/sigsuspend.2:114 build/C/man3/sigvec.3:260
365 #: build/C/man3/sigwait.3:94 build/C/man2/sigwaitinfo.2:191
366 #: build/C/man3/sysv_signal.3:90 build/C/man2/timer_create.2:410
367 #: build/C/man2/timer_delete.2:72 build/C/man2/timer_getoverrun.2:138
368 #: build/C/man2/timer_settime.2:212 build/C/man2/timerfd_create.2:552
369 #: build/C/man2/tkill.2:110 build/C/man2/wait.2:617 build/C/man2/wait4.2:160
370 #, no-wrap
371 msgid "COLOPHON"
372 msgstr "この文書について"
373
374 #. type: Plain text
375 #: build/C/man3/bsd_signal.3:104 build/C/man2/eventfd.2:435
376 #: build/C/man2/getitimer.2:233 build/C/man3/gsignal.3:112
377 #: build/C/man2/kill.2:187 build/C/man2/killpg.2:146 build/C/man2/pause.2:71
378 #: build/C/man2/prctl.2:499 build/C/man3/profil.3:91
379 #: build/C/man3/psignal.3:123 build/C/man3/raise.3:78
380 #: build/C/man2/rt_sigqueueinfo.2:198 build/C/man2/sgetmask.2:84
381 #: build/C/man2/sigaction.2:808 build/C/man2/sigaltstack.2:244
382 #: build/C/man7/sigevent.7:147 build/C/man3/siginterrupt.3:98
383 #: build/C/man2/signal.2:285 build/C/man7/signal.7:885
384 #: build/C/man2/signalfd.2:450 build/C/man3/sigpause.3:111
385 #: build/C/man2/sigpending.2:97 build/C/man2/sigprocmask.2:149
386 #: build/C/man3/sigqueue.3:162 build/C/man2/sigreturn.2:84
387 #: build/C/man3/sigset.3:281 build/C/man3/sigsetops.3:178
388 #: build/C/man2/sigsuspend.2:121 build/C/man3/sigvec.3:267
389 #: build/C/man3/sigwait.3:101 build/C/man2/sigwaitinfo.2:198
390 #: build/C/man3/sysv_signal.3:97 build/C/man2/timer_create.2:417
391 #: build/C/man2/timer_delete.2:79 build/C/man2/timer_getoverrun.2:145
392 #: build/C/man2/timer_settime.2:219 build/C/man2/timerfd_create.2:559
393 #: build/C/man2/tkill.2:117 build/C/man2/wait.2:624 build/C/man2/wait4.2:167
394 msgid ""
395 "This page is part of release 3.37 of the Linux I<man-pages> project.  A "
396 "description of the project, and information about reporting bugs, can be "
397 "found at http://www.kernel.org/doc/man-pages/."
398 msgstr ""
399 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部である。\n"
400 "プロジェクトの説明とバグ報告に関する情報は\n"
401 "http://www.kernel.org/doc/man-pages/ に書かれている。"
402
403 #. type: TH
404 #: build/C/man2/eventfd.2:21
405 #, no-wrap
406 msgid "EVENTFD"
407 msgstr "EVENTFD"
408
409 #. type: TH
410 #: build/C/man2/eventfd.2:21
411 #, fuzzy, no-wrap
412 #| msgid "2010-09-20"
413 msgid "2010-08-30"
414 msgstr "2010-09-20"
415
416 #. type: TH
417 #: build/C/man2/eventfd.2:21 build/C/man2/getitimer.2:7 build/C/man2/kill.2:44
418 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:46
419 #: build/C/man3/profil.3:28 build/C/man2/rt_sigqueueinfo.2:23
420 #: build/C/man2/sgetmask.2:24 build/C/man2/sigaction.2:45
421 #: build/C/man2/sigaltstack.2:25 build/C/man2/signal.2:34
422 #: build/C/man7/signal.7:44 build/C/man2/signalfd.2:19
423 #: build/C/man3/sigpause.3:23 build/C/man2/sigpending.2:27
424 #: build/C/man2/sigprocmask.2:27 build/C/man3/sigqueue.3:26
425 #: build/C/man2/sigreturn.2:27 build/C/man3/sigset.3:24
426 #: build/C/man3/sigsetops.3:29 build/C/man2/sigsuspend.2:27
427 #: build/C/man3/sigvec.3:24 build/C/man3/sigwait.3:24
428 #: build/C/man2/sigwaitinfo.2:23 build/C/man2/timer_create.2:29
429 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
430 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
431 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
432 #, no-wrap
433 msgid "Linux"
434 msgstr "Linux"
435
436 #. type: Plain text
437 #: build/C/man2/eventfd.2:24
438 msgid "eventfd - create a file descriptor for event notification"
439 msgstr "eventfd - イベント通知用のファイルディスクリプタを生成する"
440
441 #. type: Plain text
442 #: build/C/man2/eventfd.2:26
443 msgid "B<#include E<lt>sys/eventfd.hE<gt>>"
444 msgstr "B<#include E<lt>sys/eventfd.hE<gt>>"
445
446 #. type: Plain text
447 #: build/C/man2/eventfd.2:28
448 msgid "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
449 msgstr "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
450
451 #. type: Plain text
452 #: build/C/man2/eventfd.2:38
453 msgid ""
454 "B<eventfd>()  creates an \"eventfd object\" that can be used as an event "
455 "wait/notify mechanism by userspace applications, and by the kernel to notify "
456 "userspace applications of events.  The object contains an unsigned 64-bit "
457 "integer (I<uint64_t>)  counter that is maintained by the kernel.  This "
458 "counter is initialized with the value specified in the argument I<initval>."
459 msgstr ""
460 "B<eventfd>()  は \"eventfd オブジェクト\" を生成する。 eventfd オブジェクトは"
461 "ユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことが"
462 "できる。また、カーネルがユーザ空間アプリケーションに イベントを通知するために"
463 "も使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 "
464 "(I<uint64_t>)  型のカウンタが含まれており、このカウンタはカーネルにより管理さ"
465 "れる。 このカウンタは I<initval> 引き数で指定された値で初期化される。"
466
467 #. type: Plain text
468 #: build/C/man2/eventfd.2:43
469 #, fuzzy
470 #| msgid ""
471 #| "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
472 #| "I<flags> to change the behaviour of B<eventfd>():"
473 msgid ""
474 "The following values may be bitwise ORed in I<flags> to change the behaviour "
475 "of B<eventfd>():"
476 msgstr ""
477 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
478 "ることで、 B<eventfd>()  の振舞いを変更することができる。"
479
480 #. type: TP
481 #: build/C/man2/eventfd.2:43
482 #, fuzzy, no-wrap
483 #| msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
484 msgid "B<EFD_CLOEXEC> (since Linux 2.6.27)"
485 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
486
487 #. type: Plain text
488 #: build/C/man2/eventfd.2:53 build/C/man2/signalfd.2:94
489 #: build/C/man2/timerfd_create.2:102
490 msgid ""
491 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the new file descriptor.  See "
492 "the description of the B<O_CLOEXEC> flag in B<open>(2)  for reasons why this "
493 "may be useful."
494 msgstr ""
495 "新しいファイルディスクリプタに対して close-on-exec (B<FD_CLOEXEC>)  フラグを"
496 "セットする。 このフラグが役に立つ理由については、 B<open>(2)  の "
497 "B<O_CLOEXEC> フラグの説明を参照のこと。"
498
499 #. type: TP
500 #: build/C/man2/eventfd.2:53
501 #, fuzzy, no-wrap
502 #| msgid "B<SA_SIGINFO> (since Linux 2.2)"
503 msgid "B<EFD_NONBLOCK> (since Linux 2.6.27)"
504 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
505
506 #. type: Plain text
507 #: build/C/man2/eventfd.2:61 build/C/man2/signalfd.2:84
508 #: build/C/man2/timerfd_create.2:92
509 msgid ""
510 "Set the B<O_NONBLOCK> file status flag on the new open file description.  "
511 "Using this flag saves extra calls to B<fcntl>(2)  to achieve the same result."
512 msgstr ""
513 "新しく生成されるオープンファイル記述 (open file description) の "
514 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
515 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
516 "なる。"
517
518 #. type: TP
519 #: build/C/man2/eventfd.2:61
520 #, fuzzy, no-wrap
521 #| msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
522 msgid "B<EFD_SEMAPHORE> (since Linux 2.6.30)"
523 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
524
525 #. type: Plain text
526 #: build/C/man2/eventfd.2:65
527 msgid ""
528 "Provide semaphore-like semantics for reads from the new file descriptor.  "
529 "See below."
530 msgstr ""
531
532 #. type: Plain text
533 #: build/C/man2/eventfd.2:69 build/C/man2/signalfd.2:98
534 msgid ""
535 "In Linux up to version 2.6.26, the I<flags> argument is unused, and must be "
536 "specified as zero."
537 msgstr ""
538 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
539 "しなければならない。"
540
541 #. type: Plain text
542 #: build/C/man2/eventfd.2:75
543 msgid ""
544 "As its return value, B<eventfd>()  returns a new file descriptor that can be "
545 "used to refer to the eventfd object.  The following operations can be "
546 "performed on the file descriptor:"
547 msgstr ""
548 "B<eventfd>()  は eventfd オブジェクトを参照するのに使用できる新しいファイル"
549 "ディスクリプタ を返す。返されたファイルディスクリプタに対しては以下の操作を実"
550 "行できる。"
551
552 #. type: TP
553 #: build/C/man2/eventfd.2:75 build/C/man2/signalfd.2:101
554 #: build/C/man2/timerfd_create.2:210
555 #, no-wrap
556 msgid "B<read>(2)"
557 msgstr "B<read>(2)"
558
559 #. type: Plain text
560 #: build/C/man2/eventfd.2:85
561 #, fuzzy
562 #| msgid ""
563 #| "A B<read>(2)  will fail with the error B<EINVAL> if the size of the "
564 #| "supplied buffer is less than 8 bytes."
565 msgid ""
566 "Each successful B<read>(2)  returns an 8-byte integer.  A B<read>(2)  will "
567 "fail with the error B<EINVAL> if the size of the supplied buffer is less "
568 "than 8 bytes."
569 msgstr ""
570 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
571 "B<EINVAL> で失敗する。"
572
573 #. type: Plain text
574 #: build/C/man2/eventfd.2:90
575 msgid ""
576 "The value returned by B<read>(2)  is in host byte order, i.e., the native "
577 "byte order for integers on the host machine."
578 msgstr ""
579
580 #. type: Plain text
581 #: build/C/man2/eventfd.2:97
582 msgid ""
583 "The semantics of B<read>(2)  depend on whether the eventfd counter currently "
584 "has a nonzero value and whether the B<EFD_SEMAPHORE> flag was specified when "
585 "creating the eventfd file descriptor:"
586 msgstr ""
587
588 #. type: IP
589 #: build/C/man2/eventfd.2:98 build/C/man2/eventfd.2:105
590 #: build/C/man2/eventfd.2:112 build/C/man2/eventfd.2:157
591 #: build/C/man2/eventfd.2:167 build/C/man2/eventfd.2:177
592 #: build/C/man3/psignal.3:103 build/C/man3/psignal.3:107
593 #: build/C/man2/sigaction.2:294 build/C/man2/sigaction.2:309
594 #: build/C/man2/sigaction.2:325 build/C/man2/sigaction.2:340
595 #: build/C/man2/sigaction.2:387 build/C/man2/sigaction.2:423
596 #: build/C/man2/signal.2:66 build/C/man2/signal.2:71 build/C/man2/signal.2:78
597 #: build/C/man2/signal.2:205 build/C/man2/signal.2:209
598 #: build/C/man2/signal.2:248 build/C/man7/signal.7:147
599 #: build/C/man7/signal.7:155 build/C/man7/signal.7:611
600 #: build/C/man7/signal.7:613 build/C/man7/signal.7:634
601 #: build/C/man7/signal.7:649 build/C/man7/signal.7:653
602 #: build/C/man7/signal.7:660 build/C/man7/signal.7:676
603 #: build/C/man7/signal.7:682 build/C/man7/signal.7:689
604 #: build/C/man7/signal.7:694 build/C/man7/signal.7:713
605 #: build/C/man7/signal.7:732 build/C/man7/signal.7:739
606 #: build/C/man7/signal.7:748 build/C/man7/signal.7:756
607 #: build/C/man7/signal.7:762 build/C/man7/signal.7:767
608 #: build/C/man7/signal.7:787 build/C/man7/signal.7:806
609 #: build/C/man7/signal.7:809 build/C/man7/signal.7:812
610 #: build/C/man7/signal.7:815 build/C/man7/signal.7:820
611 #: build/C/man7/signal.7:826 build/C/man7/signal.7:830
612 #: build/C/man3/sigwait.3:59 build/C/man3/sigwait.3:64
613 #: build/C/man2/timer_create.2:214 build/C/man2/timer_create.2:217
614 #: build/C/man2/timer_create.2:220 build/C/man2/timer_create.2:224
615 #: build/C/man2/timer_create.2:227 build/C/man2/timer_create.2:233
616 #: build/C/man2/timer_create.2:237
617 #, no-wrap
618 msgid "*"
619 msgstr "*"
620
621 #. type: Plain text
622 #: build/C/man2/eventfd.2:105
623 #, fuzzy
624 #| msgid ""
625 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
626 #| "bytes containing that value, and the counter's value is reset to zero.  "
627 #| "(The returned value is in host byte order, i.e., the native byte order "
628 #| "for integers on the host machine.)"
629 msgid ""
630 "If B<EFD_SEMAPHORE> was not specified and the eventfd counter has a nonzero "
631 "value, then a B<read>(2)  returns 8 bytes containing that value, and the "
632 "counter's value is reset to zero."
633 msgstr ""
634 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
635 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
636 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
637
638 #. type: Plain text
639 #: build/C/man2/eventfd.2:112
640 #, fuzzy
641 #| msgid ""
642 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
643 #| "bytes containing that value, and the counter's value is reset to zero.  "
644 #| "(The returned value is in host byte order, i.e., the native byte order "
645 #| "for integers on the host machine.)"
646 msgid ""
647 "If B<EFD_SEMAPHORE> was specified and the eventfd counter has a nonzero "
648 "value, then a B<read>(2)  returns 8 bytes containing the value 1, and the "
649 "counter's value is decremented by 1."
650 msgstr ""
651 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
652 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
653 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
654
655 #. type: Plain text
656 #: build/C/man2/eventfd.2:122
657 #, fuzzy
658 #| msgid ""
659 #| "If the counter is zero at the time of the B<read>(2), then the call "
660 #| "either blocks until the counter becomes nonzero, or fails with the error "
661 #| "B<EAGAIN> if the file descriptor has been made nonblocking."
662 msgid ""
663 "If the eventfd counter is zero at the time of the call to B<read>(2), then "
664 "the call either blocks until the counter becomes nonzero (at which time, the "
665 "B<read>(2)  proceeds as described above)  or fails with the error B<EAGAIN> "
666 "if the file descriptor has been made nonblocking."
667 msgstr ""
668 "B<read>(2)  の時点でカウンタが 0 の場合、 B<read>(2)  はカウンタが 0 以外にな"
669 "るまで停止 (block) する、 もしくはファイルディスクリプタが非停止 "
670 "(nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
671
672 #. type: TP
673 #: build/C/man2/eventfd.2:123
674 #, no-wrap
675 msgid "B<write>(2)"
676 msgstr "B<write>(2)"
677
678 #. type: Plain text
679 #: build/C/man2/eventfd.2:140
680 msgid ""
681 "A B<write>(2)  call adds the 8-byte integer value supplied in its buffer to "
682 "the counter.  The maximum value that may be stored in the counter is the "
683 "largest unsigned 64-bit value minus 1 (i.e., 0xfffffffffffffffe).  If the "
684 "addition would cause the counter's value to exceed the maximum, then the "
685 "B<write>(2)  either blocks until a B<read>(2)  is performed on the file "
686 "descriptor, or fails with the error B<EAGAIN> if the file descriptor has "
687 "been made nonblocking."
688 msgstr ""
689 "B<write>(2)  は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算"
690 "する。 カウンタに格納可能な最大値は unsigned の 64 ビット整数の最大値から 1 "
691 "を引いた値 (すなわち 0xfffffffffffffffe) である。 加算を行うとカウンタ値が最"
692 "大値を超過する場合には、 そのファイルディスクリプタに対して B<read>(2)  が実"
693 "行されるまで、 B<write>(2)  は停止 (block) する、 もしくはファイルディスクリ"
694 "プタが非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗す"
695 "る。"
696
697 #. type: Plain text
698 #: build/C/man2/eventfd.2:147
699 msgid ""
700 "A B<write>(2)  will fail with the error B<EINVAL> if the size of the "
701 "supplied buffer is less than 8 bytes, or if an attempt is made to write the "
702 "value 0xffffffffffffffff."
703 msgstr ""
704 "渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 "
705 "0xffffffffffffffff を書き込もうとした場合、 B<write>(2)  はエラー B<EINVAL> "
706 "で失敗する。"
707
708 #. type: TP
709 #: build/C/man2/eventfd.2:147 build/C/man2/signalfd.2:139
710 #: build/C/man2/timerfd_create.2:243
711 #, no-wrap
712 msgid "B<poll>(2), B<select>(2) (and similar)"
713 msgstr "B<poll>(2), B<select>(2) (と同様の操作)"
714
715 #. type: Plain text
716 #: build/C/man2/eventfd.2:156
717 msgid ""
718 "The returned file descriptor supports B<poll>(2)  (and analogously B<epoll>"
719 "(7))  and B<select>(2), as follows:"
720 msgstr ""
721 "返されたファイルディスクリプタは、 B<poll>(2)  (B<epoll>(7)  も同じ) や "
722 "B<select>(2)  をサポートしており、以下のような動作をする。"
723
724 #. type: Plain text
725 #: build/C/man2/eventfd.2:167
726 msgid ""
727 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
728 "B<poll>(2)  B<POLLIN> flag)  if the counter has a value greater than 0."
729 msgstr ""
730 "カウンタが 0 より大きい値の場合、 ファイルディスクリプタは読み出し可能となる "
731 "(B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
732
733 #. type: Plain text
734 #: build/C/man2/eventfd.2:177
735 msgid ""
736 "The file descriptor is writable (the B<select>(2)  I<writefds> argument; the "
737 "B<poll>(2)  B<POLLOUT> flag)  if it is possible to write a value of at least "
738 "\"1\" without blocking."
739 msgstr ""
740 "少なくとも値 \"1\" を、停止 (block) を伴わずに書き込める場合、 ファイルディス"
741 "クリプタは書き込み可能となる (B<select>(2)  の I<writefds> 引き数や B<poll>"
742 "(2)  の B<POLLOUT> フラグ)。"
743
744 #. type: Plain text
745 #: build/C/man2/eventfd.2:197
746 msgid ""
747 "If an overflow of the counter value was detected, then B<select>(2)  "
748 "indicates the file descriptor as being both readable and writable, and "
749 "B<poll>(2)  returns a B<POLLERR> event.  As noted above, B<write>(2)  can "
750 "never overflow the counter.  However an overflow can occur if 2^64 eventfd "
751 "\"signal posts\" were performed by the KAIO subsystem (theoretically "
752 "possible, but practically unlikely).  If an overflow has occurred, then "
753 "B<read>(2)  will return that maximum I<uint64_t> value (i.e., "
754 "0xffffffffffffffff)."
755 msgstr ""
756 "カウンタ値のオーバーフローが検出された場合、 B<select>(2)  はファイルディスク"
757 "リプタは読み出し可能と書き込み可能の両方を通知し、 B<poll>(2)  は B<POLLERR> "
758 "イベントを返す。 上述の通り、 B<write>(2)  でカウンタがオーバーフローすること"
759 "は決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "
760 "\"signal posts\" が 実行された場合にはオーバーフローが起こり得る (理論的には"
761 "あり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、 B<read>"
762 "(2)  は I<uint64_t> の最大値 (すなわち 0xffffffffffffffff) を返す。"
763
764 #. type: Plain text
765 #: build/C/man2/eventfd.2:205
766 msgid ""
767 "The eventfd file descriptor also supports the other file-descriptor "
768 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
769 msgstr ""
770 "eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
771 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
772
773 #. type: TP
774 #: build/C/man2/eventfd.2:205 build/C/man2/signalfd.2:159
775 #: build/C/man2/timerfd_create.2:261
776 #, no-wrap
777 msgid "B<close>(2)"
778 msgstr "B<close>(2)"
779
780 #. type: Plain text
781 #: build/C/man2/eventfd.2:210
782 msgid ""
783 "When the file descriptor is no longer required it should be closed.  When "
784 "all file descriptors associated with the same eventfd object have been "
785 "closed, the resources for object are freed by the kernel."
786 msgstr ""
787 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
788 "る。 同じ eventfd オブジェクトに関連付けられたファイルディスクリプタが全て ク"
789 "ローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
790
791 #. type: Plain text
792 #: build/C/man2/eventfd.2:222
793 #, fuzzy
794 #| msgid ""
795 #| "A copy of the file descriptor created by B<eventfd>()  is inherited by "
796 #| "the child produced by B<fork>(2).  The duplicate file descriptor is "
797 #| "associated with the same eventfd object.  File descriptors created by "
798 #| "B<eventfd>()  are preserved across B<execve>(2)."
799 msgid ""
800 "A copy of the file descriptor created by B<eventfd>()  is inherited by the "
801 "child produced by B<fork>(2).  The duplicate file descriptor is associated "
802 "with the same eventfd object.  File descriptors created by B<eventfd>()  are "
803 "preserved across B<execve>(2), unless the close-on-exec flag has been set."
804 msgstr ""
805 "B<fork>(2)  で生成された子プロセスは、 B<eventfd>()  で生成されたファイルディ"
806 "スクリプタのコピーを継承する。 複製されたファイルディスクリプタは同じ "
807 "eventfd オブジェクトに関連付けられる。 B<execve>(2)  の前後で B<eventfd>()  "
808 "で生成されたファイルディスクリプタは保持される。"
809
810 #. type: Plain text
811 #: build/C/man2/eventfd.2:229
812 msgid ""
813 "On success, B<eventfd>()  returns a new eventfd file descriptor.  On error, "
814 "-1 is returned and I<errno> is set to indicate the error."
815 msgstr ""
816 "成功すると、 B<eventfd>()  は新規の eventfd ファイルディスクリプタを返す。 エ"
817 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
818
819 #. type: TP
820 #: build/C/man2/eventfd.2:230 build/C/man2/getitimer.2:130
821 #: build/C/man2/kill.2:105 build/C/man2/killpg.2:94 build/C/man2/prctl.2:403
822 #: build/C/man2/prctl.2:408 build/C/man2/prctl.2:418 build/C/man2/prctl.2:423
823 #: build/C/man2/rt_sigqueueinfo.2:136 build/C/man2/sigaction.2:659
824 #: build/C/man2/sigaltstack.2:140 build/C/man3/siginterrupt.3:77
825 #: build/C/man2/signal.2:101 build/C/man2/signalfd.2:268
826 #: build/C/man2/signalfd.2:276 build/C/man3/sigqueue.3:96
827 #: build/C/man3/sigsetops.3:122 build/C/man3/sigwait.3:72
828 #: build/C/man2/sigwaitinfo.2:122 build/C/man2/timer_create.2:177
829 #: build/C/man2/timer_delete.2:58 build/C/man2/timer_getoverrun.2:88
830 #: build/C/man2/timer_settime.2:187 build/C/man2/timer_settime.2:195
831 #: build/C/man2/timerfd_create.2:304 build/C/man2/timerfd_create.2:312
832 #: build/C/man2/timerfd_create.2:348 build/C/man2/timerfd_create.2:355
833 #: build/C/man2/timerfd_create.2:361 build/C/man2/tkill.2:74
834 #: build/C/man2/wait.2:416
835 #, no-wrap
836 msgid "B<EINVAL>"
837 msgstr "B<EINVAL>"
838
839 #. type: Plain text
840 #: build/C/man2/eventfd.2:234
841 msgid "An unsupported value was specified in I<flags>."
842 msgstr ""
843
844 #. type: TP
845 #: build/C/man2/eventfd.2:234 build/C/man2/signalfd.2:283
846 #: build/C/man2/timerfd_create.2:319
847 #, no-wrap
848 msgid "B<EMFILE>"
849 msgstr "B<EMFILE>"
850
851 #. type: Plain text
852 #: build/C/man2/eventfd.2:237
853 msgid "The per-process limit on open file descriptors has been reached."
854 msgstr ""
855 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
856
857 #. type: TP
858 #: build/C/man2/eventfd.2:237 build/C/man2/signalfd.2:286
859 #: build/C/man2/timerfd_create.2:322
860 #, no-wrap
861 msgid "B<ENFILE>"
862 msgstr "B<ENFILE>"
863
864 #. type: Plain text
865 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
866 #: build/C/man2/timerfd_create.2:326
867 msgid ""
868 "The system-wide limit on the total number of open files has been reached."
869 msgstr "オープン済みのファイル総数がシステム全体の上限に達していた。"
870
871 #. type: TP
872 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
873 #: build/C/man2/timerfd_create.2:326
874 #, no-wrap
875 msgid "B<ENODEV>"
876 msgstr "B<ENODEV>"
877
878 #. type: Plain text
879 #: build/C/man2/eventfd.2:249 build/C/man2/signalfd.2:293
880 #: build/C/man2/timerfd_create.2:329
881 msgid "Could not mount (internal) anonymous inode device."
882 msgstr "(カーネル内の) 無名 inode デバイスをマウントできなかった。"
883
884 #. type: TP
885 #: build/C/man2/eventfd.2:249 build/C/man2/sigaltstack.2:145
886 #: build/C/man2/signalfd.2:293 build/C/man2/timer_create.2:185
887 #: build/C/man2/timerfd_create.2:329
888 #, no-wrap
889 msgid "B<ENOMEM>"
890 msgstr "B<ENOMEM>"
891
892 #. type: Plain text
893 #: build/C/man2/eventfd.2:253
894 msgid "There was insufficient memory to create a new eventfd file descriptor."
895 msgstr ""
896 "新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
897
898 #. type: SH
899 #: build/C/man2/eventfd.2:253 build/C/man2/prctl.2:470
900 #: build/C/man3/psignal.3:93 build/C/man2/rt_sigqueueinfo.2:164
901 #: build/C/man2/signalfd.2:296 build/C/man3/sigqueue.3:110
902 #: build/C/man2/timer_create.2:189 build/C/man2/timer_delete.2:62
903 #: build/C/man2/timer_getoverrun.2:92 build/C/man2/timer_settime.2:201
904 #: build/C/man2/timerfd_create.2:367 build/C/man2/tkill.2:85
905 #, no-wrap
906 msgid "VERSIONS"
907 msgstr "バージョン"
908
909 #.  eventfd() is in glibc 2.7, but reportedly does not build
910 #. type: Plain text
911 #: build/C/man2/eventfd.2:266
912 msgid ""
913 "B<eventfd>()  is available on Linux since kernel 2.6.22.  Working support is "
914 "provided in glibc since version 2.8.  The B<eventfd2>()  system call (see "
915 "NOTES) is available on Linux since kernel 2.6.27.  Since version 2.9, the "
916 "glibc B<eventfd>()  wrapper will employ the B<eventfd2>()  system call, if "
917 "it is supported by the kernel."
918 msgstr ""
919 "B<eventfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
920 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<eventfd2>()  "
921 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
922 "る。 バージョン 2.9 以降では、glibc の B<eventfd>()  のラッパー関数は、カーネ"
923 "ルが対応していれば B<eventfd2>()  システムコールを利用する。"
924
925 #. type: Plain text
926 #: build/C/man2/eventfd.2:271
927 msgid "B<eventfd>()  and B<eventfd2>()  are Linux-specific."
928 msgstr "B<eventfd>()  と B<eventfd2>()  は Linux 固有である。"
929
930 #. type: Plain text
931 #: build/C/man2/eventfd.2:279
932 msgid ""
933 "Applications can use an eventfd file descriptor instead of a pipe (see "
934 "B<pipe>(2))  in all cases where a pipe is used simply to signal events.  The "
935 "kernel overhead of an eventfd file descriptor is much lower than that of a "
936 "pipe, and only one file descriptor is required (versus the two required for "
937 "a pipe)."
938 msgstr ""
939 "アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場"
940 "面において、パイプの代わりに eventfd ファイルディスクリプタを 使用することが"
941 "できる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて "
942 "カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つ"
943 "しか必要としない (パイプの場合は二つ必要である)。"
944
945 #.  or eventually syslets/threadlets
946 #. type: Plain text
947 #: build/C/man2/eventfd.2:285
948 msgid ""
949 "When used in the kernel, an eventfd file descriptor can provide a kernel-"
950 "userspace bridge allowing, for example, functionalities like KAIO (kernel "
951 "AIO)  to signal to a file descriptor that some operation is complete."
952 msgstr ""
953 "カーネル内で使用すると、eventfd ファイルディスクリプタは カーネル空間とユーザ"
954 "空間のブリッジ機能を提供することができ、 例えば KAIO (kernel AIO)  のような機"
955 "能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することが"
956 "できる。"
957
958 #. type: Plain text
959 #: build/C/man2/eventfd.2:302
960 msgid ""
961 "A key point about an eventfd file descriptor is that it can be monitored "
962 "just like any other file descriptor using B<select>(2), B<poll>(2), or "
963 "B<epoll>(7).  This means that an application can simultaneously monitor the "
964 "readiness of \"traditional\" files and the readiness of other kernel "
965 "mechanisms that support the eventfd interface.  (Without the B<eventfd>()  "
966 "interface, these mechanisms could not be multiplexed via B<select>(2), "
967 "B<poll>(2), or B<epoll>(7).)"
968 msgstr ""
969 "eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタ"
970 "が B<select>(2), B<poll>(2), B<epoll>(7)  を使って他のファイルディスクリプタ"
971 "と全く同様に監視できる点である。 このことは、アプリケーションは「従来の "
972 "(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他の"
973 "カーネル機構の状態変化を同時に監視 できることを意味する (B<eventfd>()  インタ"
974 "フェースがない時には、これらのカーネル機構は B<select>(2), B<poll>(2), "
975 "B<epoll>(7)  経由で多重することはできなかった)。"
976
977 #. type: SS
978 #: build/C/man2/eventfd.2:302 build/C/man2/signalfd.2:333
979 #, no-wrap
980 msgid "Underlying Linux system calls"
981 msgstr "下層にある Linux のシステムコール"
982
983 #. type: Plain text
984 #: build/C/man2/eventfd.2:316
985 msgid ""
986 "There are two underlying Linux system calls: B<eventfd>()  and the more "
987 "recent B<eventfd2>().  The former system call does not implement a I<flags> "
988 "argument.  The latter system call implements the I<flags> values described "
989 "above.  The glibc wrapper function will use B<eventfd2>()  where it is "
990 "available."
991 msgstr ""
992 "下層にある Linux システムコールは二種類あり、 B<eventfd>()  と、もっと新しい "
993 "B<eventfd2>()  である。 B<eventfd>()  は I<flags> 引き数を実装していない。 "
994 "B<eventfd2>()  では上記の値の I<flags> が実装されている。 glibc のラッパー関"
995 "数は、 B<eventfd2>()  が利用可能であれば、これを使用する。"
996
997 #. type: SS
998 #: build/C/man2/eventfd.2:316
999 #, no-wrap
1000 msgid "Additional glibc features"
1001 msgstr "glibc の追加機能"
1002
1003 #. type: Plain text
1004 #: build/C/man2/eventfd.2:320
1005 msgid ""
1006 "The GNU C library defines an additional type, and two functions that attempt "
1007 "to abstract some of the details of reading and writing on an eventfd file "
1008 "descriptor:"
1009 msgstr ""
1010 "GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに を関"
1011 "する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義してい"
1012 "る。"
1013
1014 #. type: Plain text
1015 #: build/C/man2/eventfd.2:324
1016 #, no-wrap
1017 msgid "typedef uint64_t eventfd_t;\n"
1018 msgstr "typedef uint64_t eventfd_t;\n"
1019
1020 #. type: Plain text
1021 #: build/C/man2/eventfd.2:327
1022 #, no-wrap
1023 msgid ""
1024 "int eventfd_read(int fd, eventfd_t *value);\n"
1025 "int eventfd_write(int fd, eventfd_t value);\n"
1026 msgstr ""
1027 "int eventfd_read(int fd, eventfd_t *value);\n"
1028 "int eventfd_write(int fd, eventfd_t value);\n"
1029
1030 #. type: Plain text
1031 #: build/C/man2/eventfd.2:334
1032 msgid ""
1033 "The functions perform the read and write operations on an eventfd file "
1034 "descriptor, returning 0 if the correct number of bytes was transferred, or "
1035 "-1 otherwise."
1036 msgstr ""
1037 "これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操"
1038 "作を実行し、正しいバイト数が転送された場合には 0 を返し、そうでない場合は -1 "
1039 "を返す。"
1040
1041 #. type: SH
1042 #: build/C/man2/eventfd.2:334 build/C/man2/sigaction.2:779
1043 #: build/C/man2/sigaltstack.2:213 build/C/man2/signalfd.2:357
1044 #: build/C/man2/timer_create.2:251 build/C/man2/timer_getoverrun.2:125
1045 #: build/C/man2/timer_settime.2:205 build/C/man2/timerfd_create.2:372
1046 #: build/C/man2/wait.2:522
1047 #, no-wrap
1048 msgid "EXAMPLE"
1049 msgstr "例"
1050
1051 #. type: Plain text
1052 #: build/C/man2/eventfd.2:343
1053 msgid ""
1054 "The following program creates an eventfd file descriptor and then forks to "
1055 "create a child process.  While the parent briefly sleeps, the child writes "
1056 "each of the integers supplied in the program's command-line arguments to the "
1057 "eventfd file descriptor.  When the parent has finished sleeping, it reads "
1058 "from the eventfd file descriptor."
1059 msgstr ""
1060 "以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実"
1061 "行して子プロセスを生成する。 親プロセスが少しの間 sleep する間に、子プロセス"
1062 "は プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd "
1063 "ファイルディスクリプタに書き込む。 親プロセスは sleep を完了すると eventfd "
1064 "ファイルディスクリプタから 読み出しを行う。"
1065
1066 #. type: Plain text
1067 #: build/C/man2/eventfd.2:345
1068 msgid "The following shell session shows a sample run of the program:"
1069 msgstr "以下に示すシェルセッションにこのプログラムの使い方を示す。"
1070
1071 #. type: Plain text
1072 #: build/C/man2/eventfd.2:357
1073 #, no-wrap
1074 msgid ""
1075 "$B< ./a.out 1 2 4 7 14>\n"
1076 "Child writing 1 to efd\n"
1077 "Child writing 2 to efd\n"
1078 "Child writing 4 to efd\n"
1079 "Child writing 7 to efd\n"
1080 "Child writing 14 to efd\n"
1081 "Child completed write loop\n"
1082 "Parent about to read\n"
1083 "Parent read 28 (0x1c) from efd\n"
1084 msgstr ""
1085 "$B< ./a.out 1 2 4 7 14>\n"
1086 "Child writing 1 to efd\n"
1087 "Child writing 2 to efd\n"
1088 "Child writing 4 to efd\n"
1089 "Child writing 7 to efd\n"
1090 "Child writing 14 to efd\n"
1091 "Child completed write loop\n"
1092 "Parent about to read\n"
1093 "Parent read 28 (0x1c) from efd\n"
1094
1095 #. type: SS
1096 #: build/C/man2/eventfd.2:359 build/C/man2/signalfd.2:380
1097 #: build/C/man2/timerfd_create.2:400 build/C/man2/wait.2:557
1098 #, no-wrap
1099 msgid "Program source"
1100 msgstr "プログラムのソース"
1101
1102 #. type: Plain text
1103 #: build/C/man2/eventfd.2:367
1104 #, no-wrap
1105 msgid ""
1106 "#include E<lt>sys/eventfd.hE<gt>\n"
1107 "#include E<lt>unistd.hE<gt>\n"
1108 "#include E<lt>stdlib.hE<gt>\n"
1109 "#include E<lt>stdio.hE<gt>\n"
1110 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1111 msgstr ""
1112 "#include E<lt>sys/eventfd.hE<gt>\n"
1113 "#include E<lt>unistd.hE<gt>\n"
1114 "#include E<lt>stdlib.hE<gt>\n"
1115 "#include E<lt>stdio.hE<gt>\n"
1116 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1117
1118 #. type: Plain text
1119 #: build/C/man2/eventfd.2:370 build/C/man2/signalfd.2:391
1120 #, no-wrap
1121 msgid ""
1122 "#define handle_error(msg) \\e\n"
1123 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1124 msgstr ""
1125 "#define handle_error(msg) \\e\n"
1126 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1127
1128 #. type: Plain text
1129 #: build/C/man2/eventfd.2:377
1130 #, no-wrap
1131 msgid ""
1132 "int\n"
1133 "main(int argc, char *argv[])\n"
1134 "{\n"
1135 "    int efd, j;\n"
1136 "    uint64_t u;\n"
1137 "    ssize_t s;\n"
1138 msgstr ""
1139 "int\n"
1140 "main(int argc, char *argv[])\n"
1141 "{\n"
1142 "    int efd, j;\n"
1143 "    uint64_t u;\n"
1144 "    ssize_t s;\n"
1145
1146 #. type: Plain text
1147 #: build/C/man2/eventfd.2:382
1148 #, no-wrap
1149 msgid ""
1150 "    if (argc E<lt> 2) {\n"
1151 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1152 "        exit(EXIT_FAILURE);\n"
1153 "    }\n"
1154 msgstr ""
1155 "    if (argc E<lt> 2) {\n"
1156 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1157 "        exit(EXIT_FAILURE);\n"
1158 "    }\n"
1159
1160 #. type: Plain text
1161 #: build/C/man2/eventfd.2:386
1162 #, no-wrap
1163 msgid ""
1164 "    efd = eventfd(0, 0);\n"
1165 "    if (efd == -1)\n"
1166 "        handle_error(\"eventfd\");\n"
1167 msgstr ""
1168 "    efd = eventfd(0, 0);\n"
1169 "    if (efd == -1)\n"
1170 "        handle_error(\"eventfd\");\n"
1171
1172 #. type: Plain text
1173 #: build/C/man2/eventfd.2:398
1174 #, no-wrap
1175 msgid ""
1176 "    switch (fork()) {\n"
1177 "    case 0:\n"
1178 "        for (j = 1; j E<lt> argc; j++) {\n"
1179 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1180 "            u = strtoull(argv[j], NULL, 0);\n"
1181 "                    /* strtoull() allows various bases */\n"
1182 "            s = write(efd, &u, sizeof(uint64_t));\n"
1183 "            if (s != sizeof(uint64_t))\n"
1184 "                handle_error(\"write\");\n"
1185 "        }\n"
1186 "        printf(\"Child completed write loop\\en\");\n"
1187 msgstr ""
1188 "    switch (fork()) {\n"
1189 "    case 0:\n"
1190 "        for (j = 1; j E<lt> argc; j++) {\n"
1191 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1192 "            u = strtoull(argv[j], NULL, 0);\n"
1193 "                    /* strtoull() allows various bases */\n"
1194 "            s = write(efd, &u, sizeof(uint64_t));\n"
1195 "            if (s != sizeof(uint64_t))\n"
1196 "                handle_error(\"write\");\n"
1197 "        }\n"
1198 "        printf(\"Child completed write loop\\en\");\n"
1199
1200 #. type: Plain text
1201 #: build/C/man2/eventfd.2:400
1202 #, no-wrap
1203 msgid "        exit(EXIT_SUCCESS);\n"
1204 msgstr "        exit(EXIT_SUCCESS);\n"
1205
1206 #. type: Plain text
1207 #: build/C/man2/eventfd.2:403
1208 #, no-wrap
1209 msgid ""
1210 "    default:\n"
1211 "        sleep(2);\n"
1212 msgstr ""
1213 "    default:\n"
1214 "        sleep(2);\n"
1215
1216 #. type: Plain text
1217 #: build/C/man2/eventfd.2:411
1218 #, no-wrap
1219 msgid ""
1220 "        printf(\"Parent about to read\\en\");\n"
1221 "        s = read(efd, &u, sizeof(uint64_t));\n"
1222 "        if (s != sizeof(uint64_t))\n"
1223 "            handle_error(\"read\");\n"
1224 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1225 "                (unsigned long long) u, (unsigned long long) u);\n"
1226 "        exit(EXIT_SUCCESS);\n"
1227 msgstr ""
1228 "        printf(\"Parent about to read\\en\");\n"
1229 "        s = read(efd, &u, sizeof(uint64_t));\n"
1230 "        if (s != sizeof(uint64_t))\n"
1231 "            handle_error(\"read\");\n"
1232 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1233 "                (unsigned long long) u, (unsigned long long) u);\n"
1234 "        exit(EXIT_SUCCESS);\n"
1235
1236 #. type: Plain text
1237 #: build/C/man2/eventfd.2:416
1238 #, no-wrap
1239 msgid ""
1240 "    case -1:\n"
1241 "        handle_error(\"fork\");\n"
1242 "    }\n"
1243 "}\n"
1244 msgstr ""
1245 "    case -1:\n"
1246 "        handle_error(\"fork\");\n"
1247 "    }\n"
1248 "}\n"
1249
1250 #. type: Plain text
1251 #: build/C/man2/eventfd.2:428
1252 msgid ""
1253 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1254 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1255 msgstr ""
1256 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1257 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1258
1259 #. type: TH
1260 #: build/C/man2/getitimer.2:7
1261 #, no-wrap
1262 msgid "GETITIMER"
1263 msgstr "GETITIMER"
1264
1265 #. type: Plain text
1266 #: build/C/man2/getitimer.2:10
1267 msgid "getitimer, setitimer - get or set value of an interval timer"
1268 msgstr "getitimer, setitimer - インターバル・タイマーの値を取得または設定する"
1269
1270 #. type: Plain text
1271 #: build/C/man2/getitimer.2:13
1272 #, no-wrap
1273 msgid "B<#include E<lt>sys/time.hE<gt>>\n"
1274 msgstr "B<#include E<lt>sys/time.hE<gt>>\n"
1275
1276 #. type: Plain text
1277 #: build/C/man2/getitimer.2:15
1278 #, no-wrap
1279 msgid "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1280 msgstr "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1281
1282 #. type: Plain text
1283 #: build/C/man2/getitimer.2:18
1284 #, no-wrap
1285 msgid ""
1286 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1287 "B<              struct itimerval *>I<old_value>B<);>\n"
1288 msgstr ""
1289 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1290 "B<              struct itimerval *>I<old_value>B<);>\n"
1291
1292 #. type: Plain text
1293 #: build/C/man2/getitimer.2:24
1294 msgid ""
1295 "The system provides each process with three interval timers, each "
1296 "decrementing in a distinct time domain.  When any timer expires, a signal is "
1297 "sent to the process, and the timer (potentially) restarts."
1298 msgstr ""
1299 "システムは 1 個のプロセスにつき 3 個のインターバル・タイマーを提供する。 それ"
1300 "ぞれのタイマーは別々の時間領域で減少する。 どのタイマーも満了するとプロセスに"
1301 "シグナルが送られ、 タイマーは (設定によっては) 再び開始される。"
1302
1303 #. type: TP
1304 #: build/C/man2/getitimer.2:24
1305 #, no-wrap
1306 msgid "B<ITIMER_REAL>"
1307 msgstr "B<ITIMER_REAL>"
1308
1309 #. type: Plain text
1310 #: build/C/man2/getitimer.2:29
1311 msgid "decrements in real time, and delivers B<SIGALRM> upon expiration."
1312 msgstr "実時間 (real time) で減少し、満了すると B<SIGALRM> が送られる。"
1313
1314 #. type: TP
1315 #: build/C/man2/getitimer.2:29
1316 #, no-wrap
1317 msgid "B<ITIMER_VIRTUAL>"
1318 msgstr "B<ITIMER_VIRTUAL>"
1319
1320 #. type: Plain text
1321 #: build/C/man2/getitimer.2:34
1322 msgid ""
1323 "decrements only when the process is executing, and delivers B<SIGVTALRM> "
1324 "upon expiration."
1325 msgstr ""
1326 "プロセスが実行されている間のみ減少し、満了すると B<SIGVTALRM> が送られる。"
1327
1328 #. type: TP
1329 #: build/C/man2/getitimer.2:34
1330 #, no-wrap
1331 msgid "B<ITIMER_PROF>"
1332 msgstr "B<ITIMER_PROF>"
1333
1334 #. type: Plain text
1335 #: build/C/man2/getitimer.2:44
1336 msgid ""
1337 "decrements both when the process executes and when the system is executing "
1338 "on behalf of the process.  Coupled with B<ITIMER_VIRTUAL>, this timer is "
1339 "usually used to profile the time spent by the application in user and kernel "
1340 "space.  B<SIGPROF> is delivered upon expiration."
1341 msgstr ""
1342 "プロセスが実行されていて、 かつシステムがそのプロセスのために処理を行なってい"
1343 "る間に減少する。 多くの場合、このタイマーは B<ITIMER_VIRTUAL> と組み合わされ"
1344 "て、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたか"
1345 "をプロファイルするのに使用される。 満了すると B<SIGPROF> が送られる。"
1346
1347 #. type: Plain text
1348 #: build/C/man2/getitimer.2:46
1349 msgid "Timer values are defined by the following structures:"
1350 msgstr "タイマーの値は以下の構造体によって定義される:"
1351
1352 #. type: Plain text
1353 #: build/C/man2/getitimer.2:54
1354 #, no-wrap
1355 msgid ""
1356 "struct itimerval {\n"
1357 "    struct timeval it_interval; /* next value */\n"
1358 "    struct timeval it_value;    /* current value */\n"
1359 "};\n"
1360 msgstr ""
1361 "struct itimerval {\n"
1362 "    struct timeval it_interval; /* next value */\n"
1363 "    struct timeval it_value;    /* current value */\n"
1364 "};\n"
1365
1366 #. type: Plain text
1367 #: build/C/man2/getitimer.2:59
1368 #, no-wrap
1369 msgid ""
1370 "struct timeval {\n"
1371 "    long tv_sec;                /* seconds */\n"
1372 "    long tv_usec;               /* microseconds */\n"
1373 "};\n"
1374 msgstr ""
1375 "struct timeval {\n"
1376 "    long tv_sec;                /* seconds */\n"
1377 "    long tv_usec;               /* microseconds */\n"
1378 "};\n"
1379
1380 #. type: Plain text
1381 #: build/C/man2/getitimer.2:81
1382 msgid ""
1383 "The function B<getitimer>()  fills the structure pointed to by I<curr_value> "
1384 "with the current setting for the timer specified by I<which> (one of "
1385 "B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>).  The element "
1386 "I<it_value> is set to the amount of time remaining on the timer, or zero if "
1387 "the timer is disabled.  Similarly, I<it_interval> is set to the reset value."
1388 msgstr ""
1389 "B<getitimer>()  関数は、 I<which> で指定されたタイマー (B<ITIMER_REAL>, "
1390 "B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれか) の現在の設定を、 I<curr_value> で"
1391 "指定された構造体に格納する。 I<it_value> 要素にはタイマーの残り時間が設定され"
1392 "る。タイマーがオフの場合は ゼロが設定される。同様に I<it_interval> には初期値"
1393 "が設定される。"
1394
1395 #. type: Plain text
1396 #: build/C/man2/getitimer.2:89
1397 msgid ""
1398 "The function B<setitimer>()  sets the specified timer to the value in "
1399 "I<new_value>.  If I<old_value> is non-NULL, the old value of the timer is "
1400 "stored there."
1401 msgstr ""
1402 "B<setitimer>()  関数は指定されたタイマーに I<new_value> の値を設定する。 "
1403 "I<old_value> が NULL 以外の場合、タイマーの古い値が I<old_value> に格納され"
1404 "る。"
1405
1406 #. type: Plain text
1407 #: build/C/man2/getitimer.2:99
1408 msgid ""
1409 "Timers decrement from I<it_value> to zero, generate a signal, and reset to "
1410 "I<it_interval>.  A timer which is set to zero (I<it_value> is zero or the "
1411 "timer expires and I<it_interval> is zero) stops."
1412 msgstr ""
1413 "タイマーは I<it_value> からゼロへ向けて減っていき、シグナルを生成し、 "
1414 "I<it_interval> に初期化される。 タイマーがゼロに設定された場合 (I<it_value> "
1415 "がゼロか、タイマーが満了した時に I<it_interval> がゼロの場合) は停止する。"
1416
1417 #. type: Plain text
1418 #: build/C/man2/getitimer.2:105
1419 msgid ""
1420 "Both I<tv_sec> and I<tv_usec> are significant in determining the duration of "
1421 "a timer."
1422 msgstr "タイマーの期間は I<tv_sec> と I<tv_usec> の両方により決定される。"
1423
1424 #. type: Plain text
1425 #: build/C/man2/getitimer.2:117
1426 msgid ""
1427 "Timers will never expire before the requested time, but may expire some "
1428 "(short) time afterward, which depends on the system timer resolution and on "
1429 "the system load; see B<time>(7).  (But see BUGS below.)  Upon expiration, a "
1430 "signal will be generated and the timer reset.  If the timer expires while "
1431 "the process is active (always true for B<ITIMER_VIRTUAL>)  the signal will "
1432 "be delivered immediately when generated.  Otherwise the delivery will be "
1433 "offset by a small time dependent on the system loading."
1434 msgstr ""
1435 "要求した時間がくる前にタイマーが満了することはないが、 逆にある (短い) 時間だ"
1436 "け満了が遅れることはある。 どれだけ遅れるかはシステムの時間分解能とシステムの"
1437 "負荷に依存する (B<time>(7)  参照; 但し、バグの項も参照のこと)。 タイマーが満"
1438 "了するとシグナルが生成され、タイマーは初期化される。 プロセスがアクティブな"
1439 "時 (B<ITIMER_VIRTUAL> の場合には常にそうである) にタイマーが満了した場合、生"
1440 "成されたシグナルは すぐに配送される。それ以外の場合は、システムの負荷により少"
1441 "しの時間だけ 遅れて配送される。"
1442
1443 #. type: Plain text
1444 #: build/C/man2/getitimer.2:122 build/C/man2/killpg.2:93
1445 #: build/C/man2/tkill.2:73
1446 msgid ""
1447 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1448 "appropriately."
1449 msgstr ""
1450 "成功した場合、0 が返される。エラーが発生した場合、-1 が返され、 I<errno> が適"
1451 "切に設定される。"
1452
1453 #. type: TP
1454 #: build/C/man2/getitimer.2:123 build/C/man2/prctl.2:399
1455 #: build/C/man2/sigaction.2:655 build/C/man2/sigaltstack.2:136
1456 #: build/C/man2/sigpending.2:55 build/C/man2/sigsuspend.2:73
1457 #: build/C/man2/timer_settime.2:180 build/C/man2/timerfd_create.2:341
1458 #, no-wrap
1459 msgid "B<EFAULT>"
1460 msgstr "B<EFAULT>"
1461
1462 #. type: Plain text
1463 #: build/C/man2/getitimer.2:130 build/C/man2/timerfd_create.2:348
1464 msgid "I<new_value>, I<old_value>, or I<curr_value> is not valid a pointer."
1465 msgstr "I<new_value>, I<old_value>, I<curr_value> が有効なポインタではない。"
1466
1467 #. type: Plain text
1468 #: build/C/man2/getitimer.2:143
1469 msgid ""
1470 "I<which> is not one of B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>; "
1471 "or (since Linux 2.6.22) one of the I<tv_usec> fields in the structure "
1472 "pointed to by I<new_value> contains a value outside the range 0 to 999999."
1473 msgstr ""
1474 "I<which> が B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれでもな"
1475 "い。 または (Linux 2.6.22 以降で)  I<new_value> で指定された構造体の "
1476 "I<tv_usec> フィールドの一つが 0 以上 999999 以下の範囲に入らない値である。"
1477
1478 #. type: Plain text
1479 #: build/C/man2/getitimer.2:153
1480 msgid ""
1481 "POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD).  "
1482 "POSIX.1-2008 marks B<getitimer>()  and B<setitimer>()  obsolete, "
1483 "recommending the use of the POSIX timers API (B<timer_gettime>(2), "
1484 "B<timer_settime>(2), etc.) instead."
1485 msgstr ""
1486 "POSIX.1-2001, SVr4, 4.4BSD (このコールは 4.2BSD で始めて現われた).  "
1487 "POSIX.1-2008 では、 B<getitimer>()  と B<setitimer>()  は廃止予定とされてお"
1488 "り、 代わりに POSIX タイマー API (B<timer_gettime>(2), B<timer_settime>(2)  "
1489 "など) を使うことが推奨されている。"
1490
1491 #. type: Plain text
1492 #: build/C/man2/getitimer.2:159
1493 msgid ""
1494 "A child created via B<fork>(2)  does not inherit its parent's interval "
1495 "timers.  Interval timers are preserved across an B<execve>(2)."
1496 msgstr ""
1497 "B<fork>(2)  で作成された子プロセスは、 親プロセスのインターバル・タイマーを継"
1498 "承しない。 B<execve>(2)  の前後ではインターバル・タイマーは保存される。"
1499
1500 #. type: Plain text
1501 #: build/C/man2/getitimer.2:169
1502 msgid ""
1503 "POSIX.1 leaves the interaction between B<setitimer>()  and the three "
1504 "interfaces B<alarm>(2), B<sleep>(3), and B<usleep>(3)  unspecified."
1505 msgstr ""
1506 "POSIX.1 では、 B<setitimer>()  と、 B<alarm>(2), B<sleep>(3), B<usleep>(3)  "
1507 "という 3 つのインタフェースとの相互の影響については規定していない。"
1508
1509 #. type: SH
1510 #: build/C/man2/getitimer.2:169 build/C/man2/kill.2:160
1511 #: build/C/man3/profil.3:70 build/C/man3/psignal.3:99
1512 #: build/C/man2/sigaction.2:770 build/C/man7/signal.7:836
1513 #: build/C/man2/signalfd.2:349 build/C/man2/sigpending.2:76
1514 #: build/C/man3/sigset.3:230 build/C/man2/timer_getoverrun.2:112
1515 #: build/C/man2/timerfd_create.2:534
1516 #, no-wrap
1517 msgid "BUGS"
1518 msgstr "バグ"
1519
1520 #. type: Plain text
1521 #: build/C/man2/getitimer.2:178
1522 msgid ""
1523 "The generation and delivery of a signal are distinct, and only one instance "
1524 "of each of the signals listed above may be pending for a process.  Under "
1525 "very heavy loading, an B<ITIMER_REAL> timer may expire before the signal "
1526 "from a previous expiration has been delivered.  The second signal in such an "
1527 "event will be lost."
1528 msgstr ""
1529 "シグナルの生成と配送は別個のものであり、 前述のシグナルのそれぞれについて一つ"
1530 "だけがプロセスのために 待機する。 非常に重い負荷の下では、 B<ITIMER_REAL> タ"
1531 "イマーでは、時間切れにより生成された一つ前のシグナルが配送される前に、 次の時"
1532 "間切れが起こる場合がある。 そのような場合、 2 個めのイベントに対するシグナル"
1533 "は失われてしまう。"
1534
1535 #. type: Plain text
1536 #: build/C/man2/getitimer.2:193
1537 msgid ""
1538 "On Linux kernels before 2.6.16, timer values are represented in jiffies.  If "
1539 "a request is made set a timer with a value whose jiffies representation "
1540 "exceeds B<MAX_SEC_IN_JIFFIES> (defined in I<include/linux/jiffies.h>), then "
1541 "the timer is silently truncated to this ceiling value.  On Linux/i386 "
1542 "(where, since Linux 2.6.13, the default jiffy is 0.004 seconds), this means "
1543 "that the ceiling value for a timer is approximately 99.42 days.  Since Linux "
1544 "2.6.16, the kernel uses a different internal representation for times, and "
1545 "this ceiling is removed."
1546 msgstr ""
1547 "バージョン 2.6.16 より前の Linux カーネルでは、 タイマーの値は jiffy で表現さ"
1548 "れる。 要求が jiffy 表現で (I<include/linux/jiffies.h> で定義されている)  "
1549 "B<MAX_SEC_IN_JIFFIES> を越える値をタイマーに設定しようとするものの場合、 タイ"
1550 "マーは暗黙にこの上限値に切り詰められる。 Linux/i386 の場合 (Linux 2.6.13 以降"
1551 "では jiffy は 0.004 秒) の場合、 これはタイマーの上限値がおよそ 99.42 日にな"
1552 "ることを意味する。 Linux 2.6.16 以降では、カーネルは時間に関する内部表現とし"
1553 "て 異なる表現を使うようになっており、この上限はなくなった。"
1554
1555 #.  4 Jul 2005: It looks like this bug may remain in 2.4.x.
1556 #.      http://lkml.org/lkml/2005/7/1/165
1557 #. type: Plain text
1558 #: build/C/man2/getitimer.2:200
1559 msgid ""
1560 "On certain systems (including i386), Linux kernels before version 2.6.12 "
1561 "have a bug which will produce premature timer expirations of up to one jiffy "
1562 "under some circumstances.  This bug is fixed in kernel 2.6.12."
1563 msgstr ""
1564 "(i386 を含む) いくつかのシステムでは、 バージョン 2.6.12 以前の Linux カーネ"
1565 "ルは ある種の状況では 1 jiffy 早くタイマーが終了してしまうというバグがあっ"
1566 "た。 このバグはカーネル 2.6.12 で修正された。"
1567
1568 #.  Bugzilla report 25 Apr 2006:
1569 #.  http://bugzilla.kernel.org/show_bug.cgi?id=6443
1570 #.  "setitimer() should reject noncanonical arguments"
1571 #. type: Plain text
1572 #: build/C/man2/getitimer.2:219
1573 msgid ""
1574 "POSIX.1-2001 says that B<setitimer>()  should fail if a I<tv_usec> value is "
1575 "specified that is outside of the range 0 to 999999.  However, in kernels up "
1576 "to and including 2.6.21, Linux does not give an error, but instead silently "
1577 "adjusts the corresponding seconds value for the timer.  From kernel 2.6.22 "
1578 "onward, this nonconformance has been repaired: an improper I<tv_usec> value "
1579 "results in an B<EINVAL> error."
1580 msgstr ""
1581 "POSIX.1-2001 では B<setitimer>()  は I<tv_usec> の値が 0 から 999999 の範囲外"
1582 "である場合には失敗するべきだとしている。 しかし、2.6.21 以前のカーネルの "
1583 "Linux ではエラーにならず、 対応する秒数の分だけそのタイマーの秒の値が暗黙に調"
1584 "整される。 カーネル 2.6.22 以降では、この標準非準拠の動作は修正され、 "
1585 "I<tv_usec> の値が不適切な場合には B<EINVAL> エラーとなる。"
1586
1587 #. type: Plain text
1588 #: build/C/man2/getitimer.2:226
1589 msgid ""
1590 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1591 "B<timerfd_create>(2), B<time>(7)"
1592 msgstr ""
1593 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1594 "B<timerfd_create>(2), B<time>(7)"
1595
1596 #. type: TH
1597 #: build/C/man3/gsignal.3:25
1598 #, no-wrap
1599 msgid "GSIGNAL"
1600 msgstr "GSIGNAL"
1601
1602 #. type: TH
1603 #: build/C/man3/gsignal.3:25 build/C/man3/profil.3:28 build/C/man3/sigvec.3:24
1604 #, no-wrap
1605 msgid "2007-07-26"
1606 msgstr "2007-07-26"
1607
1608 #. type: Plain text
1609 #: build/C/man3/gsignal.3:28
1610 msgid "gsignal, ssignal - software signal facility"
1611 msgstr "gsignal, ssignal - ソフトウェア・シグナル機能"
1612
1613 #. type: Plain text
1614 #: build/C/man3/gsignal.3:31 build/C/man2/kill.2:52 build/C/man3/psignal.3:34
1615 #: build/C/man3/raise.3:33 build/C/man2/sigaction.2:51
1616 #: build/C/man3/siginterrupt.3:35 build/C/man3/sigpause.3:29
1617 #: build/C/man3/sigwait.3:30 build/C/man2/sigwaitinfo.2:29
1618 #, no-wrap
1619 msgid "B<#include E<lt>signal.hE<gt>>\n"
1620 msgstr "B<#include E<lt>signal.hE<gt>>\n"
1621
1622 #. type: Plain text
1623 #: build/C/man3/gsignal.3:33
1624 #, no-wrap
1625 msgid "B<typedef void (*sighandler_t)(int);>\n"
1626 msgstr "B<typedef void (*sighandler_t)(int);>\n"
1627
1628 #. type: Plain text
1629 #: build/C/man3/gsignal.3:35
1630 #, no-wrap
1631 msgid "B<int gsignal(int>I<signum>B<);>\n"
1632 msgstr "B<int gsignal(int >I<signum>B<);>\n"
1633
1634 #. type: Plain text
1635 #: build/C/man3/gsignal.3:37
1636 #, no-wrap
1637 msgid "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1638 msgstr "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1639
1640 #. type: Plain text
1641 #: build/C/man3/gsignal.3:42 build/C/man2/kill.2:59 build/C/man2/killpg.2:51
1642 #: build/C/man3/profil.3:40 build/C/man3/psignal.3:44
1643 #: build/C/man2/sigaction.2:59 build/C/man2/sigaltstack.2:36
1644 #: build/C/man3/siginterrupt.3:42 build/C/man2/sigpending.2:38
1645 #: build/C/man2/sigprocmask.2:39 build/C/man3/sigqueue.3:37
1646 #: build/C/man3/sigset.3:43 build/C/man3/sigsetops.3:49
1647 #: build/C/man2/sigsuspend.2:38 build/C/man3/sigvec.3:43
1648 #: build/C/man3/sigwait.3:37 build/C/man2/sigwaitinfo.2:39
1649 #: build/C/man2/timer_create.2:46 build/C/man2/timer_delete.2:38
1650 #: build/C/man2/timer_getoverrun.2:38 build/C/man2/timer_settime.2:42
1651 #: build/C/man2/wait.2:68 build/C/man2/wait4.2:54
1652 msgid ""
1653 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
1654 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
1655
1656 #. type: Plain text
1657 #: build/C/man3/gsignal.3:47
1658 msgid "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1659 msgstr "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1660
1661 #. type: Plain text
1662 #: build/C/man3/gsignal.3:55
1663 msgid ""
1664 "Don't use these functions under Linux.  Due to a historical mistake, under "
1665 "Linux these functions are aliases for B<raise>(3)  and B<signal>(2), "
1666 "respectively."
1667 msgstr ""
1668 "Linux ではこれらの関数を使用しないこと。 過去に間違いがあり、Linux では "
1669 "B<gsignal>()  と B<ssignal>()  はそれぞれ B<raise>(3)  と B<signal>(2)  の別"
1670 "名になっている。"
1671
1672 #. type: Plain text
1673 #: build/C/man3/gsignal.3:93
1674 msgid ""
1675 "Elsewhere, on System V-like systems, these functions implement software "
1676 "signaling, entirely independent of the classical B<signal>(2)  and B<kill>"
1677 "(2)  functions.  The function B<ssignal>()  defines the action to take when "
1678 "the software signal with number I<signum> is raised using the function "
1679 "B<gsignal>(), and returns the previous such action or B<SIG_DFL>.  The "
1680 "function B<gsignal>()  does the following: if no action (or the action "
1681 "B<SIG_DFL>)  was specified for I<signum>, then it does nothing and returns "
1682 "0.  If the action B<SIG_IGN> was specified for I<signum>, then it does "
1683 "nothing and returns 1.  Otherwise, it resets the action to B<SIG_DFL> and "
1684 "calls the action function with argument I<signum>, and returns the value "
1685 "returned by that function.  The range of possible values I<signum> varies "
1686 "(often 1-15 or 1-17)."
1687 msgstr ""
1688 "一方、System V 風のシステムでは、これらの関数で、 従来の B<signal>(2)  や "
1689 "B<kill>(2)  の関数群とは完全に独立な、 ソフトウェア・シグナリングを実現してい"
1690 "る。 B<ssignal>()  関数は、番号 I<signum> のソフトウェア・シグナルが "
1691 "B<gsignal>()  関数を使って発生された時にとるべきアクションを定義する。 "
1692 "B<gsignal>()  の返り値は、一つ前に指定されていたアクション、もしくは "
1693 "B<SIG_DFL> である。 B<gsignal>()  は以下のような動作を行う: I<signum> に対し"
1694 "てアクションが指定されていないか、アクション B<SIG_DFL> が指定されていた場"
1695 "合、何もせずに 0 を返す。 I<signum> に対して アクション B<SIG_IGN> が指定され"
1696 "ていた場合、何もせずに 1 を返す。 それ以外の場合、アクションを B<SIG_DFL> に"
1697 "リセットし、引き数に I<signum> を指定してアクション関数を呼び出して、アクショ"
1698 "ン関数の返り値を返す。 I<signum> がとり得る値の範囲は実装により異なる (多くの"
1699 "場合 1〜15 か 1〜17 である)。"
1700
1701 #. type: Plain text
1702 #: build/C/man3/gsignal.3:101
1703 msgid ""
1704 "These functions are available under AIX, DG/UX, HP-UX, SCO, Solaris, Tru64.  "
1705 "They are called obsolete under most of these systems, and are broken under "
1706 "Linux libc and glibc.  Some systems also have B<gsignal_r>()  and "
1707 "B<ssignal_r>()."
1708 msgstr ""
1709 "これらの関数は、AIX, DG/UX, HP-UX, SCO, Solaris, Tru64 で使用可能である。 こ"
1710 "れらのシステムのほとんどで廃止されたことになっており、 Linux の libc および "
1711 "glibc では正しく実装されていない。 B<gsignal_r>()  と B<ssignal_r>()  が実装"
1712 "されているシステムもある。"
1713
1714 #. type: Plain text
1715 #: build/C/man3/gsignal.3:105
1716 msgid "B<kill>(2), B<signal>(2), B<raise>(3)"
1717 msgstr "B<kill>(2), B<signal>(2), B<raise>(3)"
1718
1719 #. type: TH
1720 #: build/C/man2/kill.2:44
1721 #, no-wrap
1722 msgid "KILL"
1723 msgstr "KILL"
1724
1725 #. type: TH
1726 #: build/C/man2/kill.2:44
1727 #, no-wrap
1728 msgid "2009-09-15"
1729 msgstr "2009-09-15"
1730
1731 #. type: Plain text
1732 #: build/C/man2/kill.2:47
1733 msgid "kill - send signal to a process"
1734 msgstr "kill - プロセスにシグナルを送る"
1735
1736 #. type: Plain text
1737 #: build/C/man2/kill.2:50
1738 #, no-wrap
1739 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
1740 msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
1741
1742 #. type: Plain text
1743 #: build/C/man2/kill.2:54
1744 #, no-wrap
1745 msgid "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1746 msgstr "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1747
1748 #. type: Plain text
1749 #: build/C/man2/kill.2:64
1750 msgid ""
1751 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1752 msgstr ""
1753 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1754
1755 #. type: Plain text
1756 #: build/C/man2/kill.2:70
1757 msgid ""
1758 "The B<kill>()  system call can be used to send any signal to any process "
1759 "group or process."
1760 msgstr ""
1761 "システムコールの B<kill>()  は、任意のプロセス・グループもしくはプロセスにシ"
1762 "グナルを 送るのに使われる。"
1763
1764 #. type: Plain text
1765 #: build/C/man2/kill.2:73
1766 msgid ""
1767 "If I<pid> is positive, then signal I<sig> is sent to the process with the ID "
1768 "specified by I<pid>."
1769 msgstr ""
1770 "I<pid> に正の値を指定した場合、シグナル I<sig> が I<pid> で指定された ID を持"
1771 "つプロセスに送られる。"
1772
1773 #. type: Plain text
1774 #: build/C/man2/kill.2:76
1775 msgid ""
1776 "If I<pid> equals 0, then I<sig> is sent to every process in the process "
1777 "group of the calling process."
1778 msgstr ""
1779 "I<pid> に 0 を指定した場合、 呼び出し元のプロセスのプロセス・グループに属する"
1780 "すべてのプロセスに I<sig> で指定したシグナルが送られる。"
1781
1782 #. type: Plain text
1783 #: build/C/man2/kill.2:80
1784 msgid ""
1785 "If I<pid> equals -1, then I<sig> is sent to every process for which the "
1786 "calling process has permission to send signals, except for process 1 "
1787 "(I<init>), but see below."
1788 msgstr ""
1789 "I<pid> に -1 を指定した場合、 I<sig> で指定したシグナルが、 呼び出し元のプロ"
1790 "セスがシグナルを送る許可を持つ全てのプロセスに 送られる。但し、プロセス番号 "
1791 "1 (I<init>) へはシグナルは送られない。 以下の関連部分も参照のこと。"
1792
1793 #. type: Plain text
1794 #: build/C/man2/kill.2:83
1795 msgid ""
1796 "If I<pid> is less than -1, then I<sig> is sent to every process in the "
1797 "process group whose ID is I<-pid>."
1798 msgstr ""
1799 "I<pid> に -1 より小さな値を指定した場合、 ID が I<-pid> のプロセス・グループ"
1800 "に属するすべてのプロセスに I<sig> で指定したシグナルが送られる。"
1801
1802 #. type: Plain text
1803 #: build/C/man2/kill.2:88
1804 msgid ""
1805 "If I<sig> is 0, then no signal is sent, but error checking is still "
1806 "performed; this can be used to check for the existence of a process ID or "
1807 "process group ID."
1808 msgstr ""
1809 "I<sig> に 0 を指定した場合、シグナルは送られないが、 エラーのチェックは行われ"
1810 "る。これを使って、プロセス ID や プロセスグループ ID の存在確認を行うことがで"
1811 "きる。"
1812
1813 #. type: Plain text
1814 #: build/C/man2/kill.2:99 build/C/man2/killpg.2:88
1815 msgid ""
1816 "For a process to have permission to send a signal it must either be "
1817 "privileged (under Linux: have the B<CAP_KILL> capability), or the real or "
1818 "effective user ID of the sending process must equal the real or saved set-"
1819 "user-ID of the target process.  In the case of B<SIGCONT> it suffices when "
1820 "the sending and receiving processes belong to the same session."
1821 msgstr ""
1822 "プロセスがシグナルを送信する許可を持つためには、 プロセスが特権 (Linux では "
1823 "B<CAP_KILL> ケーパビリティ (capability)) を持つか、 送信元プロセスの実ユー"
1824 "ザー ID または実効ユーザー ID が 送信先プロセスの実 set-user-ID または保存 "
1825 "set-user-ID と 等しくなければならない。 B<SIGCONT> の場合、送信プロセスと受信"
1826 "プロセスが 同じセッションに属していれば十分である。"
1827
1828 #. type: Plain text
1829 #: build/C/man2/kill.2:104
1830 msgid ""
1831 "On success (at least one signal was sent), zero is returned.  On error, -1 "
1832 "is returned, and I<errno> is set appropriately."
1833 msgstr ""
1834 "成功した場合 (少なくとも一つのシグナルが送信された場合)、 0 が返される。エ"
1835 "ラーの場合 -1 が返され、 I<errno> が適切に設定される。"
1836
1837 #. type: Plain text
1838 #: build/C/man2/kill.2:108
1839 msgid "An invalid signal was specified."
1840 msgstr "無効なシグナルを指定した。"
1841
1842 #. type: TP
1843 #: build/C/man2/kill.2:108 build/C/man2/killpg.2:98 build/C/man2/prctl.2:432
1844 #: build/C/man2/prctl.2:444 build/C/man2/prctl.2:454
1845 #: build/C/man2/rt_sigqueueinfo.2:143 build/C/man2/sigaltstack.2:149
1846 #: build/C/man3/sigqueue.3:100 build/C/man2/tkill.2:77
1847 #, no-wrap
1848 msgid "B<EPERM>"
1849 msgstr "B<EPERM>"
1850
1851 #. type: Plain text
1852 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102
1853 msgid ""
1854 "The process does not have permission to send the signal to any of the target "
1855 "processes."
1856 msgstr ""
1857 "プロセスが、受信するプロセスのいずれに対しても シグナルを送る許可を持っていな"
1858 "い。"
1859
1860 #. type: TP
1861 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102 build/C/man2/killpg.2:106
1862 #: build/C/man2/rt_sigqueueinfo.2:151 build/C/man3/sigqueue.3:106
1863 #: build/C/man2/tkill.2:82
1864 #, no-wrap
1865 msgid "B<ESRCH>"
1866 msgstr "B<ESRCH>"
1867
1868 #. type: Plain text
1869 #: build/C/man2/kill.2:120
1870 msgid ""
1871 "The pid or process group does not exist.  Note that an existing process "
1872 "might be a zombie, a process which already committed termination, but has "
1873 "not yet been B<wait>(2)ed for."
1874 msgstr ""
1875 "指定したプロセスまたはプロセス・グループが存在しなかった。 ゾンビプロセスは存"
1876 "在するプロセスとしてみなされる。 ゾンビプロセスとはすでに処理は終了している"
1877 "が、親プロセスによる B<wait>()  処理が行われていないプロセスのことである。"
1878
1879 #. type: Plain text
1880 #: build/C/man2/kill.2:122 build/C/man2/pause.2:59 build/C/man2/wait.2:423
1881 msgid "SVr4, 4.3BSD, POSIX.1-2001."
1882 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
1883
1884 #. type: Plain text
1885 #: build/C/man2/kill.2:130
1886 msgid ""
1887 "The only signals that can be sent to process ID 1, the I<init> process, are "
1888 "those for which I<init> has explicitly installed signal handlers.  This is "
1889 "done to assure the system is not brought down accidentally."
1890 msgstr ""
1891 "プロセス番号 1 の I<init> プロセスに送ることができるシグナルは、 I<init> が明"
1892 "示的にシグナルハンドラを設定したシグナルだけである。 こうなっているのは、誤っ"
1893 "てシステムをダウンさせないようにするためである。"
1894
1895 #. type: Plain text
1896 #: build/C/man2/kill.2:136
1897 msgid ""
1898 "POSIX.1-2001 requires that I<kill(-1,sig)> send I<sig> to all processes that "
1899 "the calling process may send signals to, except possibly for some "
1900 "implementation-defined system processes.  Linux allows a process to signal "
1901 "itself, but on Linux the call I<kill(-1,sig)> does not signal the calling "
1902 "process."
1903 msgstr ""
1904 "POSIX.1-2001 では、 I<kill(-1,sig)> が 呼び出し元のプロセスがシグナルを送るこ"
1905 "とが出来るプロセス全てに I<sig> を送ることを要求している。 但し、システム実装"
1906 "時に定められたシステムプロセスは シグナルの送信対象から除外される。 Linux で"
1907 "は、プロセスが自分自身にシグナルを送れるようになっているが、 Linux の I<kill"
1908 "(-1,sig)> は呼び出し元のプロセスにはシグナルを送らない。"
1909
1910 #. type: Plain text
1911 #: build/C/man2/kill.2:146
1912 msgid ""
1913 "POSIX.1-2001 requires that if a process sends a signal to itself, and the "
1914 "sending thread does not have the signal blocked, and no other thread has it "
1915 "unblocked or is waiting for it in B<sigwait>(3), at least one unblocked "
1916 "signal must be delivered to the sending thread before the B<kill>()  returns."
1917 msgstr ""
1918 "POSIX.1-2001 では以下の動作になることを要求している。 自分自身にシグナルを送"
1919 "ると、シグナルを送ったスレッドがそのシグナルをブロック しておらず、他のどのス"
1920 "レッドもそのシグナルを受ける状態にもなく B<sigwait>(3)  でそのシグナルを待っ"
1921 "てもいない場合、 B<kill>()  が返る前に少なくとも一つのブロックされていない シ"
1922 "グナルがシグナルを送ったスレッドに配送されなければならない。"
1923
1924 #. type: SS
1925 #: build/C/man2/kill.2:146 build/C/man3/sigpause.3:75 build/C/man2/wait.2:477
1926 #, no-wrap
1927 msgid "Linux Notes"
1928 msgstr "Linux での注意"
1929
1930 #.  In the 0.* kernels things chopped and changed quite
1931 #.  a bit - MTK, 24 Jul 02
1932 #. type: Plain text
1933 #: build/C/man2/kill.2:160
1934 msgid ""
1935 "Across different kernel versions, Linux has enforced different rules for the "
1936 "permissions required for an unprivileged process to send a signal to another "
1937 "process.  In kernels 1.0 to 1.2.2, a signal could be sent if the effective "
1938 "user ID of the sender matched that of the receiver, or the real user ID of "
1939 "the sender matched that of the receiver.  From kernel 1.2.3 until 1.3.77, a "
1940 "signal could be sent if the effective user ID of the sender matched either "
1941 "the real or effective user ID of the receiver.  The current rules, which "
1942 "conform to POSIX.1-2001, were adopted in kernel 1.3.78."
1943 msgstr ""
1944 "Linux では、特権のないプロセスが他のプロセスにシグナルを送信するために 必要な"
1945 "権限についてのルールが、カーネルバージョンにより違っている。 カーネル 1.0 か"
1946 "ら 1.2.2 では、送信側の実効ユーザーID が受信側の 実効ユーザー IDと一致すれば"
1947 "シグナルを送信できた。 カーネル 1.2.3 から 1.3.77では、送信側の実効ユーザー"
1948 "ID が受信側の 実ユーザーID か実効ユーザーID のいずれかと一致すればシグナルを"
1949 "送信できた。 現在のルールは、POSIX.1-2001 に準拠しており、カーネル 1.3.78 以"
1950 "降で 適用されている。"
1951
1952 #. type: Plain text
1953 #: build/C/man2/kill.2:170
1954 msgid ""
1955 "In 2.6 kernels up to and including 2.6.7, there was a bug that meant that "
1956 "when sending signals to a process group, B<kill>()  failed with the error "
1957 "B<EPERM> if the caller did have permission to send the signal to I<any> "
1958 "(rather than I<all>) of the members of the process group.  Notwithstanding "
1959 "this error return, the signal was still delivered to all of the processes "
1960 "for which the caller had permission to signal."
1961 msgstr ""
1962 "バージョン 2.6.7 以前の 2.6 系のカーネルには、 プロセスグループにシグナルを"
1963 "送ったときに、 呼び出し元のプロセスがプロセスグループの (全メンバーではなく) "
1964 "一部のメンバー に対してのみシグナルを送る許可を持っている場合に、 B<kill>()  "
1965 "がエラー B<EPERM> で失敗するというバグがある。 このエラーが返るにもかかわら"
1966 "ず、そのシグナルは呼び出し元が シグナルを送る許可を持つ全てのプロセスへ送られ"
1967 "る。"
1968
1969 #. type: Plain text
1970 #: build/C/man2/kill.2:180
1971 msgid ""
1972 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1973 "(3), B<capabilities>(7), B<credentials>(7), B<signal>(7)"
1974 msgstr ""
1975 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1976 "(3), B<credentials>(7), B<capabilities>(7), B<signal>(7)"
1977
1978 #. type: TH
1979 #: build/C/man2/killpg.2:40
1980 #, no-wrap
1981 msgid "KILLPG"
1982 msgstr "KILLPG"
1983
1984 #. type: TH
1985 #: build/C/man2/killpg.2:40 build/C/man3/sigset.3:24 build/C/man2/wait4.2:34
1986 #, no-wrap
1987 msgid "2010-09-20"
1988 msgstr "2010-09-20"
1989
1990 #. type: Plain text
1991 #: build/C/man2/killpg.2:43
1992 msgid "killpg - send signal to a process group"
1993 msgstr "killpg - シグナルをプロセス・グループに送る"
1994
1995 #. type: Plain text
1996 #: build/C/man2/killpg.2:47
1997 msgid "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1998 msgstr "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1999
2000 #. type: TP
2001 #: build/C/man2/killpg.2:54
2002 #, no-wrap
2003 msgid "B<killpg>():"
2004 msgstr "B<killpg>():"
2005
2006 #. type: Plain text
2007 #: build/C/man2/killpg.2:58 build/C/man2/sigaltstack.2:44
2008 #: build/C/man3/siginterrupt.3:49 build/C/man2/wait4.2:61
2009 msgid ""
2010 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
2011 "_XOPEN_SOURCE_EXTENDED"
2012 msgstr ""
2013 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
2014 "_XOPEN_SOURCE_EXTENDED"
2015
2016 #. type: Plain text
2017 #: build/C/man2/killpg.2:68
2018 msgid ""
2019 "B<killpg>()  sends the signal I<sig> to the process group I<pgrp>.  See "
2020 "B<signal>(7)  for a list of signals."
2021 msgstr ""
2022 "B<killpg>()  は I<sig> で指定したシグナルを I<pgrp> で指定したプロセス・グ"
2023 "ループに送る。 シグナルの定義の一覧は B<signal>(7)  を参照のこと。"
2024
2025 #. type: Plain text
2026 #: build/C/man2/killpg.2:77
2027 msgid ""
2028 "If I<pgrp> is 0, B<killpg>()  sends the signal to the calling process's "
2029 "process group.  (POSIX says: If I<pgrp> is less than or equal to 1, the "
2030 "behavior is undefined.)"
2031 msgstr ""
2032 "引き数 I<pgrp> に 0 を指定した場合には B<killpg>()  は呼び出し元のプロセスが"
2033 "属しているプロセス・グループに対してシグナルを送る。 (POSIX では以下のように"
2034 "記述されている: I<pgrp> が 1 以下である場合、動作は未定義である。)"
2035
2036 #. type: Plain text
2037 #: build/C/man2/killpg.2:98
2038 msgid "I<Sig> is not a valid signal number."
2039 msgstr "I<sig> で指定された値は無効なシグナル番号である。"
2040
2041 #. type: Plain text
2042 #: build/C/man2/killpg.2:106
2043 msgid "No process can be found in the process group specified by I<pgrp>."
2044 msgstr ""
2045 "I<pgrp> で指定されたプロセス・グループに属するプロセスが存在しなかった。"
2046
2047 #. type: Plain text
2048 #: build/C/man2/killpg.2:110
2049 msgid ""
2050 "The process group was given as 0 but the sending process does not have a "
2051 "process group."
2052 msgstr ""
2053 "プロセス・グループとして 0 が指定されたが、送信プロセスは プロセス・グループ"
2054 "を持っていない。"
2055
2056 #. type: Plain text
2057 #: build/C/man2/killpg.2:114
2058 msgid ""
2059 "SVr4, 4.4BSD (the B<killpg>()  function call first appeared in 4BSD), "
2060 "POSIX.1-2001."
2061 msgstr "SVr4, 4.4BSD (B<killpg>()  は 4BSD で初めて追加された), POSIX.1-2001。"
2062
2063 #. type: Plain text
2064 #: build/C/man2/killpg.2:128
2065 msgid ""
2066 "There are various differences between the permission checking in BSD-type "
2067 "systems and System V-type systems.  See the POSIX rationale for B<kill>().  "
2068 "A difference not mentioned by POSIX concerns the return value B<EPERM>: BSD "
2069 "documents that no signal is sent and B<EPERM> returned when the permission "
2070 "check failed for at least one target process, while POSIX documents B<EPERM> "
2071 "only when the permission check failed for all target processes."
2072 msgstr ""
2073 "BSD 系システムと System V 系システムでは、 許可のチェックに様々な違いがあ"
2074 "る。 B<kill>(2)  についての POSIX の原理 (rationale) を参照すること。 POSIX "
2075 "で記述されていない違いとしては、返り値 B<EPERM> がある。 BSD では「送信先プロ"
2076 "セスの許可のチェックが 1 つでも失敗した場合は、 シグナルが送信されず、 "
2077 "B<EPERM> が返される」と記述されている。 POSIX では「送信先プロセスの許可の"
2078 "チェックが全て失敗した場合にのみ、 B<EPERM> が返される」と記述されている。"
2079
2080 #. type: Plain text
2081 #: build/C/man2/killpg.2:133
2082 msgid ""
2083 "On Linux, B<killpg>()  is implemented as a library function that makes the "
2084 "call I<kill(-pgrp,\\ sig)>."
2085 msgstr ""
2086 "Linux では、 B<killpg>()  はライブラリ関数として実装されており、 I<kill(-"
2087 "pgrp,\\ sig)> の呼び出しが行われる。"
2088
2089 #. type: Plain text
2090 #: build/C/man2/killpg.2:139
2091 msgid ""
2092 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<capabilities>(7), B<credentials>"
2093 "(7)"
2094 msgstr ""
2095 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<credentials>(7), B<capabilities>"
2096 "(7)"
2097
2098 #. type: TH
2099 #: build/C/man2/pause.2:30
2100 #, no-wrap
2101 msgid "PAUSE"
2102 msgstr "PAUSE"
2103
2104 #. type: TH
2105 #: build/C/man2/pause.2:30
2106 #, no-wrap
2107 msgid "2008-10-06"
2108 msgstr "2008-10-06"
2109
2110 #. type: Plain text
2111 #: build/C/man2/pause.2:33
2112 msgid "pause - wait for signal"
2113 msgstr "pause - シグナルを待つ"
2114
2115 #. type: Plain text
2116 #: build/C/man2/pause.2:35 build/C/man3/profil.3:33
2117 msgid "B<#include E<lt>unistd.hE<gt>>"
2118 msgstr "B<#include E<lt>unistd.hE<gt>>"
2119
2120 #. type: Plain text
2121 #: build/C/man2/pause.2:37
2122 msgid "B<int pause(void);>"
2123 msgstr "B<int pause(void);>"
2124
2125 #. type: Plain text
2126 #: build/C/man2/pause.2:42
2127 msgid ""
2128 "B<pause>()  causes the calling process (or thread) to sleep until a signal "
2129 "is delivered that either terminates the process or causes the invocation of "
2130 "a signal-catching function."
2131 msgstr ""
2132 "B<pause>()  は、呼び出したプロセス (またはスレッド) を、 そのプロセスを終了さ"
2133 "せたり、シグナル捕捉関数が起動されるような シグナルが配送されるまで、スリープ"
2134 "させる。"
2135
2136 #.  .BR ERESTARTNOHAND .
2137 #. type: Plain text
2138 #: build/C/man2/pause.2:53
2139 msgid ""
2140 "B<pause>()  only returns when a signal was caught and the signal-catching "
2141 "function returned.  In this case B<pause>()  returns -1, and I<errno> is set "
2142 "to B<EINTR>."
2143 msgstr ""
2144 "B<pause>()  が返るのは、シグナルを受け取りシグナル捕獲関数から返った場合だけ"
2145 "である。 この場合は B<pause>()  は -1 を返し、 I<errno> に B<EINTR> が設定さ"
2146 "れる。"
2147
2148 #. type: TP
2149 #: build/C/man2/pause.2:54 build/C/man2/sigsuspend.2:77
2150 #: build/C/man2/sigwaitinfo.2:116 build/C/man2/wait.2:409
2151 #, no-wrap
2152 msgid "B<EINTR>"
2153 msgstr "B<EINTR>"
2154
2155 #. type: Plain text
2156 #: build/C/man2/pause.2:57
2157 msgid "a signal was caught and the signal-catching function returned."
2158 msgstr "シグナルを受け取り、シグナル捕獲関数から帰ってきた。"
2159
2160 #. type: Plain text
2161 #: build/C/man2/pause.2:64
2162 msgid "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2163 msgstr "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2164
2165 #. type: TH
2166 #: build/C/man2/prctl.2:46
2167 #, no-wrap
2168 msgid "PRCTL"
2169 msgstr "PRCTL"
2170
2171 #. type: TH
2172 #: build/C/man2/prctl.2:46
2173 #, fuzzy, no-wrap
2174 #| msgid "2011-09-18"
2175 msgid "2011-09-17"
2176 msgstr "2011-09-18"
2177
2178 #. type: Plain text
2179 #: build/C/man2/prctl.2:49
2180 msgid "prctl - operations on a process"
2181 msgstr "prctl - プロセスの操作を行なう"
2182
2183 #. type: Plain text
2184 #: build/C/man2/prctl.2:52
2185 #, no-wrap
2186 msgid "B<#include E<lt>sys/prctl.hE<gt>>\n"
2187 msgstr "B<#include E<lt>sys/prctl.hE<gt>>\n"
2188
2189 #. type: Plain text
2190 #: build/C/man2/prctl.2:55
2191 #, no-wrap
2192 msgid ""
2193 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2194 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2195 msgstr ""
2196 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2197 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2198
2199 #. type: Plain text
2200 #: build/C/man2/prctl.2:62
2201 msgid ""
2202 "B<prctl>()  is called with a first argument describing what to do (with "
2203 "values defined in I<E<lt>linux/prctl.hE<gt>>), and further arguments with a "
2204 "significance depending on the first one.  The first argument can be:"
2205 msgstr ""
2206 "B<prctl>()  の動作は最初の引き数によって決定される (この値は I<E<lt>linux/"
2207 "prctl.hE<gt>> に定義されている)。 残りの引き数は最初の引き数によって変化す"
2208 "る。 一番目の引き数として以下のものを指定できる:"
2209
2210 #. type: TP
2211 #: build/C/man2/prctl.2:62
2212 #, no-wrap
2213 msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2214 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2215
2216 #. type: Plain text
2217 #: build/C/man2/prctl.2:74
2218 msgid ""
2219 "Return (as the function result) 1 if the capability specified in I<arg2> is "
2220 "in the calling thread's capability bounding set, or 0 if it is not.  (The "
2221 "capability constants are defined in I<E<lt>linux/capability.hE<gt>>.)  The "
2222 "capability bounding set dictates whether the process can receive the "
2223 "capability through a file's permitted capability set on a subsequent call to "
2224 "B<execve>(2)."
2225 msgstr ""
2226 "で指定されたケーパビリティが呼び出したスレッドのケーパビリティ バインディング"
2227 "セット (capability bounding set) に含まれている場合、 (関数の返り値として) 1 "
2228 "を返し、そうでない場合 0 を返す (ケーパビリティ定数は I<E<lt>linux/"
2229 "capability.hE<gt>> で定義されている)。 ケーパビリティバウンディングセット"
2230 "は、 B<execve>(2)  を呼び出した際に、ファイルの許可 (permitted) ケーパビリ"
2231 "ティの中で そのプロセスが獲得できるケーパビリティを指示するものである。"
2232
2233 #. type: Plain text
2234 #: build/C/man2/prctl.2:79
2235 msgid ""
2236 "If the capability specified in I<arg2> is not valid, then the call fails "
2237 "with the error B<EINVAL>."
2238 msgstr ""
2239 "I<arg2> に指定されたケーパビリティが有効でない場合、 呼び出しはエラー "
2240 "B<EINVAL> で失敗する。"
2241
2242 #. type: TP
2243 #: build/C/man2/prctl.2:79
2244 #, no-wrap
2245 msgid "B<PR_CAPBSET_DROP> (since Linux 2.6.25)"
2246 msgstr "B<PR_CAPBSET_DROP> (Linux 2.6.25 以降)"
2247
2248 #. type: Plain text
2249 #: build/C/man2/prctl.2:88
2250 msgid ""
2251 "If the calling thread has the B<CAP_SETPCAP> capability, then drop the "
2252 "capability specified by I<arg2> from the calling thread's capability "
2253 "bounding set.  Any children of the calling thread will inherit the newly "
2254 "reduced bounding set."
2255 msgstr ""
2256 "呼び出したスレッドがケーパビリティ B<CAP_SETPCAP> を持っている場合、 呼び出し"
2257 "たスレッドのケーパビリティバウンディングセットから I<arg2> で指定されたケーパ"
2258 "ビリティを外す。 呼び出したスレッドの子プロセスは変更後のバウンディングセット"
2259 "を 継承する。"
2260
2261 #. type: Plain text
2262 #: build/C/man2/prctl.2:100
2263 msgid ""
2264 "The call fails with the error: B<EPERM> if the calling thread does not have "
2265 "the B<CAP_SETPCAP>; B<EINVAL> if I<arg2> does not represent a valid "
2266 "capability; or B<EINVAL> if file capabilities are not enabled in the kernel, "
2267 "in which case bounding sets are not supported."
2268 msgstr ""
2269 "呼び出したスレッドが B<CAP_SETPCAP> を持っていない場合、呼び出しはエラー "
2270 "B<EPERM> で失敗する。 I<arg2> に指定されたケーパビリティが有効でない場合、 "
2271 "B<EINVAL> で失敗する。 ファイルケーパビリティがカーネルで有効になっていない場"
2272 "合 (この場合にはバウンディングセットがサポートされない)、 B<EINVAL> で失敗す"
2273 "る。"
2274
2275 #. type: TP
2276 #: build/C/man2/prctl.2:100
2277 #, no-wrap
2278 msgid "B<PR_SET_DUMPABLE> (since Linux 2.3.20)"
2279 msgstr "B<PR_SET_DUMPABLE> (Linux 2.3.20 以降)"
2280
2281 #.  See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
2282 #.  Subject:    Fix prctl privilege escalation (CVE-2006-2451)
2283 #.  From:       Marcel Holtmann <marcel () holtmann ! org>
2284 #.  Date:       2006-07-12 11:12:00
2285 #. type: Plain text
2286 #: build/C/man2/prctl.2:126
2287 #, fuzzy
2288 #| msgid ""
2289 #| "Set the state of the flag determining whether core dumps are produced for "
2290 #| "this process upon delivery of a signal whose default behavior is to "
2291 #| "produce a core dump.  (Normally this flag is set for a process by "
2292 #| "default, but it is cleared when a set-user-ID or set-group-ID program is "
2293 #| "executed and also by various system calls that manipulate process UIDs "
2294 #| "and GIDs).  In kernels up to and including 2.6.12, I<arg2> must be either "
2295 #| "0 (process is not dumpable) or 1 (process is dumpable).  Between kernels "
2296 #| "2.6.13 and 2.6.17, the value 2 was also permitted, which caused any "
2297 #| "binary which normally would not be dumped to be dumped readable by root "
2298 #| "only; for security reasons, this feature has been removed.  (See also the "
2299 #| "description of I</proc/sys/fs/suid_dumpable> in B<proc>(5).)"
2300 msgid ""
2301 "Set the state of the flag determining whether core dumps are produced for "
2302 "this process upon delivery of a signal whose default behavior is to produce "
2303 "a core dump.  (Normally this flag is set for a process by default, but it is "
2304 "cleared when a set-user-ID or set-group-ID program is executed and also by "
2305 "various system calls that manipulate process UIDs and GIDs).  In kernels up "
2306 "to and including 2.6.12, I<arg2> must be either 0 (process is not dumpable) "
2307 "or 1 (process is dumpable).  Between kernels 2.6.13 and 2.6.17, the value 2 "
2308 "was also permitted, which caused any binary which normally would not be "
2309 "dumped to be dumped readable by root only; for security reasons, this "
2310 "feature has been removed.  (See also the description of I</proc/sys/fs/"
2311 "suid_dumpable> in B<proc>(5).)  Processes that are not dumpable can not be "
2312 "attached via B<ptrace(2)> B<PTRACE_ATTACH>."
2313 msgstr ""
2314 "(Linux 2.3.20 以降)  デフォルトの振る舞いではコアダンプを引き起こすようなシグ"
2315 "ナルを受信したときに、 コアダンプするかどうかを決定するフラグを設定する (通常"
2316 "このフラグは、デフォルトではセットされているが、 set-user-ID あるいは set-"
2317 "group-ID プログラムが実行されたり、 さまざまなシステムコールによってプロセス"
2318 "の UID や GID が操作されたときに クリアされる)。 2.6.12 以前のカーネルでは、 "
2319 "I<arg2> は 0 (プロセスはダンプ不可) あるいは 1 (プロセスはダンプ可能) の どち"
2320 "らかでなければならない。 2.6.13 から 2.6.17 までのカーネルでは、値 2 も認めら"
2321 "れていた。 この値を指定すると、通常はダンプされないバイナリが root だけが 読"
2322 "み込み可能な形でダンプされた。 セキュリティ上の理由から、この機能は削除され"
2323 "た (B<proc>(5)  の I</proc/sys/fs/suid_dumpable> の説明も参照)。"
2324
2325 #. type: TP
2326 #: build/C/man2/prctl.2:126
2327 #, no-wrap
2328 msgid "B<PR_GET_DUMPABLE> (since Linux 2.3.20)"
2329 msgstr "B<PR_GET_DUMPABLE> (Linux 2.3.20 以降)"
2330
2331 #.  Since Linux 2.6.13, the dumpable flag can have the value 2,
2332 #.  but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
2333 #.  flags has a nonzero value.  This was fixed in 2.6.14.
2334 #. type: Plain text
2335 #: build/C/man2/prctl.2:133
2336 msgid ""
2337 "Return (as the function result) the current state of the calling process's "
2338 "dumpable flag."
2339 msgstr ""
2340 "(Linux 2.3.20 以降)  呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態"
2341 "を (関数の返り値として) 返す。"
2342
2343 #. type: TP
2344 #: build/C/man2/prctl.2:133
2345 #, no-wrap
2346 msgid "B<PR_SET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2347 msgstr "B<PR_SET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2348
2349 #.  Respectively 0, 1, 2
2350 #. type: Plain text
2351 #: build/C/man2/prctl.2:143
2352 msgid ""
2353 "Set the endian-ness of the calling process to the value given in I<arg2>, "
2354 "which should be one of the following: B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2355 "or B<PR_ENDIAN_PPC_LITTLE> (PowerPC pseudo little endian)."
2356 msgstr ""
2357 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<arg2> で指定された値"
2358 "に設定する。 指定できる値は B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2359 "B<PR_ENDIAN_PPC_LITTLE> (PowerPC 擬似リトルエンディアン)  のいずれか一つであ"
2360 "る。"
2361
2362 #. type: TP
2363 #: build/C/man2/prctl.2:143
2364 #, no-wrap
2365 msgid "B<PR_GET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2366 msgstr "B<PR_GET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2367
2368 #. type: Plain text
2369 #: build/C/man2/prctl.2:148
2370 msgid ""
2371 "Return the endian-ness of the calling process, in the location pointed to by "
2372 "I<(int\\ *) arg2>."
2373 msgstr ""
2374 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<(int\\ *) arg2> が指"
2375 "す場所に格納して返す。"
2376
2377 #. type: TP
2378 #: build/C/man2/prctl.2:148
2379 #, no-wrap
2380 msgid "B<PR_SET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2381 msgstr "B<PR_SET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2382
2383 #. type: Plain text
2384 #: build/C/man2/prctl.2:155
2385 msgid ""
2386 "Set floating-point emulation control bits to I<arg2>.  Pass "
2387 "B<PR_FPEMU_NOPRINT> to silently emulate fp operations accesses, or "
2388 "B<PR_FPEMU_SIGFPE> to not emulate fp operations and send B<SIGFPE> instead."
2389 msgstr ""
2390 "浮動小数点エミュレーション (floating-point emulation) 制御ビットを I<arg2> で"
2391 "指定された値に設定する。 指定できる値は B<PR_FPEMU_NOPRINT> (浮動小数点命令ア"
2392 "クセスを黙って エミュレートする) か B<PR_FPEMU_SIGFPE> (浮動小数点命令をエ"
2393 "ミュレートせず、 代わりに B<SIGFPE> を送る) である。"
2394
2395 #. type: TP
2396 #: build/C/man2/prctl.2:155
2397 #, no-wrap
2398 msgid "B<PR_GET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2399 msgstr "B<PR_GET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2400
2401 #. type: Plain text
2402 #: build/C/man2/prctl.2:160
2403 msgid ""
2404 "Return floating-point emulation control bits, in the location pointed to by "
2405 "I<(int\\ *) arg2>."
2406 msgstr ""
2407 "浮動小数点エミュレーション制御ビットの値を I<(int\\ *) arg2> が指す場所に格納"
2408 "して返す。"
2409
2410 #. type: TP
2411 #: build/C/man2/prctl.2:160
2412 #, no-wrap
2413 msgid "B<PR_SET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2414 msgstr "B<PR_SET_FPEXC> (Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2415
2416 #. type: Plain text
2417 #: build/C/man2/prctl.2:173
2418 msgid ""
2419 "Set floating-point exception mode to I<arg2>.  Pass B<PR_FP_EXC_SW_ENABLE> "
2420 "to use FPEXC for FP exception enables, B<PR_FP_EXC_DIV> for floating-point "
2421 "divide by zero, B<PR_FP_EXC_OVF> for floating-point overflow, "
2422 "B<PR_FP_EXC_UND> for floating-point underflow, B<PR_FP_EXC_RES> for floating-"
2423 "point inexact result, B<PR_FP_EXC_INV> for floating-point invalid operation, "
2424 "B<PR_FP_EXC_DISABLED> for FP exceptions disabled, B<PR_FP_EXC_NONRECOV> for "
2425 "async nonrecoverable exception mode, B<PR_FP_EXC_ASYNC> for async "
2426 "recoverable exception mode, B<PR_FP_EXC_PRECISE> for precise exception mode."
2427 msgstr ""
2428 "浮動小数点例外モード (floating-point exception mode) を I<arg2> で指定された"
2429 "値に設定する。 指定できるのは以下の値である: B<PR_FP_EXC_SW_ENABLE> (FPEXC で"
2430 "浮動小数点例外を有効にする)、 B<PR_FP_EXC_DIV> (0 除算)、 B<PR_FP_EXC_OVF> "
2431 "(オーバーフロー)、 B<PR_FP_EXC_UND> (アンダーフロー)、 B<PR_FP_EXC_RES> (不正"
2432 "確な結果 (inexact result))、 B<PR_FP_EXC_INV> (不正な命令 (invalid "
2433 "operation))、 B<PR_FP_EXC_DISABLED> (浮動小数点例外を無効にする)、 "
2434 "B<PR_FP_EXC_NONRECOV> (async nonrecoverable exception mode)、 "
2435 "B<PR_FP_EXC_ASYNC> (async recoverable exception mode)、 B<PR_FP_EXC_PRECISE> "
2436 "(precise exception mode)。"
2437
2438 #. type: TP
2439 #: build/C/man2/prctl.2:173
2440 #, no-wrap
2441 msgid "B<PR_GET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2442 msgstr "B<PR_GET_FPEXC>(Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2443
2444 #. type: Plain text
2445 #: build/C/man2/prctl.2:178
2446 msgid ""
2447 "Return floating-point exception mode, in the location pointed to by I<(int\\ "
2448 "*) arg2>."
2449 msgstr ""
2450 "浮動小数点例外モードの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2451
2452 #. type: TP
2453 #: build/C/man2/prctl.2:178
2454 #, no-wrap
2455 msgid "B<PR_SET_KEEPCAPS> (since Linux 2.2.18)"
2456 msgstr "B<PR_SET_KEEPCAPS> (Linux 2.2.18 以降)"
2457
2458 #. type: Plain text
2459 #: build/C/man2/prctl.2:196
2460 #, fuzzy
2461 #| msgid ""
2462 #| "Set the state of the thread's \"keep capabilities\" flag, which "
2463 #| "determines whether the threads's effective and permitted capability sets "
2464 #| "are cleared when a change is made to the threads's user IDs such that the "
2465 #| "threads's real UID, effective UID, and saved set-user-ID all become "
2466 #| "nonzero when at least one of them previously had the value 0.  (By "
2467 #| "default, these credential sets are cleared).  I<arg2> must be either 0 "
2468 #| "(capabilities are cleared) or 1 (capabilities are kept).  This value will "
2469 #| "be reset to 0 on subsequent calls to B<execve>(2)."
2470 msgid ""
2471 "Set the state of the thread's \"keep capabilities\" flag, which determines "
2472 "whether the threads's permitted capability set is cleared when a change is "
2473 "made to the threads's user IDs such that the threads's real UID, effective "
2474 "UID, and saved set-user-ID all become nonzero when at least one of them "
2475 "previously had the value 0.  By default, the permitted capability set is "
2476 "cleared when such a change is made; setting the \"keep capabilities\" flag "
2477 "prevents it from being cleared.  I<arg2> must be either 0 (permitted "
2478 "capabilities are cleared)  or 1 (permitted capabilities are kept).  (A "
2479 "thread's I<effective> capability set is always cleared when such a "
2480 "credential change is made, regardless of the setting of the \"keep "
2481 "capabilities\" flag.)  The \"keep capabilities\" value will be reset to 0 on "
2482 "subsequent calls to B<execve>(2)."
2483 msgstr ""
2484 "スレッドの「ケーパビリティ保持」フラグを設定する。 このフラグは、スレッドの"
2485 "実 UID、実効 UID、保存 set-user-ID のうち少なくとも 一つが 0 であった状態か"
2486 "ら、これら全てが 0 以外に変更されたとき、 スレッドの実効/許可のケーパビリティ"
2487 "集合がクリアされるかどうかを決定する (デフォルトでは、これらのケーパビリティ"
2488 "集合はクリアされる)。 I<arg2> は 0 (ケーパビリティをクリアする) あるいは 1 "
2489 "(ケーパビリティを保持する) の どちらかでなければならない。 B<execve>(2)  が呼"
2490 "び出されると、この値は 0 にリセットされる。"
2491
2492 #. type: TP
2493 #: build/C/man2/prctl.2:196
2494 #, no-wrap
2495 msgid "B<PR_GET_KEEPCAPS> (since Linux 2.2.18)"
2496 msgstr "B<PR_GET_KEEPCAPS> (Linux 2.2.18 以降)"
2497
2498 #. type: Plain text
2499 #: build/C/man2/prctl.2:200
2500 msgid ""
2501 "Return (as the function result) the current state of the calling threads's "
2502 "\"keep capabilities\" flag."
2503 msgstr ""
2504 "呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の"
2505 "返り値として) 返す。"
2506
2507 #. type: TP
2508 #: build/C/man2/prctl.2:200
2509 #, no-wrap
2510 msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2511 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2512
2513 #.  TASK_COMM_LEN in include/linux/sched.h
2514 #. type: Plain text
2515 #: build/C/man2/prctl.2:208
2516 msgid ""
2517 "Set the process name for the calling process, using the value in the "
2518 "location pointed to by I<(char\\ *) arg2>.  The name can be up to 16 bytes "
2519 "long, and should be null-terminated if it contains fewer bytes."
2520 msgstr ""
2521 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納された値"
2522 "を使って設定する。 名前は最大で 16 バイトであり、 それより少ないバイト数の場"
2523 "合は NULL で終端すべきである。"
2524
2525 #. type: TP
2526 #: build/C/man2/prctl.2:208
2527 #, no-wrap
2528 msgid "B<PR_GET_NAME> (since Linux 2.6.11)"
2529 msgstr "B<PR_GET_NAME> (Linux 2.6.11 以降)"
2530
2531 #. type: Plain text
2532 #: build/C/man2/prctl.2:215
2533 msgid ""
2534 "Return the process name for the calling process, in the buffer pointed to by "
2535 "I<(char\\ *) arg2>.  The buffer should allow space for up to 16 bytes; the "
2536 "returned string will be null-terminated if it is shorter than that."
2537 msgstr ""
2538 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納して返"
2539 "す。 バッファは最大で 16 バイトを格納できるようにすべきである。 返される文字"
2540 "列は、長さが 16 バイトより短い場合は NULL 終端される。"
2541
2542 #. type: TP
2543 #: build/C/man2/prctl.2:215
2544 #, no-wrap
2545 msgid "B<PR_SET_PDEATHSIG> (since Linux 2.1.57)"
2546 msgstr "B<PR_SET_PDEATHSIG> (Linux 2.1.57 以降)"
2547
2548 #. type: Plain text
2549 #: build/C/man2/prctl.2:224
2550 msgid ""
2551 "Set the parent process death signal of the calling process to I<arg2> "
2552 "(either a signal value in the range 1..maxsig, or 0 to clear).  This is the "
2553 "signal that the calling process will get when its parent dies.  This value "
2554 "is cleared for the child of a B<fork>(2)."
2555 msgstr ""
2556 "親プロセス死亡シグナル (parent process death signal) を I<arg2> に設定する "
2557 "(設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除である)。 呼び"
2558 "出し元プロセスの親プロセスが死んだ際に、ここで設定した値が シグナルとして通知"
2559 "される。この値は B<fork>(2)  の子プロセスでは解除される。"
2560
2561 #. type: TP
2562 #: build/C/man2/prctl.2:224
2563 #, no-wrap
2564 msgid "B<PR_GET_PDEATHSIG> (since Linux 2.3.15)"
2565 msgstr "B<PR_GET_PDEATHSIG> (Linux 2.3.15 以降)"
2566
2567 #. type: Plain text
2568 #: build/C/man2/prctl.2:229
2569 msgid ""
2570 "Return the current value of the parent process death signal, in the location "
2571 "pointed to by I<(int\\ *) arg2>."
2572 msgstr ""
2573 "親プロセス死亡シグナルの現在の値を I<(int\\ *) arg2> が指す場所に格納して返"
2574 "す。"
2575
2576 #. type: TP
2577 #: build/C/man2/prctl.2:229
2578 #, no-wrap
2579 msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
2580 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
2581
2582 #.  See http://thread.gmane.org/gmane.linux.kernel/542632
2583 #.  [PATCH 0 of 2] seccomp updates
2584 #.  andrea@cpushare.com
2585 #. type: Plain text
2586 #: build/C/man2/prctl.2:253
2587 msgid ""
2588 "Set the secure computing mode for the calling thread.  In the current "
2589 "implementation, I<arg2> must be 1.  After the secure computing mode has been "
2590 "set to 1, the only system calls that the thread is permitted to make are "
2591 "B<read>(2), B<write>(2), B<_exit>(2), and B<sigreturn>(2).  Other system "
2592 "calls result in the delivery of a B<SIGKILL> signal.  Secure computing mode "
2593 "is useful for number-crunching applications that may need to execute "
2594 "untrusted byte code, perhaps obtained by reading from a pipe or socket.  "
2595 "This operation is only available if the kernel is configured with "
2596 "CONFIG_SECCOMP enabled."
2597 msgstr ""
2598 "呼び出したスレッドの secure computing モードを設定する。 現在の実装では、 "
2599 "I<arg2> は 1 にしなければならない。 secure computing モードを 1 に設定する"
2600 "と、 そのスレッドが呼び出しを許可されるシステムコールは B<read>(2), B<write>"
2601 "(2), B<_exit>(2), B<sigreturn>(2)  だけになる。 それ以外のシステムコールを呼"
2602 "び出すと、シグナル B<SIGKILL> が配送される。 パイプやソケットから読み込んだ、"
2603 "信頼できないバイトコードを実行する 必要がある大量の演算を行うアプリケーション"
2604 "において、 secure computing モードは役立つ。 この操作は利用できるのは、カーネ"
2605 "ルが CONFIG_SECCOMP を有効にして 作成されている場合だけである。"
2606
2607 #. type: TP
2608 #: build/C/man2/prctl.2:253
2609 #, no-wrap
2610 msgid "B<PR_GET_SECCOMP> (since Linux 2.6.23)"
2611 msgstr "B<PR_GET_SECCOMP> (Linux 2.6.23 以降)"
2612
2613 #. type: Plain text
2614 #: build/C/man2/prctl.2:266
2615 msgid ""
2616 "Return the secure computing mode of the calling thread.  Not very useful for "
2617 "the current implementation (mode equals 1), but may be useful for other "
2618 "possible future modes: if the caller is not in secure computing mode, this "
2619 "operation returns 0; if the caller is in secure computing mode, then the "
2620 "B<prctl>()  call will cause a B<SIGKILL> signal to be sent to the process.  "
2621 "This operation is only available if the kernel is configured with "
2622 "CONFIG_SECCOMP enabled."
2623 msgstr ""
2624 "呼び出したスレッドの secure computing モードを返す。 現在の実装 (モードは 1 "
2625 "固定) はあまり役に立たないが、 将来他のモードが実装されると役立つようになるか"
2626 "もしれない。 呼び出したスレッドが secure computing モードでなかった場合、 こ"
2627 "の操作は 0 を返す。 呼び出したスレッドが secure computing モードの場合、 "
2628 "B<prctl>()  を呼び出すとシグナル B<SIGKILL> がそのプロセスに送信される。 この"
2629 "操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして 作成されている場"
2630 "合だけである。"
2631
2632 #. type: TP
2633 #: build/C/man2/prctl.2:266
2634 #, no-wrap
2635 msgid "B<PR_SET_SECUREBITS> (since Linux 2.6.26)"
2636 msgstr "B<PR_SET_SECUREBITS> (Linux 2.6.26 以降)"
2637
2638 #. type: Plain text
2639 #: build/C/man2/prctl.2:272
2640 msgid ""
2641 "Set the \"securebits\" flags of the calling thread to the value supplied in "
2642 "I<arg2>.  See B<capabilities>(7)."
2643 msgstr ""
2644 "呼び出したスレッドの \"securebits\" フラグを I<arg2> で渡された値に設定す"
2645 "る。 B<capabilities>(7)  参照。"
2646
2647 #. type: TP
2648 #: build/C/man2/prctl.2:272
2649 #, no-wrap
2650 msgid "B<PR_GET_SECUREBITS> (since Linux 2.6.26)"
2651 msgstr "B<PR_GET_SECUREBITS> (Linux 2.6.26 以降)"
2652
2653 #. type: Plain text
2654 #: build/C/man2/prctl.2:278
2655 msgid ""
2656 "Return (as the function result)  the \"securebits\" flags of the calling "
2657 "thread.  See B<capabilities>(7)."
2658 msgstr ""
2659 "呼び出したスレッドの \"securebits\" フラグを (関数の返り値として) 返す。 "
2660 "B<capabilities>(7)  参照。"
2661
2662 #. type: TP
2663 #: build/C/man2/prctl.2:278
2664 #, no-wrap
2665 msgid "B<PR_SET_TIMING> (since Linux 2.6.0-test4)"
2666 msgstr "B<PR_SET_TIMING> (Linux 2.6.0-test4 以降)"
2667
2668 #.  0
2669 #.  1
2670 #.  PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
2671 #.  and looking at the patch history, it appears
2672 #.  that it never did anything.
2673 #. type: Plain text
2674 #: build/C/man2/prctl.2:295
2675 #, fuzzy
2676 #| msgid ""
2677 #| "Set whether to use (normal, traditional) statistical process timing or "
2678 #| "accurate timestamp based process timing, by passing "
2679 #| "B<PR_TIMING_STATISTICAL> or B<PR_TIMING_TIMESTAMP> to I<arg2>.  "
2680 #| "B<PR_TIMING_TIMESTAMP> is not currently implemented (attempting to set "
2681 #| "this mode will yield the error B<EINVAL>)."
2682 msgid ""
2683 "Set whether to use (normal, traditional) statistical process timing or "
2684 "accurate timestamp-based process timing, by passing B<PR_TIMING_STATISTICAL> "
2685 "or B<PR_TIMING_TIMESTAMP> to I<arg2>.  B<PR_TIMING_TIMESTAMP> is not "
2686 "currently implemented (attempting to set this mode will yield the error "
2687 "B<EINVAL>)."
2688 msgstr ""
2689 "(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、 正確"
2690 "なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。 I<arg2> に"
2691 "指定できる値は B<PR_TIMING_STATISTICAL> か B<PR_TIMING_TIMESTAMP> である。 "
2692 "B<PR_TIMING_TIMESTAMP> は現在のところ実装されていない (このモードに設定しよう"
2693 "とするとエラー B<EINVAL> が起こることだろう)。"
2694
2695 #. type: TP
2696 #: build/C/man2/prctl.2:295
2697 #, no-wrap
2698 msgid "B<PR_GET_TIMING> (since Linux 2.6.0-test4)"
2699 msgstr "B<PR_GET_TIMING> (Linux 2.6.0-test4 以降)"
2700
2701 #. type: Plain text
2702 #: build/C/man2/prctl.2:299
2703 msgid ""
2704 "Return (as the function result) which process timing method is currently in "
2705 "use."
2706 msgstr "現在使用中のプロセスタイミングを決める方法を返す。"
2707
2708 #. type: TP
2709 #: build/C/man2/prctl.2:299
2710 #, no-wrap
2711 msgid "B<PR_SET_TSC> (since Linux 2.6.26, x86 only)"
2712 msgstr "B<PR_SET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2713
2714 #. type: Plain text
2715 #: build/C/man2/prctl.2:312
2716 msgid ""
2717 "Set the state of the flag determining whether the timestamp counter can be "
2718 "read by the process.  Pass B<PR_TSC_ENABLE> to I<arg2> to allow it to be "
2719 "read, or B<PR_TSC_SIGSEGV> to generate a B<SIGSEGV> when the process tries "
2720 "to read the timestamp counter."
2721 msgstr ""
2722 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を"
2723 "設定する。 読み出しを許可する場合は I<arg2> に B<PR_TSC_ENABLE> を、そのプロ"
2724 "セスがタイムスタンプ・カウンタを読み出そうとした際に B<SIGSEGV> を発生させる"
2725 "場合には B<PR_TSC_SIGSEGV> を渡す。"
2726
2727 #. type: TP
2728 #: build/C/man2/prctl.2:312
2729 #, no-wrap
2730 msgid "B<PR_GET_TSC> (since Linux 2.6.26, x86 only)"
2731 msgstr "B<PR_GET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2732
2733 #. type: Plain text
2734 #: build/C/man2/prctl.2:318
2735 msgid ""
2736 "Return the state of the flag determining whether the timestamp counter can "
2737 "be read, in the location pointed to by I<(int\\ *) arg2>."
2738 msgstr ""
2739 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態"
2740 "を I<(int\\ *) arg2> が指す場所に格納して返す。"
2741
2742 #. type: TP
2743 #: build/C/man2/prctl.2:318
2744 #, no-wrap
2745 msgid "B<PR_SET_UNALIGN>"
2746 msgstr "B<PR_SET_UNALIGN>"
2747
2748 #. type: Plain text
2749 #: build/C/man2/prctl.2:328
2750 msgid ""
2751 "(Only on: ia64, since Linux 2.3.48; parisc, since Linux 2.6.15; PowerPC, "
2752 "since Linux 2.6.18; Alpha, since Linux 2.6.22)  Set unaligned access control "
2753 "bits to I<arg2>.  Pass B<PR_UNALIGN_NOPRINT> to silently fix up unaligned "
2754 "user accesses, or B<PR_UNALIGN_SIGBUS> to generate B<SIGBUS> on unaligned "
2755 "user access."
2756 msgstr ""
2757 "(ia64 では Linux 2.3.48 以降; parisc では Linux 2.6.15 以降; PowerPC では "
2758 "Linux 2.6.18 以降; Alpha では Linux 2.6.22 以降; これらのアーキテクチャの"
2759 "み)  unaligned アクセス制御ビットを I<arg2> で指定された値に設定する。 指定で"
2760 "きる値は B<PR_UNALIGN_NOPRINT> (unaligned なユーザアクセスを黙って 修正する) "
2761 "か B<PR_UNALIGN_SIGBUS> (unaligned なユーザアクセスがあった場合 B<SIGBUS> を"
2762 "生成する) である。"
2763
2764 #. type: TP
2765 #: build/C/man2/prctl.2:328
2766 #, no-wrap
2767 msgid "B<PR_GET_UNALIGN>"
2768 msgstr "B<PR_GET_UNALIGN>"
2769
2770 #. type: Plain text
2771 #: build/C/man2/prctl.2:335
2772 msgid ""
2773 "(see B<PR_SET_UNALIGN> for information on versions and architectures)  "
2774 "Return unaligned access control bits, in the location pointed to by I<(int\\ "
2775 "*) arg2>."
2776 msgstr ""
2777 "(バージョンとアーキテクチャの情報は B<PR_SET_UNALIGN> 参照)  unaligned アクセ"
2778 "ス制御ビットの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2779
2780 #. type: TP
2781 #: build/C/man2/prctl.2:335
2782 #, fuzzy, no-wrap
2783 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2784 msgid "B<PR_MCE_KILL> (since Linux 2.6.32)"
2785 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2786
2787 #. type: Plain text
2788 #: build/C/man2/prctl.2:375
2789 msgid ""
2790 "Set the machine check memory corruption kill policy for the current thread.  "
2791 "If I<arg2> is B<PR_MCE_KILL_CLEAR>, clear the thread memory corruption kill "
2792 "policy and use the system-wide default.  (The system-wide default is defined "
2793 "by I</proc/sys/vm/memory_failure_early_kill>; see B<proc>(5).)  If I<arg2> "
2794 "is B<PR_MCE_KILL_SET>, use a thread-specific memory corruption kill policy.  "
2795 "In this case, I<arg3> defines whether the policy is I<early kill> "
2796 "(B<PR_MCE_KILL_EARLY>), I<late kill> (B<PR_MCE_KILL_LATE>), or the system-"
2797 "wide default (B<PR_MCE_KILL_DEFAULT>).  Early kill means that the thread "
2798 "receives a B<SIGBUS> signal as soon as hardware memory corruption is "
2799 "detected inside its address space.  In late kill mode, the process is only "
2800 "killed when it accesses a corrupted page.  See B<sigaction>(2)  for more "
2801 "information on the B<SIGBUS> signal.  The policy is inherited by children.  "
2802 "The remaining unused B<prctl>()  arguments must be zero for future "
2803 "compatibility."
2804 msgstr ""
2805
2806 #. type: TP
2807 #: build/C/man2/prctl.2:375
2808 #, fuzzy, no-wrap
2809 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2810 msgid "B<PR_MCE_KILL_GET> (since Linux 2.6.32)"
2811 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2812
2813 #. type: Plain text
2814 #: build/C/man2/prctl.2:381
2815 msgid ""
2816 "Return the current per-process machine check kill policy.  All unused "
2817 "B<prctl>()  arguments must be zero."
2818 msgstr ""
2819
2820 #. type: Plain text
2821 #: build/C/man2/prctl.2:398
2822 #, fuzzy
2823 #| msgid ""
2824 #| "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2825 #| "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, and (if it returns)  "
2826 #| "B<PR_GET_SECCOMP> return the nonnegative values described above.  All "
2827 #| "other I<option> values return 0 on success.  On error, -1 is returned, "
2828 #| "and I<errno> is set appropriately."
2829 msgid ""
2830 "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2831 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_MCE_KILL_GET>, and (if it "
2832 "returns)  B<PR_GET_SECCOMP> return the nonnegative values described above.  "
2833 "All other I<option> values return 0 on success.  On error, -1 is returned, "
2834 "and I<errno> is set appropriately."
2835 msgstr ""
2836 "成功すると、 B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2837 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_GET_SECCOMP> は上述の負でない値"
2838 "を返す (B<PR_GET_SECCOMP> は返らない場合もある)。 I<option> が他の値の場合は"
2839 "成功時に 0 を返す。 エラーの場合、-1 を返し、 I<errno> に適切な値を設定する。"
2840
2841 #. type: Plain text
2842 #: build/C/man2/prctl.2:403
2843 msgid "I<arg2> is an invalid address."
2844 msgstr "I<arg2> が不正なアドレスである。"
2845
2846 #. type: Plain text
2847 #: build/C/man2/prctl.2:408
2848 msgid "The value of I<option> is not recognized."
2849 msgstr "I<option> の値が理解できない。"
2850
2851 #. type: Plain text
2852 #: build/C/man2/prctl.2:418
2853 msgid ""
2854 "I<option> is B<PR_MCE_KILL> or B<PR_MCE_KILL_GET>, and unused B<prctl>()  "
2855 "arguments were not specified as zero."
2856 msgstr ""
2857
2858 #. type: Plain text
2859 #: build/C/man2/prctl.2:423
2860 msgid "I<arg2> is not valid value for this I<option>."
2861 msgstr "I<arg2> が指定された I<option> で有効な値ではない。"
2862
2863 #. type: Plain text
2864 #: build/C/man2/prctl.2:432
2865 msgid ""
2866 "I<option> is B<PR_SET_SECCOMP> or B<PR_SET_SECCOMP>, and the kernel was not "
2867 "configured with B<CONFIG_SECCOMP>."
2868 msgstr ""
2869 "I<option> が B<PR_SET_SECCOMP> か B<PR_GET_SECCOMP> だが、カーネルが "
2870 "B<CONFIG_SECCOMP> を有効にして作成されていなかった。"
2871
2872 #. type: Plain text
2873 #: build/C/man2/prctl.2:444
2874 msgid ""
2875 "I<option> is B<PR_SET_SECUREBITS>, and the caller does not have the "
2876 "B<CAP_SETPCAP> capability, or tried to unset a \"locked\" flag, or tried to "
2877 "set a flag whose corresponding locked flag was set (see B<capabilities>(7))."
2878 msgstr ""
2879 "I<option> が B<PR_SET_SECUREBITS> で、呼び出し元がケーパビリティ "
2880 "B<CAP_SETPCAP> を持っていない。 または、\"locked\" フラグを解除しようとし"
2881 "た。 または、locked フラグがセットされているフラグをセットしようとした "
2882 "(B<capabilities>(7)  参照)。"
2883
2884 #. type: Plain text
2885 #: build/C/man2/prctl.2:454
2886 msgid ""
2887 "I<option> is B<PR_SET_KEEPCAPS>, and the callers's "
2888 "B<SECURE_KEEP_CAPS_LOCKED> flag is set (see B<capabilities>(7))."
2889 msgstr ""
2890 "I<option> が B<PR_SET_KEEPCAPS> で、呼び出し元のフラグ "
2891 "B<SECURE_KEEP_CAPS_LOCKED> がセットされている (B<capabilities>(7)  参照)。"
2892
2893 #.  The following can't actually happen, because prctl() in
2894 #.  seccomp mode will cause SIGKILL.
2895 #.  .TP
2896 #.  .B EPERM
2897 #.  .I option
2898 #.  is
2899 #.  .BR PR_SET_SECCOMP ,
2900 #.  and secure computing mode is already 1.
2901 #. type: Plain text
2902 #: build/C/man2/prctl.2:470
2903 msgid ""
2904 "I<option> is B<PR_CAPBSET_DROP>, and the caller does not have the "
2905 "B<CAP_SETPCAP> capability."
2906 msgstr ""
2907 "I<option> が B<PR_CAPBSET_DROP> で、呼び出し元がケーパビリティ "
2908 "B<CAP_SETPCAP> を持っていない。"
2909
2910 #.  The library interface was added in glibc 2.0.6
2911 #. type: Plain text
2912 #: build/C/man2/prctl.2:475
2913 msgid "The B<prctl>()  system call was introduced in Linux 2.1.57."
2914 msgstr "B<prctl>()  システムコールは Linux 2.1.57 で導入された。"
2915
2916 #. type: Plain text
2917 #: build/C/man2/prctl.2:482
2918 msgid ""
2919 "This call is Linux-specific.  IRIX has a B<prctl>()  system call (also "
2920 "introduced in Linux 2.1.44 as irix_prctl on the MIPS architecture), with "
2921 "prototype"
2922 msgstr ""
2923 "このコールは Linux 特有である。 IRIX には B<prctl>()  システム・コールがある"
2924 "が (MIPS アーキテクチャにおいて irix_prctl として Linux 2.1.44 で同様に導入さ"
2925 "れた)、 そのプロトタイプは"
2926
2927 #. type: Plain text
2928 #: build/C/man2/prctl.2:484
2929 msgid "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
2930 msgstr "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
2931
2932 #. type: Plain text
2933 #: build/C/man2/prctl.2:489
2934 msgid ""
2935 "and options to get the maximum number of processes per user, get the maximum "
2936 "number of processors the calling process can use, find out whether a "
2937 "specified process is currently blocked, get or set the maximum stack size, "
2938 "etc."
2939 msgstr ""
2940 "である。ユーザー当りのプロセス最大数を取得するオプション、 プロセスの使用でき"
2941 "る最大プロッサー数を取得するオプション、 現在特定のプロセスが停止(block)させ"
2942 "られているかどうか調べるオプション、 スタックサイズの最大値の取得や設定を行な"
2943 "うオプションなどがある。"
2944
2945 #. type: Plain text
2946 #: build/C/man2/prctl.2:492
2947 msgid "B<signal>(2), B<core>(5)"
2948 msgstr "B<signal>(2), B<core>(5)"
2949
2950 #. type: TH
2951 #: build/C/man3/profil.3:28
2952 #, no-wrap
2953 msgid "PROFIL"
2954 msgstr "PROFIL"
2955
2956 #. type: Plain text
2957 #: build/C/man3/profil.3:31
2958 msgid "profil - execution time profile"
2959 msgstr "profil - 実行時間プロファイル (profile)"
2960
2961 #. type: Plain text
2962 #: build/C/man3/profil.3:36
2963 msgid ""
2964 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
2965 ">I<offset>B<, unsigned int >I<scale>B<);>"
2966 msgstr ""
2967 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
2968 ">I<offset>B<, unsigned int >I<scale>B<);>"
2969
2970 #. type: Plain text
2971 #: build/C/man3/profil.3:44
2972 msgid ""
2973 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2974 msgstr ""
2975 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2976
2977 #. type: Plain text
2978 #: build/C/man3/profil.3:66
2979 msgid ""
2980 "This routine provides a means to find out in what areas your program spends "
2981 "most of its time.  The argument I<buf> points to I<bufsiz> bytes of core.  "
2982 "Every virtual 10 milliseconds, the user's program counter (PC)  is examined: "
2983 "I<offset> is subtracted and the result is multiplied by I<scale> and divided "
2984 "by 65536.  If the resulting value is less than I<bufsiz>, then the "
2985 "corresponding entry in I<buf> is incremented.  If I<buf> is NULL, profiling "
2986 "is disabled."
2987 msgstr ""
2988 "このルーティンはプログラムのどこの部分で時間を費やしているかを調べる 手段を提"
2989 "供する。引き数 I<buf> は I<bufsiz> バイトのメモリを指している。仮想の 10 ミリ"
2990 "秒ごとに、ユーザーの プログラム・カウンター (PC) が検査される: I<offset> が引"
2991 "かれ、その結果が I<scale> 倍され 65536 で割られる。 結果が I<bufsiz> より小さ"
2992 "い場合は I<buf> の対応するエントリがインクリメントされる。 I<buf> が NULL な"
2993 "らば、プロファイル (profile) は無効にされる。"
2994
2995 #. type: Plain text
2996 #: build/C/man3/profil.3:68
2997 msgid "Zero is always returned."
2998 msgstr "常に 0 が返される。"
2999
3000 #. type: Plain text
3001 #: build/C/man3/profil.3:70
3002 msgid "Similar to a call in SVr4 (but not POSIX.1-2001)."
3003 msgstr "SVr4 のコールに似ている (しかし POSIX.1-2001 ではない)。"
3004
3005 #. type: Plain text
3006 #: build/C/man3/profil.3:76
3007 msgid ""
3008 "B<profil>()  cannot be used on a program that also uses B<ITIMER_PROF> "
3009 "interval timers (see B<setitimer>(2))."
3010 msgstr ""
3011 "B<profil>()  は B<ITIMER_PROF> インターバル・タイマーも使用しているプログラム"
3012 "では使用できない (B<setitimer>(2)  参照)。"
3013
3014 #. type: Plain text
3015 #: build/C/man3/profil.3:79
3016 msgid ""
3017 "True kernel profiling provides more accurate results.  Libc 4.4 contained a "
3018 "kernel patch providing a system call profil."
3019 msgstr ""
3020 "本当のカーネル・プロファイルはより正確な結果を与える。 libc 4.4 にはシステム"
3021 "コール profil を提供するための カーネルパッチが含まれていた。"
3022
3023 #. type: Plain text
3024 #: build/C/man3/profil.3:84
3025 msgid "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3026 msgstr "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3027
3028 #. type: TH
3029 #: build/C/man3/psignal.3:28
3030 #, no-wrap
3031 msgid "PSIGNAL"
3032 msgstr "PSIGNAL"
3033
3034 #. type: TH
3035 #: build/C/man3/psignal.3:28
3036 #, fuzzy, no-wrap
3037 #| msgid "2008-10-06"
3038 msgid "2010-10-06"
3039 msgstr "2008-10-06"
3040
3041 #. type: TH
3042 #: build/C/man3/psignal.3:28 build/C/man3/raise.3:27
3043 #: build/C/man7/sigevent.7:24
3044 #, no-wrap
3045 msgid "GNU"
3046 msgstr "GNU"
3047
3048 #. type: Plain text
3049 #: build/C/man3/psignal.3:31
3050 #, fuzzy
3051 #| msgid "psignal - print signal message"
3052 msgid "psignal, psiginfo - print signal message"
3053 msgstr "psignal - シグナルメッセージを表示"
3054
3055 #. type: Plain text
3056 #: build/C/man3/psignal.3:37
3057 #, fuzzy, no-wrap
3058 #| msgid "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3059 msgid ""
3060 "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3061 "B<void psiginfo(const siginfo_t *>I<pinfo>B<, const char *>I<s>B<);>\n"
3062 msgstr "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3063
3064 #. type: Plain text
3065 #: build/C/man3/psignal.3:39
3066 #, no-wrap
3067 msgid "B<extern const char *const >I<sys_siglist>B<[];>\n"
3068 msgstr "B<extern const char *const >I<sys_siglist>B<[];>\n"
3069
3070 #. type: Plain text
3071 #: build/C/man3/psignal.3:48
3072 msgid "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3073 msgstr "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3074
3075 #. type: Plain text
3076 #: build/C/man3/psignal.3:51
3077 #, fuzzy
3078 #| msgid ""
3079 #| "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3080 msgid ""
3081 "B<psiginfo>(): _XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ "
3082 "200809L"
3083 msgstr ""
3084 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3085
3086 #. type: Plain text
3087 #: build/C/man3/psignal.3:54
3088 msgid "I<sys_siglist>: _BSD_SOURCE"
3089 msgstr "I<sys_siglist>: _BSD_SOURCE"
3090
3091 #. type: Plain text
3092 #: build/C/man3/psignal.3:63
3093 #, fuzzy
3094 #| msgid ""
3095 #| "The B<psignal>()  function displays a message on I<stderr> consisting of "
3096 #| "the string I<s>, a colon, a space, and a string describing the signal "
3097 #| "number I<sig>.  If I<sig> is invalid, the message displayed will indicate "
3098 #| "an unknown signal."
3099 msgid ""
3100 "The B<psignal>()  function displays a message on I<stderr> consisting of the "
3101 "string I<s>, a colon, a space, a string describing the signal number I<sig>, "
3102 "and a trailing newline.  If the string I<s> is NULL or empty, the colon and "
3103 "space are omitted.  If I<sig> is invalid, the message displayed will "
3104 "indicate an unknown signal."
3105 msgstr ""
3106 "B<psignal>()  関数は、文字列 I<s>、コロン、スペース、 シグナル番号 I<sig> を"
3107 "説明する文字列から構成されるメッセージを I<stderr> に表示する。もし I<sig> が"
3108 "不正ならば、表示される メッセージは未知のシグナルを示す。"
3109
3110 #. type: Plain text
3111 #: build/C/man3/psignal.3:84
3112 msgid ""
3113 "The B<psiginfo>()  function is like B<psignal>(), except that it displays "
3114 "information about the signal described by I<pinfo>, which should point to a "
3115 "valid I<siginfo_t> structure.  As well as the signal description, B<psiginfo>"
3116 "()  displays information about the origin of the signal, and other "
3117 "information relevant to the signal (e.g., the relevant memory address for "
3118 "hardware-generated signals, the child process ID for B<SIGCHLD>, and the "
3119 "user ID and process ID of the sender, for signals set using B<kill>(2)  or "
3120 "B<sigqueue>(3))."
3121 msgstr ""
3122
3123 #. type: Plain text
3124 #: build/C/man3/psignal.3:87
3125 msgid ""
3126 "The array I<sys_siglist> holds the signal description strings indexed by "
3127 "signal number."
3128 msgstr ""
3129 "配列 I<sys_siglist> はシグナルを説明する文字列を保持しており、 配列へのアクセ"
3130 "スにはシグナル番号を添え字として用いる事ができる。"
3131
3132 #. type: Plain text
3133 #: build/C/man3/psignal.3:93
3134 #, fuzzy
3135 #| msgid "The B<psignal>()  function returns no value."
3136 msgid "The B<psignal>()  and B<psiginfo>()  functions return no value."
3137 msgstr "B<psignal>()  関数は、値を返さない。"
3138
3139 #. type: Plain text
3140 #: build/C/man3/psignal.3:97
3141 #, fuzzy
3142 #| msgid "These functions appeared in glibc version 2.1."
3143 msgid "The B<psiginfo>()  function was added to glibc in version 2.10."
3144 msgstr "これらの関数は glibc 2.1 で登場した。"
3145
3146 #. type: Plain text
3147 #: build/C/man3/psignal.3:99
3148 msgid "POSIX.1-2008, 4.3BSD."
3149 msgstr "POSIX.1-2008, 4.3BSD."
3150
3151 #. type: Plain text
3152 #: build/C/man3/psignal.3:103
3153 msgid "In glibc versions up to 2.12, B<psiginfo>()  had the following bugs:"
3154 msgstr ""
3155
3156 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12107
3157 #.  Reportedly now fixed; check glibc 2.13
3158 #. type: Plain text
3159 #: build/C/man3/psignal.3:107
3160 msgid "In some circumstances, a trailing newline is not printed."
3161 msgstr ""
3162
3163 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12108
3164 #.  Reportedly now fixed; check glibc 2.13
3165 #. type: Plain text
3166 #: build/C/man3/psignal.3:111
3167 msgid "Additional details are not displayed for real-time signals."
3168 msgstr ""
3169
3170 #. type: Plain text
3171 #: build/C/man3/psignal.3:116
3172 #, fuzzy
3173 #| msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3174 msgid "B<sigaction>(2), B<perror>(3), B<strsignal>(3), B<signal>(7)"
3175 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3176
3177 #. type: TH
3178 #: build/C/man3/raise.3:27
3179 #, no-wrap
3180 msgid "RAISE"
3181 msgstr "RAISE"
3182
3183 #. type: TH
3184 #: build/C/man3/raise.3:27 build/C/man2/sigprocmask.2:27
3185 #, no-wrap
3186 msgid "2008-10-17"
3187 msgstr "2008-10-17"
3188
3189 #. type: Plain text
3190 #: build/C/man3/raise.3:30
3191 msgid "raise - send a signal to the caller"
3192 msgstr "raise - 呼び出し元にシグナルを送る"
3193
3194 #. type: Plain text
3195 #: build/C/man3/raise.3:35
3196 #, no-wrap
3197 msgid "B<int raise(int >I<sig>B<);>\n"
3198 msgstr "B<int raise(int >I<sig>B<);>\n"
3199
3200 #. type: Plain text
3201 #: build/C/man3/raise.3:41
3202 msgid ""
3203 "The B<raise>()  function sends a signal to the calling process or thread.  "
3204 "In a single-threaded program it is equivalent to"
3205 msgstr ""
3206 "B<raise>()  関数は、呼び出し元のプロセスもしくはスレッドにシグナルを送る。 シ"
3207 "ングルスレッドのプログラムでは、以下と等価である。"
3208
3209 #. type: Plain text
3210 #: build/C/man3/raise.3:45
3211 #, no-wrap
3212 msgid "kill(getpid(), sig);\n"
3213 msgstr "kill(getpid(), sig);\n"
3214
3215 #. type: Plain text
3216 #: build/C/man3/raise.3:49
3217 msgid "In a multithreaded program it is equivalent to"
3218 msgstr "マルチスレッドのプログラムでは、以下と等価である。"
3219
3220 #. type: Plain text
3221 #: build/C/man3/raise.3:53
3222 #, no-wrap
3223 msgid "pthread_kill(pthread_self(), sig);\n"
3224 msgstr "pthread_kill(pthread_self(), sig);\n"
3225
3226 #. type: Plain text
3227 #: build/C/man3/raise.3:59
3228 msgid ""
3229 "If the signal causes a handler to be called, B<raise>()  will only return "
3230 "after the signal handler has returned."
3231 msgstr ""
3232 "シグナルに起因してシグナル・ハンドラが呼び出される場合には、 B<raise>()  が返"
3233 "るのは必ずシグナル・ハンドラが返った後になる。"
3234
3235 #. type: Plain text
3236 #: build/C/man3/raise.3:62
3237 msgid "B<raise>()  returns 0 on success, and nonzero for failure."
3238 msgstr "成功した場合は 0 を、失敗した場合は 0 以外の値を返す。"
3239
3240 #. type: Plain text
3241 #: build/C/man3/raise.3:64 build/C/man2/signal.2:107
3242 msgid "C89, C99, POSIX.1-2001."
3243 msgstr "C89, C99, POSIX.1-2001."
3244
3245 #. type: Plain text
3246 #: build/C/man3/raise.3:71
3247 msgid ""
3248 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3249 "B<signal>(7)"
3250 msgstr ""
3251 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3252 "B<signal>(7)"
3253
3254 #. type: TH
3255 #: build/C/man2/rt_sigqueueinfo.2:23
3256 #, no-wrap
3257 msgid "RT_SIGQUEUEINFO"
3258 msgstr "RT_SIGQUEUEINFO"
3259
3260 #. type: TH
3261 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man7/signal.7:44
3262 #: build/C/man3/sigqueue.3:26 build/C/man2/tkill.2:29
3263 #, no-wrap
3264 msgid "2011-09-18"
3265 msgstr "2011-09-18"
3266
3267 #. type: Plain text
3268 #: build/C/man2/rt_sigqueueinfo.2:26
3269 msgid "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3270 msgstr "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3271
3272 #. type: Plain text
3273 #: build/C/man2/rt_sigqueueinfo.2:29
3274 #, no-wrap
3275 msgid "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3276 msgstr "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3277
3278 #. type: Plain text
3279 #: build/C/man2/rt_sigqueueinfo.2:32
3280 #, no-wrap
3281 msgid ""
3282 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3283 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3284 msgstr ""
3285 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3286 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3287
3288 #. type: Plain text
3289 #: build/C/man2/rt_sigqueueinfo.2:45
3290 msgid ""
3291 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3292 "low-level interfaces used to send a signal plus data to a process or "
3293 "thread.  The receiver of the signal can obtain the accompanying data by "
3294 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3295 msgstr ""
3296 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3297 "low-level interfaces used to send a signal plus data to a process or "
3298 "thread.  The receiver of the signal can obtain the accompanying data by "
3299 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3300
3301 #. type: Plain text
3302 #: build/C/man2/rt_sigqueueinfo.2:51
3303 msgid ""
3304 "These system calls are not intended for direct application use; they are "
3305 "provided to allow the implementation of B<sigqueue>(3)  and "
3306 "B<pthread_sigqueue>(3)."
3307 msgstr ""
3308 "These system calls are not intended for direct application use; they are "
3309 "provided to allow the implementation of B<sigqueue>(3)  and "
3310 "B<pthread_sigqueue>(3)."
3311
3312 #. type: Plain text
3313 #: build/C/man2/rt_sigqueueinfo.2:63
3314 msgid ""
3315 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3316 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3317 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3318 "The signal will be delivered to an arbitrary member of the thread group (i."
3319 "e., one of the threads that is not currently blocking the signal)."
3320 msgstr ""
3321 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3322 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3323 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3324 "The signal will be delivered to an arbitrary member of the thread group (i."
3325 "e., one of the threads that is not currently blocking the signal)."
3326
3327 #. type: Plain text
3328 #: build/C/man2/rt_sigqueueinfo.2:74
3329 msgid ""
3330 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3331 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3332 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3333 "caller should set the following fields in this structure:"
3334 msgstr ""
3335 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3336 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3337 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3338 "caller should set the following fields in this structure:"
3339
3340 #. type: TP
3341 #: build/C/man2/rt_sigqueueinfo.2:74 build/C/man7/sigevent.7:86
3342 #: build/C/man2/wait.2:315
3343 #, no-wrap
3344 msgid "I<si_code>"
3345 msgstr "I<si_code>"
3346
3347 #.  tkill(2) or
3348 #. type: Plain text
3349 #: build/C/man2/rt_sigqueueinfo.2:90
3350 msgid ""
3351 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3352 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3353 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3354 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3355 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3356 msgstr ""
3357 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3358 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3359 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3360 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3361 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3362
3363 #. type: TP
3364 #: build/C/man2/rt_sigqueueinfo.2:90 build/C/man2/wait.2:294
3365 #, no-wrap
3366 msgid "I<si_pid>"
3367 msgstr "I<si_pid>"
3368
3369 #. type: Plain text
3370 #: build/C/man2/rt_sigqueueinfo.2:94
3371 msgid ""
3372 "This should be set to a process ID, typically the process ID of the sender."
3373 msgstr ""
3374 "This should be set to a process ID, typically the process ID of the sender."
3375
3376 #. type: TP
3377 #: build/C/man2/rt_sigqueueinfo.2:94 build/C/man2/wait.2:297
3378 #, no-wrap
3379 msgid "I<si_uid>"
3380 msgstr "I<si_uid>"
3381
3382 #. type: Plain text
3383 #: build/C/man2/rt_sigqueueinfo.2:98
3384 msgid ""
3385 "This should be set to a user ID, typically the real user ID of the sender."
3386 msgstr ""
3387 "This should be set to a user ID, typically the real user ID of the sender."
3388
3389 #. type: TP
3390 #: build/C/man2/rt_sigqueueinfo.2:98 build/C/man7/sigevent.7:94
3391 #, no-wrap
3392 msgid "I<si_value>"
3393 msgstr "I<si_value>"
3394
3395 #. type: Plain text
3396 #: build/C/man2/rt_sigqueueinfo.2:105
3397 msgid ""
3398 "This field contains the user data to accompany the signal.  For more "
3399 "information, see the description of the last (I<union sigval>)  argument of "
3400 "B<sigqueue>(3)."
3401 msgstr ""
3402 "This field contains the user data to accompany the signal.  For more "
3403 "information, see the description of the last (I<union sigval>)  argument of "
3404 "B<sigqueue>(3)."
3405
3406 #. type: Plain text
3407 #: build/C/man2/rt_sigqueueinfo.2:112
3408 msgid ""
3409 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3410 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3411 "via that field."
3412 msgstr ""
3413 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3414 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3415 "via that field."
3416
3417 #. type: Plain text
3418 #: build/C/man2/rt_sigqueueinfo.2:124
3419 msgid ""
3420 "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3421 "sends the signal and data to the single thread specified by the combination "
3422 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3423 msgstr ""
3424 "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3425 "sends the signal and data to the single thread specified by the combination "
3426 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3427
3428 #. type: Plain text
3429 #: build/C/man2/rt_sigqueueinfo.2:129
3430 msgid ""
3431 "On success, these system calls return 0.  On error, they return -1 and "
3432 "I<errno> is set to indicate the error."
3433 msgstr ""
3434 "On success, these system calls return 0.  On error, they return -1 and "
3435 "I<errno> is set to indicate the error."
3436
3437 #. type: TP
3438 #: build/C/man2/rt_sigqueueinfo.2:130 build/C/man3/sigqueue.3:90
3439 #: build/C/man2/sigwaitinfo.2:108 build/C/man2/timer_create.2:174
3440 #, no-wrap
3441 msgid "B<EAGAIN>"
3442 msgstr "B<EAGAIN>"
3443
3444 #. type: Plain text
3445 #: build/C/man2/rt_sigqueueinfo.2:136 build/C/man3/sigqueue.3:96
3446 msgid ""
3447 "The limit of signals which may be queued has been reached.  (See B<signal>"
3448 "(7)  for further information.)"
3449 msgstr ""
3450 "待ち行列に入れられるシグナルの最大数に達した (より詳しい情報は B<signal>(7)  "
3451 "を参照すること)。"
3452
3453 #. type: Plain text
3454 #: build/C/man2/rt_sigqueueinfo.2:143
3455 msgid "I<sig>, I<tgid>, or I<tid> was invalid."
3456 msgstr "I<sig>, I<tgid>, or I<tid> was invalid."
3457
3458 #. type: Plain text
3459 #: build/C/man2/rt_sigqueueinfo.2:151
3460 msgid ""
3461 "The caller does not have permission to send the signal to the target.  For "
3462 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3463 "invalid."
3464 msgstr ""
3465 "The caller does not have permission to send the signal to the target.  For "
3466 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3467 "invalid."
3468
3469 #. type: Plain text
3470 #: build/C/man2/rt_sigqueueinfo.2:157
3471 msgid "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3472 msgstr "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3473
3474 #. type: Plain text
3475 #: build/C/man2/rt_sigqueueinfo.2:164
3476 msgid "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3477 msgstr "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3478
3479 #. type: Plain text
3480 #: build/C/man2/rt_sigqueueinfo.2:171
3481 msgid ""
3482 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3483 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3484 msgstr ""
3485 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3486 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3487
3488 #. type: Plain text
3489 #: build/C/man2/rt_sigqueueinfo.2:173 build/C/man2/sgetmask.2:63
3490 #: build/C/man2/timerfd_create.2:372
3491 msgid "These system calls are Linux-specific."
3492 msgstr "これらのシステムコールは Linux 固有である。"
3493
3494 #. type: Plain text
3495 #: build/C/man2/rt_sigqueueinfo.2:178
3496 msgid ""
3497 "Since these system calls are not intended for application use, there are no "
3498 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3499 "want to call them directly."
3500 msgstr ""
3501 "Since these system calls are not intended for application use, there are no "
3502 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3503 "want to call them directly."
3504
3505 #. type: Plain text
3506 #: build/C/man2/rt_sigqueueinfo.2:183
3507 msgid ""
3508 "As with B<kill>(2), the null signal (0) can be used to check if the "
3509 "specified process or thread exists."
3510 msgstr ""
3511 "As with B<kill>(2), the null signal (0) can be used to check if the "
3512 "specified process or thread exists."
3513
3514 #. type: Plain text
3515 #: build/C/man2/rt_sigqueueinfo.2:191
3516 msgid ""
3517 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3518 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3519 msgstr ""
3520 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3521 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3522
3523 #. type: TH
3524 #: build/C/man2/sgetmask.2:24
3525 #, no-wrap
3526 msgid "SGETMASK"
3527 msgstr "SGETMASK"
3528
3529 #. type: TH
3530 #: build/C/man2/sgetmask.2:24
3531 #, no-wrap
3532 msgid "2007-07-05"
3533 msgstr "2007-07-05"
3534
3535 #. type: Plain text
3536 #: build/C/man2/sgetmask.2:27
3537 msgid "sgetmask, ssetmask - manipulation of signal mask (obsolete)"
3538 msgstr "sgetmask, ssetmask - シグナルマスクの操作 (廃止予定)"
3539
3540 #. type: Plain text
3541 #: build/C/man2/sgetmask.2:29
3542 msgid "B<long sgetmask(void);>"
3543 msgstr "B<long sgetmask(void);>"
3544
3545 #. type: Plain text
3546 #: build/C/man2/sgetmask.2:31
3547 msgid "B<long ssetmask(long >I<newmask>B<);>"
3548 msgstr "B<long ssetmask(long >I<newmask>B<);>"
3549
3550 #. type: Plain text
3551 #: build/C/man2/sgetmask.2:37
3552 msgid ""
3553 "These system calls are obsolete.  I<Do not use them>; use B<sigprocmask>(2)  "
3554 "instead."
3555 msgstr ""
3556 "これらのシステムコールは廃止予定であり、 「使用しないこと」。 代わりに "
3557 "B<sigprocmask>(2)  を使用すること。"
3558
3559 #. type: Plain text
3560 #: build/C/man2/sgetmask.2:40
3561 msgid "B<sgetmask>()  returns the signal mask of the calling process."
3562 msgstr "B<sgetmask>()  は、呼び出し元プロセスのシグナルマスクを返す。"
3563
3564 #. type: Plain text
3565 #: build/C/man2/sgetmask.2:45
3566 msgid ""
3567 "B<ssetmask>()  sets the signal mask of the calling process to the value "
3568 "given in I<newmask>.  The previous signal mask is returned."
3569 msgstr ""
3570 "B<ssetmask>()  は、呼び出し元プロセスのシグナルマスクを I<newmask> で指定され"
3571 "た値に設定し、変更前のシグナルマスクを返す。"
3572
3573 #. type: Plain text
3574 #: build/C/man2/sgetmask.2:54
3575 msgid ""
3576 "The signal masks dealt with by these two system calls are plain bit masks "
3577 "(unlike the I<sigset_t> used by B<sigprocmask>(2)); use B<sigmask>(3)  to "
3578 "create and inspect these masks."
3579 msgstr ""
3580 "これら二つのシステムコールが扱うシグナルマスクは、 単純なビットマスクである "
3581 "(この点が B<sigprocmask>(2)  で使用される I<sigset_t> と異なる)。 これらのマ"
3582 "スクを作成したり検査するには B<sigmask>(3)  を使用すること。"
3583
3584 #. type: Plain text
3585 #: build/C/man2/sgetmask.2:59
3586 msgid ""
3587 "B<sgetmask>()  always successfully returns the signal mask.  B<ssetmask>()  "
3588 "always succeeds, and returns the previous signal mask."
3589 msgstr ""
3590 "B<sgetmask>()  は常に成功し、シグナルマスクを返す。 B<ssetmask>()  は常に成功"
3591 "し、直前のシグナルマスクを返す。"
3592
3593 #. type: Plain text
3594 #: build/C/man2/sgetmask.2:61
3595 msgid "These system calls always succeed."
3596 msgstr "これらのシステムコールは常に成功する。"
3597
3598 #. type: Plain text
3599 #: build/C/man2/sgetmask.2:66
3600 msgid ""
3601 "Glibc does not provide wrappers for these system calls; use B<syscall>(2)."
3602 msgstr ""
3603 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
3604 "B<syscall>(2)  を使用すること。"
3605
3606 #. type: Plain text
3607 #: build/C/man2/sgetmask.2:69
3608 msgid ""
3609 "These system calls are unaware of signal numbers greater than 31 (i.e., real-"
3610 "time signals)."
3611 msgstr ""
3612 "これらのシステムコールは、 31 より大きいシグナル番号 (つまり、リアルタイムシ"
3613 "グナル) を扱えない。"
3614
3615 #. type: Plain text
3616 #: build/C/man2/sgetmask.2:74
3617 msgid "It is not possible to block B<SIGSTOP> or B<SIGKILL>."
3618 msgstr "B<SIGSTOP> や B<SIGKILL> をブロックすることはできない。"
3619
3620 #. type: Plain text
3621 #: build/C/man2/sgetmask.2:77
3622 msgid "B<sigprocmask>(2), B<signal>(7)"
3623 msgstr "B<sigprocmask>(2), B<signal>(7)"
3624
3625 #. type: TH
3626 #: build/C/man2/sigaction.2:45
3627 #, no-wrap
3628 msgid "SIGACTION"
3629 msgstr "SIGACTION"
3630
3631 #. type: TH
3632 #: build/C/man2/sigaction.2:45
3633 #, fuzzy, no-wrap
3634 #| msgid "2011-09-09"
3635 msgid "2011-09-08"
3636 msgstr "2011-09-09"
3637
3638 #. type: Plain text
3639 #: build/C/man2/sigaction.2:48
3640 msgid "sigaction - examine and change a signal action"
3641 msgstr "sigaction - シグナルの動作の確認と変更"
3642
3643 #. type: Plain text
3644 #: build/C/man2/sigaction.2:54
3645 #, no-wrap
3646 msgid ""
3647 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3648 "B<              struct sigaction *>I<oldact>B<);>\n"
3649 msgstr ""
3650 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3651 "B<              struct sigaction *>I<oldact>B<);>\n"
3652
3653 #. type: Plain text
3654 #: build/C/man2/sigaction.2:64
3655 msgid ""
3656 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3657 "_POSIX_SOURCE"
3658 msgstr ""
3659 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3660 "_POSIX_SOURCE"
3661
3662 #. type: Plain text
3663 #: build/C/man2/sigaction.2:73
3664 msgid ""
3665 "The B<sigaction>()  system call is used to change the action taken by a "
3666 "process on receipt of a specific signal.  (See B<signal>(7)  for an overview "
3667 "of signals.)"
3668 msgstr ""
3669 "B<sigaction>()  システムコールは、特定のシグナルを受信した際の プロセスの動作"
3670 "を変更するのに使用される (シグナルの概要については B<signal>(7)  を参照)。"
3671
3672 #. type: Plain text
3673 #: build/C/man2/sigaction.2:79
3674 msgid ""
3675 "I<signum> specifies the signal and can be any valid signal except B<SIGKILL> "
3676 "and B<SIGSTOP>."
3677 msgstr ""
3678 "I<signum> には、 B<SIGKILL> と B<SIGSTOP> 以外の有効なシグナルをどれでも指定"
3679 "できる。"
3680
3681 #. type: Plain text
3682 #: build/C/man2/sigaction.2:90
3683 msgid ""
3684 "If I<act> is non-NULL, the new action for signal I<signum> is installed from "
3685 "I<act>.  If I<oldact> is non-NULL, the previous action is saved in I<oldact>."
3686 msgstr ""
3687 "I<act> が NULL 以外であれば、シグナル I<signum> の新しい動作 (action) として "
3688 "I<act> が設定される。 I<oldact> が NULL でなければ、今までの動作が I<oldact> "
3689 "に格納される。"
3690
3691 #. type: Plain text
3692 #: build/C/man2/sigaction.2:94
3693 msgid "The I<sigaction> structure is defined as something like:"
3694 msgstr "I<sigaction> 構造体は以下のような感じに定義される。"
3695
3696 #. type: Plain text
3697 #: build/C/man2/sigaction.2:104
3698 #, no-wrap
3699 msgid ""
3700 "struct sigaction {\n"
3701 "    void     (*sa_handler)(int);\n"
3702 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3703 "    sigset_t   sa_mask;\n"
3704 "    int        sa_flags;\n"
3705 "    void     (*sa_restorer)(void);\n"
3706 "};\n"
3707 msgstr ""
3708 "struct sigaction {\n"
3709 "    void     (*sa_handler)(int);\n"
3710 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3711 "    sigset_t   sa_mask;\n"
3712 "    int        sa_flags;\n"
3713 "    void     (*sa_restorer)(void);\n"
3714 "};\n"
3715
3716 #. type: Plain text
3717 #: build/C/man2/sigaction.2:111
3718 msgid ""
3719 "On some architectures a union is involved: do not assign to both "
3720 "I<sa_handler> and I<sa_sigaction>."
3721 msgstr ""
3722 "アーキテクチャによっては共用体 (union) が用いられており、その場合には "
3723 "I<sa_handler> と I<sa_sigaction> の両方を同時に割り当てることはできない。"
3724
3725 #. type: Plain text
3726 #: build/C/man2/sigaction.2:118
3727 msgid ""
3728 "The I<sa_restorer> element is obsolete and should not be used.  POSIX does "
3729 "not specify a I<sa_restorer> element."
3730 msgstr ""
3731 "I<sa_restorer> 要素は廃止予定であり使用すべきではない。 POSIX には "
3732 "I<sa_restorer> 要素に関する規定はない。"
3733
3734 #. type: Plain text
3735 #: build/C/man2/sigaction.2:128
3736 msgid ""
3737 "I<sa_handler> specifies the action to be associated with I<signum> and may "
3738 "be B<SIG_DFL> for the default action, B<SIG_IGN> to ignore this signal, or a "
3739 "pointer to a signal handling function.  This function receives the signal "
3740 "number as its only argument."
3741 msgstr ""
3742 "I<sa_handler> は I<signum> に対応する動作を指定するもので、 デフォルトの動作"
3743 "を行う B<SIG_DFL>、 そのシグナルを無視する B<SIG_IGN>、 シグナルハンドラ関数"
3744 "へのポインタが設定できる。 シグナルハンドラ関数の引き数は一つであり、シグナル"
3745 "番号が引き数として 渡される。"
3746
3747 #. type: Plain text
3748 #: build/C/man2/sigaction.2:150
3749 #, fuzzy
3750 #| msgid ""
3751 #| "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> "
3752 #| "(instead of I<sa_handler>)  specifies the signal-handling function for "
3753 #| "I<signum>.  This function receives the signal number as its first "
3754 #| "argument, a pointer to a I<siginfo_t> as its second argument and a "
3755 #| "pointer to a I<ucontext_t> (cast to I<void\\ *>) as its third argument."
3756 msgid ""
3757 "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> (instead "
3758 "of I<sa_handler>)  specifies the signal-handling function for I<signum>.  "
3759 "This function receives the signal number as its first argument, a pointer to "
3760 "a I<siginfo_t> as its second argument and a pointer to a I<ucontext_t> (cast "
3761 "to I<void\\ *>) as its third argument.  (Commonly, the handler function "
3762 "doesn't make any use of the third argument.  See B<getcontext>(2)  for "
3763 "further information about I<ucontext_t>.)"
3764 msgstr ""
3765 "I<sa_flags> に B<SA_SIGINFO> が指定された場合、 (I<sa_handler> ではなく)  "
3766 "I<sa_sigaction> により I<signum> に対応するシグナルハンドル関数が指定され"
3767 "る。 指定される関数は、最初の引き数としてシグナル番号を、 二番目の引き数とし"
3768 "て I<siginfo_t> へのポインタを、三番目の引き数として (I<void\\ *> にキャスト"
3769 "した)  I<ucontext_t> へのポインタを受けとる。"
3770
3771 #. type: Plain text
3772 #: build/C/man2/sigaction.2:160
3773 msgid ""
3774 "I<sa_mask> specifies a mask of signals which should be blocked (i.e., added "
3775 "to the signal mask of the thread in which the signal handler is invoked)  "
3776 "during execution of the signal handler.  In addition, the signal which "
3777 "triggered the handler will be blocked, unless the B<SA_NODEFER> flag is used."
3778 msgstr ""
3779 "I<sa_mask> は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスク"
3780 "を指定する (ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動された"
3781 "スレッド のシグナルのマスクに追加することで行われる)。 さらに、 "
3782 "B<SA_NODEFER> フラグが指定されていない場合は、ハンドラを起動するきっかけとな"
3783 "る シグナルにも I<sa_mask> が適用される。"
3784
3785 #. type: Plain text
3786 #: build/C/man2/sigaction.2:164
3787 msgid ""
3788 "I<sa_flags> specifies a set of flags which modify the behavior of the "
3789 "signal.  It is formed by the bitwise OR of zero or more of the following:"
3790 msgstr ""
3791 "I<sa_flags> はシグナル・ハンドラの動作を変更するためのフラグの集合を指定す"
3792 "る。 I<sa_flags> には、以下に示すフラグの (0 個以上の) 論理和をとったものを指"
3793 "定する。"
3794
3795 #. type: TP
3796 #: build/C/man2/sigaction.2:165
3797 #, no-wrap
3798 msgid "B<SA_NOCLDSTOP>"
3799 msgstr "B<SA_NOCLDSTOP>"
3800
3801 #. type: Plain text
3802 #: build/C/man2/sigaction.2:182
3803 msgid ""
3804 "If I<signum> is B<SIGCHLD>, do not receive notification when child processes "
3805 "stop (i.e., when they receive one of B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN> or "
3806 "B<SIGTTOU>)  or resume (i.e., they receive B<SIGCONT>)  (see B<wait>(2)).  "
3807 "This flag is only meaningful when establishing a handler for B<SIGCHLD>."
3808 msgstr ""
3809 "I<signum> が B<SIGCHLD> の場合、 子プロセスが停止したり (子プロセスが "
3810 "B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN>, B<SIGTTOU> を受けたとき) 再開したり (子プ"
3811 "ロセスが B<SIGCONT> を受けたとき) したときに B<SIGCHLD> の通知を受けない。 こ"
3812 "のフラグは、 B<SIGCHLD> に対してハンドラを設定する際にのみ意味を持つ。"
3813
3814 #. type: TP
3815 #: build/C/man2/sigaction.2:182
3816 #, fuzzy, no-wrap
3817 #| msgid "B<SA_NOCLDWAIT> (Since Linux 2.6)"
3818 msgid "B<SA_NOCLDWAIT> (since Linux 2.6)"
3819 msgstr "B<SA_NOCLDWAIT> (Linux 2.6 以降)"
3820
3821 #.  To be precise: Linux 2.5.60 -- MTK
3822 #. type: Plain text
3823 #: build/C/man2/sigaction.2:196
3824 msgid ""
3825 "If I<signum> is B<SIGCHLD>, do not transform children into zombies when they "
3826 "terminate.  See also B<waitpid>(2).  This flag is only meaningful when "
3827 "establishing a handler for B<SIGCHLD>, or when setting that signal's "
3828 "disposition to B<SIG_DFL>."
3829 msgstr ""
3830 "(Linux 2.6 以降)  I<signum> が B<SIGCHLD> の場合、子プロセスが終了したときに "
3831 "子プロセスをゾンビプロセスに変化させない (B<waitpid>(2)  も参照)。 このフラグ"
3832 "は、 B<SIGCHLD> に対してハンドラを設定する際、もしくはそのシグナルの処理方法"
3833 "を B<SIG_DFL> に設定する際にのみ意味を持つ。"
3834
3835 #. type: Plain text
3836 #: build/C/man2/sigaction.2:208
3837 msgid ""
3838 "If the B<SA_NOCLDWAIT> flag is set when establishing a handler for "
3839 "B<SIGCHLD>, POSIX.1 leaves it unspecified whether a B<SIGCHLD> signal is "
3840 "generated when a child process terminates.  On Linux, a B<SIGCHLD> signal is "
3841 "generated in this case; on some other implementations, it is not."
3842 msgstr ""
3843 "B<SIGCHLD> に対してハンドラを設定する際に B<SA_NOCLDWAIT> フラグをセットした"
3844 "場合、 子プロセスが終了した際に B<SIGCHLD> シグナルが生成されるかどうかは、 "
3845 "POSIX.1 では規定されていない。 Linux では、この状況で B<SIGCHLD> シグナルは生"
3846 "成される。 いくつかの他の実装では生成されない。"
3847
3848 #. type: TP
3849 #: build/C/man2/sigaction.2:208
3850 #, no-wrap
3851 msgid "B<SA_NODEFER>"
3852 msgstr "B<SA_NODEFER>"
3853
3854 #. type: Plain text
3855 #: build/C/man2/sigaction.2:215
3856 msgid ""
3857 "Do not prevent the signal from being received from within its own signal "
3858 "handler.  This flag is only meaningful when establishing a signal handler.  "
3859 "B<SA_NOMASK> is an obsolete, nonstandard synonym for this flag."
3860 msgstr ""
3861 "それ自身のシグナル・ハンドラーの内部にいる時でも そのシグナルをマスクしないよ"
3862 "うにする。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。 "
3863 "B<SA_NOMASK> はこのフラグと同じ意味だが、廃止されており、非標準である。"
3864
3865 #. type: TP
3866 #: build/C/man2/sigaction.2:215
3867 #, no-wrap
3868 msgid "B<SA_ONSTACK>"
3869 msgstr "B<SA_ONSTACK>"
3870
3871 #. type: Plain text
3872 #: build/C/man2/sigaction.2:221
3873 msgid ""
3874 "Call the signal handler on an alternate signal stack provided by "
3875 "B<sigaltstack>(2).  If an alternate stack is not available, the default "
3876 "stack will be used.  This flag is only meaningful when establishing a signal "
3877 "handler."
3878 msgstr ""
3879 "B<sigaltstack>(2)  で提供される別のシグナル・スタックでシグナルハンドラを呼び"
3880 "出す。 別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが 使"
3881 "用される。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。"
3882
3883 #. type: TP
3884 #: build/C/man2/sigaction.2:221
3885 #, no-wrap
3886 msgid "B<SA_RESETHAND>"
3887 msgstr "B<SA_RESETHAND>"
3888
3889 #. type: Plain text
3890 #: build/C/man2/sigaction.2:228
3891 msgid ""
3892 "Restore the signal action to the default state once the signal handler has "
3893 "been called.  This flag is only meaningful when establishing a signal "
3894 "handler.  B<SA_ONESHOT> is an obsolete, nonstandard synonym for this flag."
3895 msgstr ""
3896 "シグナルハンドラが呼ばれる度に、シグナルの動作をデフォルトに戻す。 このフラグ"
3897 "はシグナルハンドラを設定する際にのみ意味を持つ。 B<SA_ONESHOT> はこのフラグと"
3898 "同じ意味だが、廃止されており、非標準である。"
3899
3900 #. type: TP
3901 #: build/C/man2/sigaction.2:228
3902 #, no-wrap
3903 msgid "B<SA_RESTART>"
3904 msgstr "B<SA_RESTART>"
3905
3906 #. type: Plain text
3907 #: build/C/man2/sigaction.2:236
3908 msgid ""
3909 "Provide behavior compatible with BSD signal semantics by making certain "
3910 "system calls restartable across signals.  This flag is only meaningful when "
3911 "establishing a signal handler.  See B<signal>(7)  for a discussion of system "
3912 "call restarting."
3913 msgstr ""
3914 "いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、 BSD シ"
3915 "グナル方式 (semantics) と互換性のある動作を提供する。 このフラグはシグナルハ"
3916 "ンドラを設定する際にのみ意味を持つ。 B<signal>(7)  に書かれているシステムコー"
3917 "ルの再開に関する議論を参照のこと。"
3918
3919 #. type: TP
3920 #: build/C/man2/sigaction.2:236
3921 #, no-wrap
3922 msgid "B<SA_SIGINFO> (since Linux 2.2)"
3923 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
3924
3925 #.  (The
3926 #.  .I sa_sigaction
3927 #.  field was added in Linux 2.1.86.)
3928 #. type: Plain text
3929 #: build/C/man2/sigaction.2:247
3930 msgid ""
3931 "The signal handler takes 3 arguments, not one.  In this case, "
3932 "I<sa_sigaction> should be set instead of I<sa_handler>.  This flag is only "
3933 "meaningful when establishing a signal handler."
3934 msgstr ""
3935 "シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は I<sa_handler> "
3936 "のかわりに I<sa_sigaction> を設定しなければならない このフラグはシグナルハン"
3937 "ドラを設定する際にのみ意味を持つ。"
3938
3939 #. type: Plain text
3940 #: build/C/man2/sigaction.2:254
3941 msgid ""
3942 "The I<siginfo_t> argument to I<sa_sigaction> is a struct with the following "
3943 "elements:"
3944 msgstr ""
3945 "I<sa_sigaction> のパラメータ I<siginfo_t> は以下の要素を持つ構造体である:"
3946
3947 #.  FIXME
3948 #.  si_trapno seems to be only used on SPARC and Alpha;
3949 #.  this page could use a little more detail on its purpose there.
3950 #.  In the kernel: si_tid
3951 #. type: Plain text
3952 #: build/C/man2/sigaction.2:285
3953 #, fuzzy, no-wrap
3954 #| msgid ""
3955 #| "siginfo_t {\n"
3956 #| "    int      si_signo;    /* Signal number */\n"
3957 #| "    int      si_errno;    /* An errno value */\n"
3958 #| "    int      si_code;     /* Signal code */\n"
3959 #| "    int      si_trapno;   /* Trap number that caused\n"
3960 #| "                             hardware-generated signal\n"
3961 #| "                             (unused on most architectures) */\n"
3962 #| "    pid_t    si_pid;      /* Sending process ID */\n"
3963 #| "    uid_t    si_uid;      /* Real user ID of sending process */\n"
3964 #| "    int      si_status;   /* Exit value or signal */\n"
3965 #| "    clock_t  si_utime;    /* User time consumed */\n"
3966 #| "    clock_t  si_stime;    /* System time consumed */\n"
3967 #| "    sigval_t si_value;    /* Signal value */\n"
3968 #| "    int      si_int;      /* POSIX.1b signal */\n"
3969 #| "    void    *si_ptr;      /* POSIX.1b signal */\n"
3970 #| "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
3971 #| "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
3972 #| "    void    *si_addr;     /* Memory location which caused fault */\n"
3973 #| "    int      si_band;     /* Band event */\n"
3974 #| "    int      si_fd;       /* File descriptor */\n"
3975 #| "}\n"
3976 msgid ""
3977 "siginfo_t {\n"
3978 "    int      si_signo;    /* Signal number */\n"
3979 "    int      si_errno;    /* An errno value */\n"
3980 "    int      si_code;     /* Signal code */\n"
3981 "    int      si_trapno;   /* Trap number that caused\n"
3982 "                             hardware-generated signal\n"
3983 "                             (unused on most architectures) */\n"
3984 "    pid_t    si_pid;      /* Sending process ID */\n"
3985 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
3986 "    int      si_status;   /* Exit value or signal */\n"
3987 "    clock_t  si_utime;    /* User time consumed */\n"
3988 "    clock_t  si_stime;    /* System time consumed */\n"
3989 "    sigval_t si_value;    /* Signal value */\n"
3990 "    int      si_int;      /* POSIX.1b signal */\n"
3991 "    void    *si_ptr;      /* POSIX.1b signal */\n"
3992 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
3993 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
3994 "    void    *si_addr;     /* Memory location which caused fault */\n"
3995 "    long     si_band;     /* Band event (was I<int> in\n"
3996 "                             glibc 2.3.2 and earlier) */\n"
3997 "    int      si_fd;       /* File descriptor */\n"
3998 "    short    si_addr_lsb; /* Least significant bit of address\n"
3999 "                             (since kernel 2.6.32) */\n"
4000 "}\n"
4001 msgstr ""
4002 "siginfo_t {\n"
4003 "    int      si_signo;    /* Signal number */\n"
4004 "    int      si_errno;    /* An errno value */\n"
4005 "    int      si_code;     /* Signal code */\n"
4006 "    int      si_trapno;   /* Trap number that caused\n"
4007 "                             hardware-generated signal\n"
4008 "                             (unused on most architectures) */\n"
4009 "    pid_t    si_pid;      /* Sending process ID */\n"
4010 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4011 "    int      si_status;   /* Exit value or signal */\n"
4012 "    clock_t  si_utime;    /* User time consumed */\n"
4013 "    clock_t  si_stime;    /* System time consumed */\n"
4014 "    sigval_t si_value;    /* Signal value */\n"
4015 "    int      si_int;      /* POSIX.1b signal */\n"
4016 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4017 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4018 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4019 "    void    *si_addr;     /* Memory location which caused fault */\n"
4020 "    int      si_band;     /* Band event */\n"
4021 "    int      si_fd;       /* File descriptor */\n"
4022 "}\n"
4023
4024 #. type: Plain text
4025 #: build/C/man2/sigaction.2:294
4026 msgid ""
4027 "I<si_signo>, I<si_errno> and I<si_code> are defined for all signals.  "
4028 "(I<si_errno> is generally unused on Linux.)  The rest of the struct may be a "
4029 "union, so that one should only read the fields that are meaningful for the "
4030 "given signal:"
4031 msgstr ""
4032 "I<si_signo>, I<si_errno>, I<si_code> は全てのシグナルに対して定義されている "
4033 "(I<si_errno> は Linux では一般的には使用されない)。 構造体の残りの部分は、共"
4034 "用体 (union) になっているかもしれない。 その場合は該当するシグナルにおいて意"
4035 "味のあるフィールドのみを読み込む ことができる。"
4036
4037 #. type: Plain text
4038 #: build/C/man2/sigaction.2:309
4039 msgid ""
4040 "Signals sent with B<kill>(2)  and B<sigqueue>(3)  fill in I<si_pid> and "
4041 "I<si_uid>.  In addition, signals sent with B<sigqueue>(3)  fill in I<si_int> "
4042 "and I<si_ptr> with the values specified by the sender of the signal; see "
4043 "B<sigqueue>(3)  for more details."
4044 msgstr ""
4045
4046 #. type: Plain text
4047 #: build/C/man2/sigaction.2:325
4048 #, fuzzy
4049 #| msgid ""
4050 #| "POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4051 #| "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the "
4052 #| "kernel to identify the timer; it is not the same as the timer ID returned "
4053 #| "by B<timer_create>(2)."
4054 msgid ""
4055 "Signals sent by POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4056 "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the kernel "
4057 "to identify the timer; it is not the same as the timer ID returned by "
4058 "B<timer_create>(2).  The I<si_overrun> field is the timer overrun count; "
4059 "this is the same information as is obtained by a call to B<timer_getoverrun>"
4060 "(2).  These fields are nonstandard Linux extensions."
4061 msgstr ""
4062 "POSIX.1b タイマ (Linux 2.6 以降) は I<si_overrun> と I<si_timerid> を設定す"
4063 "る。 I<si_timerid> フィールドはカーネルがタイマを特定するのに使用する内部 ID "
4064 "であり、 B<timer_create>(2)  が返すタイマ ID と同じではない。"
4065
4066 #. type: Plain text
4067 #: build/C/man2/sigaction.2:340
4068 msgid ""
4069 "Signals sent for message queue notification (see the description of "
4070 "B<SIGEV_SIGNAL> in B<mq_notify>(3))  fill in I<si_int>/I<si_ptr>, with the "
4071 "I<sigev_value> supplied to B<mq_notify>(3); I<si_pid>, with the process ID "
4072 "of the message sender; and I<si_uid>, with the real user ID of the message "
4073 "sender."
4074 msgstr ""
4075
4076 #.  FIXME .
4077 #.  When si_utime and si_stime where originally implemented, the
4078 #.  measurement unit was HZ, which was the same as clock ticks
4079 #.  (sysconf(_SC_CLK_TCK)).  In 2.6, HZ became configurable, and
4080 #.  was *still* used as the unit to return the info these fields,
4081 #.  with the result that the field values depended on the the
4082 #.  configured HZ.  Of course, the should have been measured in
4083 #.  USER_HZ instead, so that sysconf(_SC_CLK_TCK) could be used to
4084 #.  convert to seconds.  I have a queued patch to fix this:
4085 #.  http://thread.gmane.org/gmane.linux.kernel/698061/ .
4086 #.  This patch made it into 2.6.27.
4087 #.  But note that these fields still don't return the times of
4088 #.  waited-for children (as is done by getrusage() and times()
4089 #.  and wait4()).  Solaris 8 does include child times.
4090 #. type: Plain text
4091 #: build/C/man2/sigaction.2:387
4092 #, fuzzy
4093 #| msgid ""
4094 #| "B<SIGCHLD> fills in I<si_status>, I<si_utime> and I<si_stime>.  The "
4095 #| "I<si_utime> and I<si_stime> fields do not include the times used by "
4096 #| "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels "
4097 #| "up to 2.6, and since 2.6.27, these fields report CPU time in units of "
4098 #| "I<sysconf(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that "
4099 #| "these fields reported time in units of the (configurable) system jiffy "
4100 #| "(see B<time>(7))."
4101 msgid ""
4102 "B<SIGCHLD> fills in I<si_pid>, I<si_uid>, I<si_status>, I<si_utime> and "
4103 "I<si_stime>, providing information about the child.  The I<si_pid> field is "
4104 "the process ID of the child; I<si_uid> is the child's real user ID.  The "
4105 "I<si_status> field contains the exit status of the child (if I<si_code> is "
4106 "B<CLD_EXITED>), or the signal number that caused the process to change "
4107 "state.  The I<si_utime> and I<si_stime> contain the user and system CPU time "
4108 "used by the child process; these fields do not include the times used by "
4109 "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels up "
4110 "to 2.6, and since 2.6.27, these fields report CPU time in units of I<sysconf"
4111 "(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that these fields "
4112 "reported time in units of the (configurable) system jiffy (see B<time>(7))."
4113 msgstr ""
4114 "B<SIGCHLD> は I<si_status>, I<si_utime>, I<si_stime> を設定する。 "
4115 "(B<getrusage>(2)  や B<time>(2)  と異なり) フィールド I<si_utime> と "
4116 "I<si_stime> には wait 待ちの子プロセスにより使用された時間は含まれない。 2.6 "
4117 "より前と 2.6.27 以降のカーネルでは、 これらのフィールドに格納される CPU 時間"
4118 "の単位は I<sysconf(_SC_CLK_TCK)> である。 2.6.27 より前の 2.6 系のカーネルで"
4119 "は、バグがあり、 これらのフィールドの CPU 時間の単位が (カーネルのコンフィグ"
4120 "で指定される) システムの jiffy であった (B<time>(7)  参照)。"
4121
4122 #.  FIXME SIGTRAP also sets the following for ptrace_notify() ?
4123 #.      info.si_code = exit_code;
4124 #.      info.si_pid = task_pid_vnr(current);
4125 #.      info.si_uid = current_uid();  /* Real UID */
4126 #. type: Plain text
4127 #: build/C/man2/sigaction.2:423
4128 msgid ""
4129 "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS>, and B<SIGTRAP> fill in "
4130 "I<si_addr> with the address of the fault.  On some architectures, these "
4131 "signals also fill in the I<si_trapno> filed.  Some suberrors of B<SIGBUS>, "
4132 "in particular B<BUS_MCEERR_AO> and B<BUS_MCEERR_AR>, also fill in "
4133 "I<si_addr_lsb>.  This field indicates the least significant bit of the "
4134 "reported address and therefore the extent of the corruption.  For example, "
4135 "if a full page was corrupted, I<si_addr_lsb> contains I<log2(sysconf"
4136 "(_SC_PAGESIZE))>.  B<BUS_MCERR_*> and I<si_addr_lsb> are Linux-specific "
4137 "extensions."
4138 msgstr ""
4139
4140 #. type: Plain text
4141 #: build/C/man2/sigaction.2:436
4142 msgid ""
4143 "B<SIGPOLL>/B<SIGIO> fills in I<si_band> and I<si_fd>.  The I<si_band> event "
4144 "is a bit mask containing the same values as are filled in the I<revents> "
4145 "field by B<poll>(2).  The I<si_fd> field indicates the file descriptor for "
4146 "which the I/O event occurred."
4147 msgstr ""
4148
4149 #. type: Plain text
4150 #: build/C/man2/sigaction.2:443
4151 msgid ""
4152 "I<si_code> is a value (not a bit mask)  indicating why this signal was "
4153 "sent.  The following list shows the values which can be placed in I<si_code> "
4154 "for any signal, along with reason that the signal was generated."
4155 msgstr ""
4156 "I<si_code> は、そのシグナルが送信された理由を示す値である (ビットマスクではな"
4157 "い)。 以下のリストに、どのシグナルの場合でも I<si_code> に入りうる値を、シグ"
4158 "ナルが生成された理由とともに記載する。"
4159
4160 #. type: TP
4161 #: build/C/man2/sigaction.2:444
4162 #, no-wrap
4163 msgid "B<SI_USER>"
4164 msgstr "B<SI_USER>"
4165
4166 #. type: Plain text
4167 #: build/C/man2/sigaction.2:449
4168 msgid "B<kill>(2)  or B<raise>(3)"
4169 msgstr "B<kill>(2)  または B<raise>(3)"
4170
4171 #. type: TP
4172 #: build/C/man2/sigaction.2:449
4173 #, no-wrap
4174 msgid "B<SI_KERNEL>"
4175 msgstr "B<SI_KERNEL>"
4176
4177 #. type: Plain text
4178 #: build/C/man2/sigaction.2:452
4179 msgid "Sent by the kernel."
4180 msgstr "カーネルにより送信された"
4181
4182 #. type: TP
4183 #: build/C/man2/sigaction.2:452
4184 #, no-wrap
4185 msgid "B<SI_QUEUE>"
4186 msgstr "B<SI_QUEUE>"
4187
4188 #. type: TP
4189 #: build/C/man2/sigaction.2:455 build/C/man7/signal.7:126
4190 #, no-wrap
4191 msgid "B<sigqueue>(3)"
4192 msgstr "B<sigqueue>(3)"
4193
4194 #. type: TP
4195 #: build/C/man2/sigaction.2:455
4196 #, no-wrap
4197 msgid "B<SI_TIMER>"
4198 msgstr "B<SI_TIMER>"
4199
4200 #. type: Plain text
4201 #: build/C/man2/sigaction.2:458
4202 msgid "POSIX timer expired"
4203 msgstr "POSIX タイマが満了した"
4204
4205 #. type: TP
4206 #: build/C/man2/sigaction.2:458
4207 #, no-wrap
4208 msgid "B<SI_MESGQ>"
4209 msgstr "B<SI_MESGQ>"
4210
4211 #. type: Plain text
4212 #: build/C/man2/sigaction.2:462
4213 msgid ""
4214 "POSIX message queue state changed (since Linux 2.6.6); see B<mq_notify>(3)"
4215 msgstr ""
4216 "POSIX メッセージキューの状態が変化した (Linux 2.6.6 以降)。 B<mq_notify>(3)B<"
4217 "参照。>"
4218
4219 #. type: TP
4220 #: build/C/man2/sigaction.2:462
4221 #, no-wrap
4222 msgid "B<SI_ASYNCIO>"
4223 msgstr "B<SI_ASYNCIO>"
4224
4225 #. type: Plain text
4226 #: build/C/man2/sigaction.2:465
4227 msgid "AIO completed"
4228 msgstr "非同期 IO (AIO) が完了した"
4229
4230 #. type: TP
4231 #: build/C/man2/sigaction.2:465
4232 #, no-wrap
4233 msgid "B<SI_SIGIO>"
4234 msgstr "B<SI_SIGIO>"
4235
4236 #. type: Plain text
4237 #: build/C/man2/sigaction.2:468
4238 msgid "queued SIGIO"
4239 msgstr "キューイングされた SIGIO"
4240
4241 #. type: TP
4242 #: build/C/man2/sigaction.2:468
4243 #, no-wrap
4244 msgid "B<SI_TKILL>"
4245 msgstr "B<SI_TKILL>"
4246
4247 #.  SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
4248 #.  It appears to have been an idea that was tried during 2.5.6
4249 #.  through to 2.5.24 and then was backed out.
4250 #. type: Plain text
4251 #: build/C/man2/sigaction.2:477
4252 msgid "B<tkill>(2)  or B<tgkill>(2)  (since Linux 2.4.19)"
4253 msgstr "B<tkill>(2)  または B<tgkill>(2)  (Linux 2.4.19 以降)"
4254
4255 #. type: Plain text
4256 #: build/C/man2/sigaction.2:484
4257 msgid ""
4258 "The following values can be placed in I<si_code> for a B<SIGILL> signal:"
4259 msgstr "B<SIGILL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4260
4261 #. type: TP
4262 #: build/C/man2/sigaction.2:485
4263 #, no-wrap
4264 msgid "B<ILL_ILLOPC>"
4265 msgstr "B<ILL_ILLOPC>"
4266
4267 #. type: Plain text
4268 #: build/C/man2/sigaction.2:488
4269 msgid "illegal opcode"
4270 msgstr "不正な命令コード (opcode)"
4271
4272 #. type: TP
4273 #: build/C/man2/sigaction.2:488
4274 #, no-wrap
4275 msgid "B<ILL_ILLOPN>"
4276 msgstr "B<ILL_ILLOPN>"
4277
4278 #. type: Plain text
4279 #: build/C/man2/sigaction.2:491
4280 msgid "illegal operand"
4281 msgstr "不正なオペランド"
4282
4283 #. type: TP
4284 #: build/C/man2/sigaction.2:491
4285 #, no-wrap
4286 msgid "B<ILL_ILLADR>"
4287 msgstr "B<ILL_ILLADR>"
4288
4289 #. type: Plain text
4290 #: build/C/man2/sigaction.2:494
4291 msgid "illegal addressing mode"
4292 msgstr "不正なアドレッシングモード"
4293
4294 #. type: TP
4295 #: build/C/man2/sigaction.2:494
4296 #, no-wrap
4297 msgid "B<ILL_ILLTRP>"
4298 msgstr "B<ILL_ILLTRP>"
4299
4300 #. type: Plain text
4301 #: build/C/man2/sigaction.2:497
4302 msgid "illegal trap"
4303 msgstr "不正なトラップ"
4304
4305 #. type: TP
4306 #: build/C/man2/sigaction.2:497
4307 #, no-wrap
4308 msgid "B<ILL_PRVOPC>"
4309 msgstr "B<ILL_PRVOPC>"
4310
4311 #. type: Plain text
4312 #: build/C/man2/sigaction.2:500
4313 msgid "privileged opcode"
4314 msgstr "特権が必要な命令コード (opcode)"
4315
4316 #. type: TP
4317 #: build/C/man2/sigaction.2:500
4318 #, no-wrap
4319 msgid "B<ILL_PRVREG>"
4320 msgstr "B<ILL_PRVREG>"
4321
4322 #. type: Plain text
4323 #: build/C/man2/sigaction.2:503
4324 msgid "privileged register"
4325 msgstr "特権が必要なレジスタ"
4326
4327 #. type: TP
4328 #: build/C/man2/sigaction.2:503
4329 #, no-wrap
4330 msgid "B<ILL_COPROC>"
4331 msgstr "B<ILL_COPROC>"
4332
4333 #. type: Plain text
4334 #: build/C/man2/sigaction.2:506
4335 msgid "coprocessor error"
4336 msgstr "コプロセッサのエラー"
4337
4338 #. type: TP
4339 #: build/C/man2/sigaction.2:506
4340 #, no-wrap
4341 msgid "B<ILL_BADSTK>"
4342 msgstr "B<ILL_BADSTK>"
4343
4344 #. type: Plain text
4345 #: build/C/man2/sigaction.2:509
4346 msgid "internal stack error"
4347 msgstr "内部スタックエラー"
4348
4349 #. type: Plain text
4350 #: build/C/man2/sigaction.2:516
4351 msgid ""
4352 "The following values can be placed in I<si_code> for a B<SIGFPE> signal:"
4353 msgstr "B<SIGFPE> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4354
4355 #. type: TP
4356 #: build/C/man2/sigaction.2:517
4357 #, no-wrap
4358 msgid "B<FPE_INTDIV>"
4359 msgstr "B<FPE_INTDIV>"
4360
4361 #. type: Plain text
4362 #: build/C/man2/sigaction.2:520
4363 msgid "integer divide by zero"
4364 msgstr "整数の 0 による除算"
4365
4366 #. type: TP
4367 #: build/C/man2/sigaction.2:520
4368 #, no-wrap
4369 msgid "B<FPE_INTOVF>"
4370 msgstr "B<FPE_INTOVF>"
4371
4372 #. type: Plain text
4373 #: build/C/man2/sigaction.2:523
4374 msgid "integer overflow"
4375 msgstr "整数のオーバーフロー"
4376
4377 #. type: TP
4378 #: build/C/man2/sigaction.2:523
4379 #, no-wrap
4380 msgid "B<FPE_FLTDIV>"
4381 msgstr "B<FPE_FLTDIV>"
4382
4383 #. type: Plain text
4384 #: build/C/man2/sigaction.2:526
4385 msgid "floating-point divide by zero"
4386 msgstr "浮動小数点の 0 による除算"
4387
4388 #. type: TP
4389 #: build/C/man2/sigaction.2:526
4390 #, no-wrap
4391 msgid "B<FPE_FLTOVF>"
4392 msgstr "B<FPE_FLTOVF>"
4393
4394 #. type: Plain text
4395 #: build/C/man2/sigaction.2:529
4396 msgid "floating-point overflow"
4397 msgstr "浮動小数点のオーバーフロー"
4398
4399 #. type: TP
4400 #: build/C/man2/sigaction.2:529
4401 #, no-wrap
4402 msgid "B<FPE_FLTUND>"
4403 msgstr "B<FPE_FLTUND>"
4404
4405 #. type: Plain text
4406 #: build/C/man2/sigaction.2:532
4407 msgid "floating-point underflow"
4408 msgstr "浮動小数点のアンダーフロー"
4409
4410 #. type: TP
4411 #: build/C/man2/sigaction.2:532
4412 #, no-wrap
4413 msgid "B<FPE_FLTRES>"
4414 msgstr "B<FPE_FLTRES>"
4415
4416 #. type: Plain text
4417 #: build/C/man2/sigaction.2:535
4418 msgid "floating-point inexact result"
4419 msgstr "浮動小数点の不正確な演算結果 (inexact result)"
4420
4421 #. type: TP
4422 #: build/C/man2/sigaction.2:535
4423 #, no-wrap
4424 msgid "B<FPE_FLTINV>"
4425 msgstr "B<FPE_FLTINV>"
4426
4427 #. type: Plain text
4428 #: build/C/man2/sigaction.2:538
4429 msgid "floating-point invalid operation"
4430 msgstr "浮動小数点の不正な操作"
4431
4432 #. type: TP
4433 #: build/C/man2/sigaction.2:538
4434 #, no-wrap
4435 msgid "B<FPE_FLTSUB>"
4436 msgstr "B<FPE_FLTSUB>"
4437
4438 #. type: Plain text
4439 #: build/C/man2/sigaction.2:541
4440 msgid "subscript out of range"
4441 msgstr "範囲外の添字 (subscript)"
4442
4443 #. type: Plain text
4444 #: build/C/man2/sigaction.2:548
4445 msgid ""
4446 "The following values can be placed in I<si_code> for a B<SIGSEGV> signal:"
4447 msgstr "B<SIGSEGV> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4448
4449 #. type: TP
4450 #: build/C/man2/sigaction.2:549
4451 #, no-wrap
4452 msgid "B<SEGV_MAPERR>"
4453 msgstr "B<SEGV_MAPERR>"
4454
4455 #. type: Plain text
4456 #: build/C/man2/sigaction.2:552
4457 msgid "address not mapped to object"
4458 msgstr "オブジェクトにマッピングされていないアドレス"
4459
4460 #. type: TP
4461 #: build/C/man2/sigaction.2:552
4462 #, no-wrap
4463 msgid "B<SEGV_ACCERR>"
4464 msgstr "B<SEGV_ACCERR>"
4465
4466 #. type: Plain text
4467 #: build/C/man2/sigaction.2:555
4468 msgid "invalid permissions for mapped object"
4469 msgstr "マッピングされたオブジェクトに対するアクセス許可がない"
4470
4471 #. type: Plain text
4472 #: build/C/man2/sigaction.2:562
4473 msgid ""
4474 "The following values can be placed in I<si_code> for a B<SIGBUS> signal:"
4475 msgstr "B<SIGBUS> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4476
4477 #. type: TP
4478 #: build/C/man2/sigaction.2:563
4479 #, no-wrap
4480 msgid "B<BUS_ADRALN>"
4481 msgstr "B<BUS_ADRALN>"
4482
4483 #. type: Plain text
4484 #: build/C/man2/sigaction.2:566
4485 msgid "invalid address alignment"
4486 msgstr "不正なアドレス・アライメント (alignment)"
4487
4488 #. type: TP
4489 #: build/C/man2/sigaction.2:566
4490 #, no-wrap
4491 msgid "B<BUS_ADRERR>"
4492 msgstr "B<BUS_ADRERR>"
4493
4494 #. type: Plain text
4495 #: build/C/man2/sigaction.2:569
4496 msgid "nonexistent physical address"
4497 msgstr "存在しない物理アドレス"
4498
4499 #. type: TP
4500 #: build/C/man2/sigaction.2:569
4501 #, no-wrap
4502 msgid "B<BUS_OBJERR>"
4503 msgstr "B<BUS_OBJERR>"
4504
4505 #. type: Plain text
4506 #: build/C/man2/sigaction.2:572
4507 msgid "object-specific hardware error"
4508 msgstr "オブジェクト固有のハードウェアエラー"
4509
4510 #. type: TP
4511 #: build/C/man2/sigaction.2:572
4512 #, fuzzy, no-wrap
4513 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4514 msgid "B<BUS_MCEERR_AR> (since Linux 2.6.32)"
4515 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4516
4517 #. type: Plain text
4518 #: build/C/man2/sigaction.2:575
4519 msgid "Hardware memory error consumed on a machine check; action required."
4520 msgstr ""
4521
4522 #. type: TP
4523 #: build/C/man2/sigaction.2:575
4524 #, fuzzy, no-wrap
4525 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4526 msgid "B<BUS_MCEERR_AO> (since Linux 2.6.32)"
4527 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4528
4529 #. type: Plain text
4530 #: build/C/man2/sigaction.2:578
4531 msgid ""
4532 "Hardware memory error detected in process but not consumed; action optional."
4533 msgstr ""
4534
4535 #. type: Plain text
4536 #: build/C/man2/sigaction.2:585
4537 msgid ""
4538 "The following values can be placed in I<si_code> for a B<SIGTRAP> signal:"
4539 msgstr "B<SIGTRAP> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4540
4541 #. type: TP
4542 #: build/C/man2/sigaction.2:586
4543 #, no-wrap
4544 msgid "B<TRAP_BRKPT>"
4545 msgstr "B<TRAP_BRKPT>"
4546
4547 #. type: Plain text
4548 #: build/C/man2/sigaction.2:589
4549 msgid "process breakpoint"
4550 msgstr "プロセスのブレークポイント"
4551
4552 #. type: TP
4553 #: build/C/man2/sigaction.2:589
4554 #, no-wrap
4555 msgid "B<TRAP_TRACE>"
4556 msgstr "B<TRAP_TRACE>"
4557
4558 #. type: Plain text
4559 #: build/C/man2/sigaction.2:592
4560 msgid "process trace trap"
4561 msgstr "プロセスのトレース・トラップ"
4562
4563 #. type: TP
4564 #: build/C/man2/sigaction.2:592
4565 #, fuzzy, no-wrap
4566 #| msgid "B<__WALL> (since Linux 2.4)"
4567 msgid "B<TRAP_BRANCH> (since Linux 2.4)"
4568 msgstr "B<__WALL> (Linux 2.4 以降)"
4569
4570 #. type: Plain text
4571 #: build/C/man2/sigaction.2:595
4572 #, fuzzy
4573 #| msgid "process trace trap"
4574 msgid "process taken branch trap"
4575 msgstr "プロセスのトレース・トラップ"
4576
4577 #. type: TP
4578 #: build/C/man2/sigaction.2:595
4579 #, fuzzy, no-wrap
4580 #| msgid "B<__WALL> (since Linux 2.4)"
4581 msgid "B<TRAP_HWBKPT> (since Linux 2.4)"
4582 msgstr "B<__WALL> (Linux 2.4 以降)"
4583
4584 #. type: Plain text
4585 #: build/C/man2/sigaction.2:598
4586 msgid "hardware breakpoint/watchpoint"
4587 msgstr ""
4588
4589 #. type: Plain text
4590 #: build/C/man2/sigaction.2:605
4591 msgid ""
4592 "The following values can be placed in I<si_code> for a B<SIGCHLD> signal:"
4593 msgstr "B<SIGCHLD> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4594
4595 #. type: TP
4596 #: build/C/man2/sigaction.2:606
4597 #, no-wrap
4598 msgid "B<CLD_EXITED>"
4599 msgstr "B<CLD_EXITED>"
4600
4601 #. type: Plain text
4602 #: build/C/man2/sigaction.2:609
4603 msgid "child has exited"
4604 msgstr "子プロセスが終了した (exited)"
4605
4606 #. type: TP
4607 #: build/C/man2/sigaction.2:609
4608 #, no-wrap
4609 msgid "B<CLD_KILLED>"
4610 msgstr "B<CLD_KILLED>"
4611
4612 #. type: Plain text
4613 #: build/C/man2/sigaction.2:612
4614 msgid "child was killed"
4615 msgstr "子プロセスが kill された"
4616
4617 #. type: TP
4618 #: build/C/man2/sigaction.2:612
4619 #, no-wrap
4620 msgid "B<CLD_DUMPED>"
4621 msgstr "B<CLD_DUMPED>"
4622
4623 #. type: Plain text
4624 #: build/C/man2/sigaction.2:615
4625 msgid "child terminated abnormally"
4626 msgstr "子プロセスが異常終了した"
4627
4628 #. type: TP
4629 #: build/C/man2/sigaction.2:615
4630 #, no-wrap
4631 msgid "B<CLD_TRAPPED>"
4632 msgstr "B<CLD_TRAPPED>"
4633
4634 #. type: Plain text
4635 #: build/C/man2/sigaction.2:618
4636 msgid "traced child has trapped"
4637 msgstr "トレース対象の子プロセスがトラップを上げた"
4638
4639 #. type: TP
4640 #: build/C/man2/sigaction.2:618
4641 #, no-wrap
4642 msgid "B<CLD_STOPPED>"
4643 msgstr "B<CLD_STOPPED>"
4644
4645 #. type: Plain text
4646 #: build/C/man2/sigaction.2:621
4647 msgid "child has stopped"
4648 msgstr "子プロセスが停止 (stop) した"
4649
4650 #. type: TP
4651 #: build/C/man2/sigaction.2:621
4652 #, no-wrap
4653 msgid "B<CLD_CONTINUED>"
4654 msgstr "B<CLD_CONTINUED>"
4655
4656 #. type: Plain text
4657 #: build/C/man2/sigaction.2:624
4658 msgid "stopped child has continued (since Linux 2.6.9)"
4659 msgstr "停止していた子プロセスが再開した (Linux 2.6.9 以降)"
4660
4661 #. type: Plain text
4662 #: build/C/man2/sigaction.2:631
4663 msgid ""
4664 "The following values can be placed in I<si_code> for a B<SIGPOLL> signal:"
4665 msgstr "B<SIGPOLL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4666
4667 #. type: TP
4668 #: build/C/man2/sigaction.2:632
4669 #, no-wrap
4670 msgid "B<POLL_IN>"
4671 msgstr "B<POLL_IN>"
4672
4673 #. type: Plain text
4674 #: build/C/man2/sigaction.2:635
4675 msgid "data input available"
4676 msgstr "入力データが利用可能"
4677
4678 #. type: TP
4679 #: build/C/man2/sigaction.2:635
4680 #, no-wrap
4681 msgid "B<POLL_OUT>"
4682 msgstr "B<POLL_OUT>"
4683
4684 #. type: Plain text
4685 #: build/C/man2/sigaction.2:638
4686 msgid "output buffers available"
4687 msgstr "出力バッファが利用可能"
4688
4689 #. type: TP
4690 #: build/C/man2/sigaction.2:638
4691 #, no-wrap
4692 msgid "B<POLL_MSG>"
4693 msgstr "B<POLL_MSG>"
4694
4695 #. type: Plain text
4696 #: build/C/man2/sigaction.2:641
4697 msgid "input message available"
4698 msgstr "入力メッセージが利用可能"
4699
4700 #. type: TP
4701 #: build/C/man2/sigaction.2:641
4702 #, no-wrap
4703 msgid "B<POLL_ERR>"
4704 msgstr "B<POLL_ERR>"
4705
4706 #. type: Plain text
4707 #: build/C/man2/sigaction.2:644
4708 #, fuzzy
4709 #| msgid "i/o error"
4710 msgid "I/O error"
4711 msgstr "I/O エラー"
4712
4713 #. type: TP
4714 #: build/C/man2/sigaction.2:644
4715 #, no-wrap
4716 msgid "B<POLL_PRI>"
4717 msgstr "B<POLL_PRI>"
4718
4719 #. type: Plain text
4720 #: build/C/man2/sigaction.2:647
4721 msgid "high priority input available"
4722 msgstr "高優先の入力が利用可能"
4723
4724 #. type: TP
4725 #: build/C/man2/sigaction.2:647
4726 #, no-wrap
4727 msgid "B<POLL_HUP>"
4728 msgstr "B<POLL_HUP>"
4729
4730 #. type: Plain text
4731 #: build/C/man2/sigaction.2:650
4732 msgid "device disconnected"
4733 msgstr "デバイスが接続されていない"
4734
4735 #. type: Plain text
4736 #: build/C/man2/sigaction.2:654
4737 msgid "B<sigaction>()  returns 0 on success and -1 on error."
4738 msgstr "B<sigaction>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
4739
4740 #. type: Plain text
4741 #: build/C/man2/sigaction.2:659
4742 msgid ""
4743 "I<act> or I<oldact> points to memory which is not a valid part of the "
4744 "process address space."
4745 msgstr ""
4746 "I<act> か I<oldact> が指しているメモリが正しいプロセスのアドレス空間にない。"
4747
4748 #. type: Plain text
4749 #: build/C/man2/sigaction.2:666
4750 msgid ""
4751 "An invalid signal was specified.  This will also be generated if an attempt "
4752 "is made to change the action for B<SIGKILL> or B<SIGSTOP>, which cannot be "
4753 "caught or ignored."
4754 msgstr ""
4755 "無効なシグナルが指定された。補足 (catch) したり無視したりできない シグナルで"
4756 "ある B<SIGKILL> や B<SIGSTOP> に対する動作を変更しようとした場合にも発生す"
4757 "る。"
4758
4759 #.  SVr4 does not document the EINTR condition.
4760 #. type: Plain text
4761 #: build/C/man2/sigaction.2:669
4762 msgid "POSIX.1-2001, SVr4."
4763 msgstr "POSIX.1-2001, SVr4."
4764
4765 #. type: Plain text
4766 #: build/C/man2/sigaction.2:677 build/C/man7/signal.7:103
4767 msgid ""
4768 "A child created via B<fork>(2)  inherits a copy of its parent's signal "
4769 "dispositions.  During an B<execve>(2), the dispositions of handled signals "
4770 "are reset to the default; the dispositions of ignored signals are left "
4771 "unchanged."
4772 msgstr ""
4773 "B<fork>(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コ"
4774 "ピーを継承する。\n"
4775 "B<execve>(2) の前後で、ハンドラが設定されているシグナルの処理方法はデフォルト"
4776 "にリセットされ、\n"
4777 "無視が設定されているシグナルの処理方法は変更されずそのままとなる。"
4778
4779 #. type: Plain text
4780 #: build/C/man2/sigaction.2:695 build/C/man2/signal.2:129
4781 msgid ""
4782 "According to POSIX, the behavior of a process is undefined after it ignores "
4783 "a B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> signal that was not generated by "
4784 "B<kill>(2)  or B<raise>(3).  Integer division by zero has undefined result.  "
4785 "On some architectures it will generate a B<SIGFPE> signal.  (Also dividing "
4786 "the most negative integer by -1 may generate B<SIGFPE>.)  Ignoring this "
4787 "signal might lead to an endless loop."
4788 msgstr ""
4789 "POSIX では、 B<kill>(2)  や B<raise>(3)  で生成できないシグナル B<SIGFPE>, "
4790 "B<SIGILL>, B<SIGSEGV> を無視 (ignore) した場合、その後の動作は未定義である。 "
4791 "ゼロによる整数割り算の結果は未定義となる。 アーキテクチャーによっては、このと"
4792 "き B<SIGFPE> シグナルが生成される。 (同様に負の最大整数を -1 で割ると "
4793 "B<SIGFPE> が生成されるかもしれない)  このシグナルを無視すると無限ループに陥る"
4794 "かもしれない。"
4795
4796 #. type: Plain text
4797 #: build/C/man2/sigaction.2:712
4798 msgid ""
4799 "POSIX.1-1990 disallowed setting the action for B<SIGCHLD> to B<SIG_IGN>.  "
4800 "POSIX.1-2001 allows this possibility, so that ignoring B<SIGCHLD> can be "
4801 "used to prevent the creation of zombies (see B<wait>(2)).  Nevertheless, the "
4802 "historical BSD and System V behaviors for ignoring B<SIGCHLD> differ, so "
4803 "that the only completely portable method of ensuring that terminated "
4804 "children do not become zombies is to catch the B<SIGCHLD> signal and perform "
4805 "a B<wait>(2)  or similar."
4806 msgstr ""
4807 "POSIX.1-1990 では B<SIGCHLD> に B<SIG_IGN> を設定することを認めていない。 "
4808 "POSIX.1-2001 では認められており、 B<SIGCHLD> を無視することでゾンビプロセスの"
4809 "生成を防止することができる (B<wait>(2)  を参照)。 さらに、BSD と SystemV で"
4810 "は B<SIGCHLD> を無視した際の動作が異なっている。 そのため、完全に移植性がある"
4811 "方法で、終了した子プロセスがゾンビにならないこと を保証するには、 B<SIGCHLD> "
4812 "シグナルを補足し、 B<wait>(2)  などを実行するしかない。"
4813
4814 #. type: Plain text
4815 #: build/C/man2/sigaction.2:725
4816 #, fuzzy
4817 #| msgid ""
4818 #| "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
4819 #| "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use "
4820 #| "of these latter values in I<sa_flags> may be less portable in "
4821 #| "applications intended for older Unix implementations."
4822 msgid ""
4823 "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
4824 "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use of "
4825 "these latter values in I<sa_flags> may be less portable in applications "
4826 "intended for older UNIX implementations."
4827 msgstr ""
4828 "POSIX.1-1990 の仕様では B<SA_NOCLDSTOP> のみが定義されている。 POSIX.1-2001 "
4829 "では B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, B<SA_SIGINFO> が追加さ"
4830 "れた。 Unix の古い実装で動かすアプリケーションで、 他の I<sa_flags> フラグを"
4831 "使用すると移植性が下がる。"
4832
4833 #. type: Plain text
4834 #: build/C/man2/sigaction.2:729
4835 msgid ""
4836 "The B<SA_RESETHAND> flag is compatible with the SVr4 flag of the same name."
4837 msgstr "B<SA_RESETHAND> フラグは SVr4 の同じ名前のフラグと互換性がある。"
4838
4839 #. type: Plain text
4840 #: build/C/man2/sigaction.2:739
4841 msgid ""
4842 "The B<SA_NODEFER> flag is compatible with the SVr4 flag of the same name "
4843 "under kernels 1.3.9 and newer.  On older kernels the Linux implementation "
4844 "allowed the receipt of any signal, not just the one we are installing "
4845 "(effectively overriding any I<sa_mask> settings)."
4846 msgstr ""
4847 "B<SA_NODEFER> フラグは 1.3.9 以降のカーネルでは同じ名前の SVr4 のフラグと互換"
4848 "性がある。 ぞれ以前の Linux カーネルの実装では、このフラグを設定しているシグ"
4849 "ナル だけでなく、どのシグナルでも受けることを許していた (実際には I<sa_mask> "
4850 "の設定により無効にできる)。"
4851
4852 #. type: Plain text
4853 #: build/C/man2/sigaction.2:745
4854 #, fuzzy
4855 #| msgid ""
4856 #| "B<sigaction>()  can be called with a null second argument to query the "
4857 #| "current signal handler.  It can also be used to check whether a given "
4858 #| "signal is valid for the current machine by calling it with null second "
4859 #| "and third arguments."
4860 msgid ""
4861 "B<sigaction>()  can be called with a NULL second argument to query the "
4862 "current signal handler.  It can also be used to check whether a given signal "
4863 "is valid for the current machine by calling it with NULL second and third "
4864 "arguments."
4865 msgstr ""
4866 "B<sigaction>()  の二番目の引き数に NULL を指定して呼び出すと、現在のシグナル"
4867 "ハンドラを確認する ことができる。また、二番目と三番目の引き数を NULL にて呼び"
4868 "出すことで、 指定されたシグナルが現在のマシンで使えるかどうかチェックできる。"
4869
4870 #. type: Plain text
4871 #: build/C/man2/sigaction.2:751
4872 msgid ""
4873 "It is not possible to block B<SIGKILL> or B<SIGSTOP> (by specifying them in "
4874 "I<sa_mask>).  Attempts to do so are silently ignored."
4875 msgstr ""
4876 "B<SIGKILL> や B<SIGSTOP> を (I<sa_mask> に指定して) 禁止することはできない。 "
4877 "禁止しようとしても黙って無視される。"
4878
4879 #. type: Plain text
4880 #: build/C/man2/sigaction.2:755 build/C/man2/sigpending.2:65
4881 #: build/C/man2/sigprocmask.2:131 build/C/man2/sigsuspend.2:104
4882 msgid "See B<sigsetops>(3)  for details on manipulating signal sets."
4883 msgstr "シグナル集合の操作に関する詳細は B<sigsetops>(3)  を参照のこと。"
4884
4885 #. type: Plain text
4886 #: build/C/man2/sigaction.2:760
4887 msgid ""
4888 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
4889 "safely called inside from inside a signal handler."
4890 msgstr ""
4891 "シグナルハンドラ内から安全に呼び出すことができる、 async-signal-safe "
4892 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
4893 "照。"
4894
4895 #. type: SS
4896 #: build/C/man2/sigaction.2:760
4897 #, no-wrap
4898 msgid "Undocumented"
4899 msgstr "非公式"
4900
4901 #. type: Plain text
4902 #: build/C/man2/sigaction.2:770
4903 msgid ""
4904 "Before the introduction of B<SA_SIGINFO> it was also possible to get some "
4905 "additional information, namely by using a I<sa_handler> with second argument "
4906 "of type I<struct sigcontext>.  See the relevant kernel sources for details.  "
4907 "This use is obsolete now."
4908 msgstr ""
4909 "B<SA_SIGINFO> が導入される前は、 I<struct sigcontext> 型の二番目の引き数と一"
4910 "緒に I<sa_handler> を使用することで、 いくつかの追加の情報を入手することがで"
4911 "きた。 詳細についてはカーネルソースの関連部分を見てほしい。 現在はこの使用法"
4912 "は廃止されている。"
4913
4914 #. type: Plain text
4915 #: build/C/man2/sigaction.2:779
4916 msgid ""
4917 "In kernels up to and including 2.6.13, specifying B<SA_NODEFER> in "
4918 "I<sa_flags> prevents not only the delivered signal from being masked during "
4919 "execution of the handler, but also the signals specified in I<sa_mask>.  "
4920 "This bug was fixed in kernel 2.6.14."
4921 msgstr ""
4922 "2.6.13 以前のカーネルでは、 I<sa_flags> に B<SA_NODEFER> を指定した場合、 ハ"
4923 "ンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、 "
4924 "I<sa_mask> に指定されたシグナルもマスクされなくなる。 このバグは、カーネル "
4925 "2.6.14 で修正された。"
4926
4927 #. type: Plain text
4928 #: build/C/man2/sigaction.2:782
4929 msgid "See B<mprotect>(2)."
4930 msgstr "B<mprotect>(2)  参照。"
4931
4932 #. type: Plain text
4933 #: build/C/man2/sigaction.2:801
4934 #, fuzzy
4935 #| msgid ""
4936 #| "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
4937 #| "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
4938 #| "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
4939 #| "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
4940 msgid ""
4941 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
4942 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
4943 "B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>(3), B<sigqueue>"
4944 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
4945 msgstr ""
4946 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
4947 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
4948 "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
4949 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
4950
4951 #. type: TH
4952 #: build/C/man2/sigaltstack.2:25
4953 #, no-wrap
4954 msgid "SIGALTSTACK"
4955 msgstr "SIGALTSTACK"
4956
4957 #. type: TH
4958 #: build/C/man2/sigaltstack.2:25 build/C/man2/wait.2:50
4959 #, no-wrap
4960 msgid "2010-09-26"
4961 msgstr "2010-09-26"
4962
4963 #. type: Plain text
4964 #: build/C/man2/sigaltstack.2:28
4965 msgid "sigaltstack - set and/or get signal stack context"
4966 msgstr "sigaltstack - シグナルスタックのコンテキストを設定・取得する"
4967
4968 #. type: Plain text
4969 #: build/C/man2/sigaltstack.2:32
4970 msgid "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
4971 msgstr "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
4972
4973 #. type: Plain text
4974 #: build/C/man2/sigaltstack.2:39
4975 msgid "B<sigaltstack>():"
4976 msgstr "B<sigaltstack>():"
4977
4978 #. type: Plain text
4979 #: build/C/man2/sigaltstack.2:46 build/C/man3/siginterrupt.3:51
4980 #: build/C/man2/wait.2:79
4981 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
4982 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
4983
4984 #. type: Plain text
4985 #: build/C/man2/sigaltstack.2:58
4986 msgid ""
4987 "B<sigaltstack>()  allows a process to define a new alternate signal stack "
4988 "and/or retrieve the state of an existing alternate signal stack.  An "
4989 "alternate signal stack is used during the execution of a signal handler if "
4990 "the establishment of that handler (see B<sigaction>(2))  requested it."
4991 msgstr ""
4992 "B<sigaltstack>()  を使うと、 プロセスは新しい代替シグナルスタックを定義した"
4993 "り、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラが代替シ"
4994 "グナルスタックを要求するように設定されていると (B<sigaction>(2)  参照)、ハン"
4995 "ドラの実行中はそのシグナルスタックが使われる。"
4996
4997 #. type: Plain text
4998 #: build/C/man2/sigaltstack.2:61
4999 msgid ""
5000 "The normal sequence of events for using an alternate signal stack is the "
5001 "following:"
5002 msgstr "代替シグナルスタックを使う際の一般的な手順は、以下の通りである:"
5003
5004 #. type: IP
5005 #: build/C/man2/sigaltstack.2:61 build/C/man7/signal.7:383
5006 #, no-wrap
5007 msgid "1."
5008 msgstr "1."
5009
5010 #. type: Plain text
5011 #: build/C/man2/sigaltstack.2:65
5012 msgid "Allocate an area of memory to be used for the alternate signal stack."
5013 msgstr "代替シグナルスタックで使うメモリ領域を確保する。"
5014
5015 #. type: IP
5016 #: build/C/man2/sigaltstack.2:65 build/C/man7/signal.7:387
5017 #, no-wrap
5018 msgid "2."
5019 msgstr "2."
5020
5021 #. type: Plain text
5022 #: build/C/man2/sigaltstack.2:71
5023 msgid ""
5024 "Use B<sigaltstack>()  to inform the system of the existence and location of "
5025 "the alternate signal stack."
5026 msgstr ""
5027 "B<sigaltstack>()  を使って、 代替シグナルスタックの存在と場所をシステムに知ら"
5028 "せる。"
5029
5030 #. type: IP
5031 #: build/C/man2/sigaltstack.2:71 build/C/man7/signal.7:407
5032 #, no-wrap
5033 msgid "3."
5034 msgstr "3."
5035
5036 #. type: Plain text
5037 #: build/C/man2/sigaltstack.2:78
5038 msgid ""
5039 "When establishing a signal handler using B<sigaction>(2), inform the system "
5040 "that the signal handler should be executed on the alternate signal stack by "
5041 "specifying the B<SA_ONSTACK> flag."
5042 msgstr ""
5043 "B<sigaction>(2)  を使ってシグナルハンドラを確立する際、 B<SA_ONSTACK> フラグ"
5044 "を指定することにより、 そのシグナルハンドラを代替シグナルスタック上で実行する"
5045 "ことを システムに知らせる。"
5046
5047 #. type: Plain text
5048 #: build/C/man2/sigaltstack.2:86
5049 msgid ""
5050 "The I<ss> argument is used to specify a new alternate signal stack, while "
5051 "the I<oss> argument is used to retrieve information about the currently "
5052 "established signal stack.  If we are interested in performing just one of "
5053 "these tasks then the other argument can be specified as NULL.  Each of these "
5054 "arguments is a structure of the following type:"
5055 msgstr ""
5056 "I<ss> 引き数は、新しいシグナルスタックを指定するために使う。 また I<oss> 引き"
5057 "数は、現在確立されている シグナルスタックの情報を取得するために使う。 この操"
5058 "作のうち 1 つだけを実行させるには、 使用しない引き数を NULL に指定すればよ"
5059 "い。 引き数となる構造体は、以下のような型である:"
5060
5061 #. type: Plain text
5062 #: build/C/man2/sigaltstack.2:94
5063 #, no-wrap
5064 msgid ""
5065 "typedef struct {\n"
5066 "    void  *ss_sp;     /* Base address of stack */\n"
5067 "    int    ss_flags;  /* Flags */\n"
5068 "    size_t ss_size;   /* Number of bytes in stack */\n"
5069 "} stack_t;\n"
5070 msgstr ""
5071 "typedef struct {\n"
5072 "    void  *ss_sp;     /* スタックのベースアドレス */\n"
5073 "    int    ss_flags;  /* フラグ */\n"
5074 "    size_t ss_size;   /* スタックのバイト数 */\n"
5075 "} stack_t;\n"
5076
5077 #. type: Plain text
5078 #: build/C/man2/sigaltstack.2:105
5079 msgid ""
5080 "To establish a new alternate signal stack, I<ss.ss_flags> is set to zero, "
5081 "and I<ss.ss_sp> and I<ss.ss_size> specify the starting address and size of "
5082 "the stack.  The constant B<SIGSTKSZ> is defined to be large enough to cover "
5083 "the usual size requirements for an alternate signal stack, and the constant "
5084 "B<MINSIGSTKSZ> defines the minimum size required to execute a signal handler."
5085 msgstr ""
5086 "新規の代替シグナルスタックを確立するには、 I<ss.ss_flags> を 0 に設定し、 "
5087 "I<ss.ss_sp> と I<ss.ss_size> に スタックの開始アドレスとスタックサイズを指定"
5088 "する。 定数 B<SIGSTKSZ> は、代替シグナルスタックが通常必要する サイズよりも充"
5089 "分大きく定義されている。 また定数 B<MINSIGSTKSZ> は、 シグナルハンドラの実行"
5090 "に必要な最小サイズに定義されている。"
5091
5092 #. type: Plain text
5093 #: build/C/man2/sigaltstack.2:109
5094 msgid ""
5095 "When a signal handler is invoked on the alternate stack, the kernel "
5096 "automatically aligns the address given in I<ss.ss_sp> to a suitable address "
5097 "boundary for the underlying hardware architecture."
5098 msgstr ""
5099 "代替スタックでシグナルハンドラが起動された場合には、 カーネルにより自動的に、"
5100 "I<ss.ss_sp> で指定されたアドレスは 動作しているハードウェアアーキテクチャに適"
5101 "したアドレス境界に 調整される。"
5102
5103 #. type: Plain text
5104 #: build/C/man2/sigaltstack.2:114
5105 msgid ""
5106 "To disable an existing stack, specify I<ss.ss_flags> as B<SS_DISABLE>.  In "
5107 "this case, the remaining fields in I<ss> are ignored."
5108 msgstr ""
5109 "既存のスタックを無効にするには、 I<ss.ss_flags> を B<SS_DISABLE> に指定す"
5110 "る。 この場合、I<ss> の他のフィールドは無視される。"
5111
5112 #. type: Plain text
5113 #: build/C/man2/sigaltstack.2:122
5114 msgid ""
5115 "If I<oss> is not NULL, then it is used to return information about the "
5116 "alternate signal stack which was in effect prior to the call to "
5117 "B<sigaltstack>().  The I<oss.ss_sp> and I<oss.ss_size> fields return the "
5118 "starting address and size of that stack.  The I<oss.ss_flags> may return "
5119 "either of the following values:"
5120 msgstr ""
5121 "I<oss> が NULL 以外の場合、 I<oss> に代替シグナルスタックの情報が返される。 "
5122 "これは (実質的に)  B<sigaltstack>()  の呼び出しより先に行われる。 I<oss."
5123 "ss_sp> と I<oss.ss_size> フィールドに スタックの開始アドレスとスタックサイズ"
5124 "が返される。 I<oss.ss_flags> には以下のどちらかの値が返される:"
5125
5126 #. type: TP
5127 #: build/C/man2/sigaltstack.2:122
5128 #, no-wrap
5129 msgid "B<SS_ONSTACK>"
5130 msgstr "B<SS_ONSTACK>"
5131
5132 #. type: Plain text
5133 #: build/C/man2/sigaltstack.2:128
5134 msgid ""
5135 "The process is currently executing on the alternate signal stack.  (Note "
5136 "that it is not possible to change the alternate signal stack if the process "
5137 "is currently executing on it.)"
5138 msgstr ""
5139 "プロセスが代替シグナルスタック上で実行されている (プロセスが既にそのシグナル"
5140 "スタック上で実行されている場合は、 それと同じシグナルスタックには変更できない"
5141 "点に注意すること)。"
5142
5143 #. type: TP
5144 #: build/C/man2/sigaltstack.2:128
5145 #, no-wrap
5146 msgid "B<SS_DISABLE>"
5147 msgstr "B<SS_DISABLE>"
5148
5149 #. type: Plain text
5150 #: build/C/man2/sigaltstack.2:131
5151 msgid "The alternate signal stack is currently disabled."
5152 msgstr "代替シグナルスタックが現在無効になっている。"
5153
5154 #. type: Plain text
5155 #: build/C/man2/sigaltstack.2:135
5156 msgid ""
5157 "B<sigaltstack>()  returns 0 on success, or -1 on failure with I<errno> set "
5158 "to indicate the error."
5159 msgstr ""
5160 "B<sigaltstack>()  は成功した場合 0 を返す。 失敗した場合は -1 を返して、 エ"
5161 "ラーを示す値に I<errno> を設定する。"
5162
5163 #. type: Plain text
5164 #: build/C/man2/sigaltstack.2:140
5165 msgid ""
5166 "Either I<ss> or I<oss> is not NULL and points to an area outside of the "
5167 "process's address space."
5168 msgstr ""
5169 "I<ss> または I<oss> のどちらが、NULL 以外で、 かつプロセスのアドレス空間の外"
5170 "を指している。"
5171
5172 #. type: Plain text
5173 #: build/C/man2/sigaltstack.2:145
5174 msgid ""
5175 "I<ss> is not NULL and the I<ss_flags> field contains a nonzero value other "
5176 "than B<SS_DISABLE>."
5177 msgstr ""
5178 "I<ss> が NULL 以外で、I<ss_flags> フィールドが B<SS_DISABLE> 以外の 0 でない"
5179 "値になっている。"
5180
5181 #. type: Plain text
5182 #: build/C/man2/sigaltstack.2:149
5183 msgid ""
5184 "The specified size of the new alternate signal stack (I<ss.ss_size>) was "
5185 "less than B<MINSTKSZ>."
5186 msgstr ""
5187 "新しい代替シグナルスタック (I<ss.ss_size>) に指定したサイズが B<MINSTKSZ> よ"
5188 "り小さい。"
5189
5190 #. type: Plain text
5191 #: build/C/man2/sigaltstack.2:154
5192 msgid ""
5193 "An attempt was made to change the alternate signal stack while it was active "
5194 "(i.e., the process was already executing on the current alternate signal "
5195 "stack)."
5196 msgstr ""
5197 "代替シグナルスタックが有効であるときに変更を行おうとした (つまり、プロセスが"
5198 "既に現在の代替シグナルスタック上で実行されていた)。"
5199
5200 #. type: Plain text
5201 #: build/C/man2/sigaltstack.2:156
5202 msgid "SUSv2, SVr4, POSIX.1-2001."
5203 msgstr "SUSv2, SVr4, POSIX.1-2001."
5204
5205 #. type: Plain text
5206 #: build/C/man2/sigaltstack.2:164
5207 msgid ""
5208 "The most common usage of an alternate signal stack is to handle the "
5209 "B<SIGSEGV> signal that is generated if the space available for the normal "
5210 "process stack is exhausted: in this case, a signal handler for B<SIGSEGV> "
5211 "cannot be invoked on the process stack; if we wish to handle it, we must use "
5212 "an alternate signal stack."
5213 msgstr ""
5214 "代替シグナルスタックを使用する最もよくある場面は、 B<SIGSEGV> シグナルを扱う"
5215 "ときである。 B<SIGSEGV> はプロセスの通常のスタックが利用できる空間が使い果た"
5216 "された際に 生成されるシグナルである。この場合には、 B<SIGSEGV> 用のシグナルハ"
5217 "ンドラをプロセスのスタック上では起動することができない。 そのため、このシグナ"
5218 "ルを扱おうとする場合には、 代替シグナルスタックを使用しなければならない。"
5219
5220 #. type: Plain text
5221 #: build/C/man2/sigaltstack.2:174
5222 msgid ""
5223 "Establishing an alternate signal stack is useful if a process expects that "
5224 "it may exhaust its standard stack.  This may occur, for example, because the "
5225 "stack grows so large that it encounters the upwardly growing heap, or it "
5226 "reaches a limit established by a call to B<setrlimit(RLIMIT_STACK, &rlim)>.  "
5227 "If the standard stack is exhausted, the kernel sends the process a "
5228 "B<SIGSEGV> signal.  In these circumstances the only way to catch this signal "
5229 "is on an alternate signal stack."
5230 msgstr ""
5231 "プロセスが標準のシグナルスタックを使い果たすことが予想される場合は、 代替シグ"
5232 "ナルスタックを確立すると便利である。 例えば、スタックが最上位アドレスから 下"
5233 "位アドレス方向に非常にたくさん積まれてしまうことで、 最下位アドレスから上位ア"
5234 "ドレス方向に積まれるヒープとぶつかってしまう場合や、 B<setrlimit"
5235 "(RLIMIT_STACK, &rlim)> の呼び出しで確立された 制限に達してしまった場合に、こ"
5236 "の様な事が起こる。 標準のスタックを使い果たしてしまうと、 カーネルはプロセス"
5237 "に B<SIGSEGV> シグナルを送る。 このような状況では、代替シグナルスタック上でし"
5238 "かシグナルをキャッチできない。"
5239
5240 #. type: Plain text
5241 #: build/C/man2/sigaltstack.2:180
5242 msgid ""
5243 "On most hardware architectures supported by Linux, stacks grow downward.  "
5244 "B<sigaltstack>()  automatically takes account of the direction of stack "
5245 "growth."
5246 msgstr ""
5247 "Linux がサポートする多くのハードウェアアーキテクチャでは、 スタックは下位アド"
5248 "レス方向に積まれる。 B<sigaltstack>()  はスタックが積まれる方向を自動的に決定"
5249 "する。"
5250
5251 #. type: Plain text
5252 #: build/C/man2/sigaltstack.2:189
5253 msgid ""
5254 "Functions called from a signal handler executing on an alternate signal "
5255 "stack will also use the alternate signal stack.  (This also applies to any "
5256 "handlers invoked for other signals while the process is executing on the "
5257 "alternate signal stack.)  Unlike the standard stack, the system does not "
5258 "automatically extend the alternate signal stack.  Exceeding the allocated "
5259 "size of the alternate signal stack will lead to unpredictable results."
5260 msgstr ""
5261 "代替シグナルスタック上で実行されている シグナルハンドラから呼ばれる関数も、代"
5262 "替シグナルハンドラを使う (プロセスが代替シグナルスタック上で実行されている場"
5263 "合、 他のシグナルで呼び出されるハンドラもこの代替シグナルハンドラを使う)。 標"
5264 "準のスタックとは異なり、 システムは代替シグナルスタックを自動的に拡張しな"
5265 "い。 代替シグナルスタック用に確保したサイズを越えた場合、 結果は予想できな"
5266 "い。"
5267
5268 #. type: Plain text
5269 #: build/C/man2/sigaltstack.2:197
5270 msgid ""
5271 "A successful call to B<execve>(2)  removes any existing alternate signal "
5272 "stack.  A child process created via B<fork>(2)  inherits a copy of its "
5273 "parent's alternate signal stack settings."
5274 msgstr ""
5275 "B<execve>(2)  の呼び出しが成功すると、 既存の全ての代替シグナルスタックが削除"
5276 "される。 B<fork>(2)  経由で作成された子プロセスは、親プロセスの代替シグナルス"
5277 "タックの 設定のコピーを継承する。"
5278
5279 #. type: Plain text
5280 #: build/C/man2/sigaltstack.2:206
5281 msgid ""
5282 "B<sigaltstack>()  supersedes the older B<sigstack>()  call.  For backward "
5283 "compatibility, glibc also provides B<sigstack>().  All new applications "
5284 "should be written using B<sigaltstack>()."
5285 msgstr ""
5286 "B<sigaltstack>()  は以前の B<sigstack>()  を置き換えるものである。 過去プログ"
5287 "ラムとの互換性のため、glibc では B<sigstack>()  も提供している。 新しいのアプ"
5288 "リケーションは全て B<sigaltstack>()  を使って書くべきである。"
5289
5290 #. type: SS
5291 #: build/C/man2/sigaltstack.2:206 build/C/man3/sigpause.3:59
5292 #, no-wrap
5293 msgid "History"
5294 msgstr "歴史"
5295
5296 #. type: Plain text
5297 #: build/C/man2/sigaltstack.2:213
5298 msgid ""
5299 "4.2BSD had a B<sigstack>()  system call.  It used a slightly different "
5300 "struct, and had the major disadvantage that the caller had to know the "
5301 "direction of stack growth."
5302 msgstr ""
5303 "4.2BSD には B<sigstack>()  システムコールがあった。 この関数は少し異なった構"
5304 "造体を使っており、 呼び出した側がスタックの積まれる方向を知っていなければなら"
5305 "ないという 大きな欠点があった。"
5306
5307 #. type: Plain text
5308 #: build/C/man2/sigaltstack.2:216
5309 msgid "The following code segment demonstrates the use of B<sigaltstack>():"
5310 msgstr "以下のコードで B<sigaltstack>()  の使用法の一部を示す:"
5311
5312 #. type: Plain text
5313 #: build/C/man2/sigaltstack.2:220
5314 #, no-wrap
5315 msgid "stack_t ss;\n"
5316 msgstr "stack_t ss;\n"
5317
5318 #. type: Plain text
5319 #: build/C/man2/sigaltstack.2:228
5320 #, no-wrap
5321 msgid ""
5322 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5323 "if (ss.ss_sp == NULL)\n"
5324 "    /* Handle error */;\n"
5325 "ss.ss_size = SIGSTKSZ;\n"
5326 "ss.ss_flags = 0;\n"
5327 "if (sigaltstack(&ss, NULL) == -1)\n"
5328 "    /* Handle error */;\n"
5329 msgstr ""
5330 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5331 "if (ss.ss_sp == NULL)\n"
5332 "    /* ハンドルエラー */;\n"
5333 "ss.ss_size = SIGSTKSZ;\n"
5334 "ss.ss_flags = 0;\n"
5335 "if (sigaltstack(&ss, NULL) == -1)\n"
5336 "    /* ハンドルエラー */;\n"
5337
5338 #. type: Plain text
5339 #: build/C/man2/sigaltstack.2:237
5340 msgid ""
5341 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5342 "B<sigsetjmp>(3), B<signal>(7)"
5343 msgstr ""
5344 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5345 "B<sigsetjmp>(3), B<signal>(7)"
5346
5347 #. type: TH
5348 #: build/C/man7/sigevent.7:24
5349 #, no-wrap
5350 msgid "SIGEVENT"
5351 msgstr "SIGEVENT"
5352
5353 #. type: TH
5354 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
5355 #, no-wrap
5356 msgid "2011-09-09"
5357 msgstr "2011-09-09"
5358
5359 #. type: Plain text
5360 #: build/C/man7/sigevent.7:27
5361 msgid "sigevent - structure for notification from asynchronous routines"
5362 msgstr "sigevent - structure for notification from asynchronous routines"
5363
5364 #. type: Plain text
5365 #: build/C/man7/sigevent.7:34
5366 #, no-wrap
5367 msgid ""
5368 "union sigval {          /* Data passed with notification */\n"
5369 "    int     sival_int;         /* Integer value */\n"
5370 "    void   *sival_ptr;         /* Pointer value */\n"
5371 "};\n"
5372 msgstr ""
5373 "union sigval {          /* Data passed with notification */\n"
5374 "    int     sival_int;         /* Integer value */\n"
5375 "    void   *sival_ptr;         /* Pointer value */\n"
5376 "};\n"
5377
5378 #. type: Plain text
5379 #: build/C/man7/sigevent.7:49
5380 #, no-wrap
5381 msgid ""
5382 "struct sigevent {\n"
5383 "    int          sigev_notify; /* Notification method */\n"
5384 "    int          sigev_signo;  /* Notification signal */\n"
5385 "    union sigval sigev_value;  /* Data passed with\n"
5386 "                                  notification */\n"
5387 "    void       (*sigev_notify_function) (union sigval);\n"
5388 "                     /* Function used for thread\n"
5389 "                        notification (SIGEV_THREAD) */\n"
5390 "    void        *sigev_notify_attributes;\n"
5391 "                     /* Attributes for notification thread\n"
5392 "                        (SIGEV_THREAD) */\n"
5393 "    pid_t        sigev_notify_thread_id;\n"
5394 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5395 "};\n"
5396 msgstr ""
5397 "struct sigevent {\n"
5398 "    int          sigev_notify; /* Notification method */\n"
5399 "    int          sigev_signo;  /* Notification signal */\n"
5400 "    union sigval sigev_value;  /* Data passed with\n"
5401 "                                  notification */\n"
5402 "    void       (*sigev_notify_function) (union sigval);\n"
5403 "                     /* Function used for thread\n"
5404 "                        notification (SIGEV_THREAD) */\n"
5405 "    void        *sigev_notify_attributes;\n"
5406 "                     /* Attributes for notification thread\n"
5407 "                        (SIGEV_THREAD) */\n"
5408 "    pid_t        sigev_notify_thread_id;\n"
5409 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5410 "};\n"
5411
5412 #. type: Plain text
5413 #: build/C/man7/sigevent.7:58
5414 msgid ""
5415 "The I<sigevent> structure is used by various APIs to describe the way a "
5416 "process is to be notified about an event (e.g., completion of an "
5417 "asynchronous request, expiration of a timer, or the arrival of a message)."
5418 msgstr ""
5419 "The I<sigevent> structure is used by various APIs to describe the way a "
5420 "process is to be notified about an event (e.g., completion of an "
5421 "asynchronous request, expiration of a timer, or the arrival of a message)."
5422
5423 #. type: Plain text
5424 #: build/C/man7/sigevent.7:66
5425 msgid ""
5426 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5427 "the I<sigevent> structure may be defined as part of a union.  Programs "
5428 "should only employ those fields relevant to the value specified in "
5429 "I<sigev_notify>."
5430 msgstr ""
5431 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5432 "the I<sigevent> structure may be defined as part of a union.  Programs "
5433 "should only employ those fields relevant to the value specified in "
5434 "I<sigev_notify>."
5435
5436 #. type: Plain text
5437 #: build/C/man7/sigevent.7:71
5438 msgid ""
5439 "The I<sigev_notify> field specifies how notification is to be performed.  "
5440 "This field can have one of the following values:"
5441 msgstr ""
5442 "The I<sigev_notify> field specifies how notification is to be performed.  "
5443 "This field can have one of the following values:"
5444
5445 #. type: TP
5446 #: build/C/man7/sigevent.7:71 build/C/man2/timer_create.2:105
5447 #, no-wrap
5448 msgid "B<SIGEV_NONE>"
5449 msgstr "B<SIGEV_NONE>"
5450
5451 #. type: Plain text
5452 #: build/C/man7/sigevent.7:74
5453 msgid "A \"null\" notification: don't do anything when the event occurs."
5454 msgstr "A \"null\" notification: don't do anything when the event occurs."
5455
5456 #. type: TP
5457 #: build/C/man7/sigevent.7:74 build/C/man2/timer_create.2:110
5458 #, no-wrap
5459 msgid "B<SIGEV_SIGNAL>"
5460 msgstr "B<SIGEV_SIGNAL>"
5461
5462 #. type: Plain text
5463 #: build/C/man7/sigevent.7:78
5464 msgid "Notify the process by sending the signal specified in I<sigev_signo>."
5465 msgstr "Notify the process by sending the signal specified in I<sigev_signo>."
5466
5467 #. type: Plain text
5468 #: build/C/man7/sigevent.7:85
5469 msgid ""
5470 "If the signal is caught with a signal handler that was registered using the "
5471 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5472 "the I<siginfo_t> structure that is passed as the second argument of the "
5473 "handler:"
5474 msgstr ""
5475 "If the signal is caught with a signal handler that was registered using the "
5476 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5477 "the I<siginfo_t> structure that is passed as the second argument of the "
5478 "handler:"
5479
5480 #. type: Plain text
5481 #: build/C/man7/sigevent.7:90
5482 msgid ""
5483 "This field is set to a value that depends on the API delivering the "
5484 "notification."
5485 msgstr ""
5486 "This field is set to a value that depends on the API delivering the "
5487 "notification."
5488
5489 #. type: TP
5490 #: build/C/man7/sigevent.7:90 build/C/man2/wait.2:301
5491 #, no-wrap
5492 msgid "I<si_signo>"
5493 msgstr "I<si_signo>"
5494
5495 #. type: Plain text
5496 #: build/C/man7/sigevent.7:94
5497 msgid ""
5498 "This field is set to the signal number (i.e., the same value as in "
5499 "I<sigev_signo>)."
5500 msgstr ""
5501 "This field is set to the signal number (i.e., the same value as in "
5502 "I<sigev_signo>)."
5503
5504 #. type: Plain text
5505 #: build/C/man7/sigevent.7:98
5506 msgid "This field is set to the value specified in I<sigev_value>."
5507 msgstr "This field is set to the value specified in I<sigev_value>."
5508
5509 #. type: Plain text
5510 #: build/C/man7/sigevent.7:103
5511 msgid ""
5512 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5513 "structure."
5514 msgstr ""
5515 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5516 "structure."
5517
5518 #. type: Plain text
5519 #: build/C/man7/sigevent.7:106
5520 msgid ""
5521 "The same information is also available if the signal is accepted using "
5522 "B<sigwaitinfo>(2)."
5523 msgstr ""
5524 "The same information is also available if the signal is accepted using "
5525 "B<sigwaitinfo>(2)."
5526
5527 #. type: TP
5528 #: build/C/man7/sigevent.7:106 build/C/man2/timer_create.2:128
5529 #, no-wrap
5530 msgid "B<SIGEV_THREAD>"
5531 msgstr "B<SIGEV_THREAD>"
5532
5533 #. type: Plain text
5534 #: build/C/man7/sigevent.7:123
5535 msgid ""
5536 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5537 "the start function of a new thread.  (Among the implementation possibilities "
5538 "here are that each timer notification could result in the creation of a new "
5539 "thread, or that a single thread is created to receive all notifications.)  "
5540 "The function is invoked with I<sigev_value> as its sole argument.  If "
5541 "I<sigev_notify_attributes> is not NULL, it should point to a "
5542 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5543 "B<pthread_attr_init>(3))."
5544 msgstr ""
5545 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5546 "the start function of a new thread.  (Among the implementation possibilities "
5547 "here are that each timer notification could result in the creation of a new "
5548 "thread, or that a single thread is created to receive all notifications.)  "
5549 "The function is invoked with I<sigev_value> as its sole argument.  If "
5550 "I<sigev_notify_attributes> is not NULL, it should point to a "
5551 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5552 "B<pthread_attr_init>(3))."
5553
5554 #. type: TP
5555 #: build/C/man7/sigevent.7:123 build/C/man2/timer_create.2:136
5556 #, no-wrap
5557 msgid "B<SIGEV_THREAD_ID> (Linux-specific)"
5558 msgstr "B<SIGEV_THREAD_ID> (Linux-specific)"
5559
5560 #.  | SIGEV_SIGNAL vs not?
5561 #. type: Plain text
5562 #: build/C/man7/sigevent.7:128
5563 msgid "Currently used only by POSIX timers; see B<timer_create>(2)."
5564 msgstr "Currently used only by POSIX timers; see B<timer_create>(2)."
5565
5566 #. type: Plain text
5567 #: build/C/man7/sigevent.7:130 build/C/man2/sigpending.2:61
5568 #: build/C/man2/sigprocmask.2:101 build/C/man3/sigqueue.3:114
5569 #: build/C/man3/sigsetops.3:128 build/C/man2/sigsuspend.2:82
5570 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
5571 #: build/C/man2/timer_create.2:193 build/C/man2/timer_delete.2:66
5572 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/timer_settime.2:205
5573 msgid "POSIX.1-2001."
5574 msgstr "POSIX.1-2001."
5575
5576 #. type: Plain text
5577 #: build/C/man7/sigevent.7:140
5578 msgid ""
5579 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5580 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5581 "B<pthreads>(7)"
5582 msgstr ""
5583 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5584 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5585 "B<pthreads>(7)"
5586
5587 #. type: TH
5588 #: build/C/man3/siginterrupt.3:29
5589 #, no-wrap
5590 msgid "SIGINTERRUPT"
5591 msgstr "SIGINTERRUPT"
5592
5593 #. type: Plain text
5594 #: build/C/man3/siginterrupt.3:32
5595 msgid "siginterrupt - allow signals to interrupt system calls"
5596 msgstr "siginterrupt - シグナルでシステム・コールに割り込むことを許す"
5597
5598 #. type: Plain text
5599 #: build/C/man3/siginterrupt.3:37
5600 #, no-wrap
5601 msgid "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5602 msgstr "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5603
5604 #. type: Plain text
5605 #: build/C/man3/siginterrupt.3:45
5606 msgid "B<siginterrupt>():"
5607 msgstr "B<siginterrupt>():"
5608
5609 #. type: Plain text
5610 #: build/C/man3/siginterrupt.3:62
5611 msgid ""
5612 "The B<siginterrupt>()  function changes the restart behavior when a system "
5613 "call is interrupted by the signal I<sig>.  If the I<flag> argument is false "
5614 "(0), then system calls will be restarted if interrupted by the specified "
5615 "signal I<sig>.  This is the default behavior in Linux."
5616 msgstr ""
5617 "B<siginterrupt>()  関数は、システム・コールがシグナル I<sig> によって割り込ま"
5618 "れた後、再実行の際の振る舞いを変更する。 I<flag> 引き数が偽 (0) ならば、シス"
5619 "テム・コールが指定した シグナル I<sig> によって割り込まれた後に、そのシステ"
5620 "ム・コールは 再実行される。これは Linux においてデフォルトの動作である。"
5621
5622 #. type: Plain text
5623 #: build/C/man3/siginterrupt.3:67
5624 msgid ""
5625 "If the I<flag> argument is true (1) and no data has been transferred, then a "
5626 "system call interrupted by the signal I<sig> will return -1 and I<errno> "
5627 "will be set to B<EINTR>."
5628 msgstr ""
5629 "I<flag> 引き数が真 (1) でデータの転送が全く行なわれていないならば、 シグナル "
5630 "I<sig> でシステム・コールは中断されて、-1 が返され、 I<errno> に B<EINTR> が"
5631 "設定される。"
5632
5633 #. type: Plain text
5634 #: build/C/man3/siginterrupt.3:71
5635 msgid ""
5636 "If the I<flag> argument is true (1) and data transfer has started, then the "
5637 "system call will be interrupted and will return the actual amount of data "
5638 "transferred."
5639 msgstr ""
5640 "I<flag> 引き数が真 (1) でデータの転送が開始されていれば、 システム・コールは"
5641 "中断され、それまでに実際に転送されたデータ の量が返される。"
5642
5643 #. type: Plain text
5644 #: build/C/man3/siginterrupt.3:76
5645 msgid ""
5646 "The B<siginterrupt>()  function returns 0 on success, or -1 if the signal "
5647 "number I<sig> is invalid."
5648 msgstr ""
5649 "B<siginterrupt>()  関数は成功した場合 0 を返す。 シグナル番号 I<sig> が不正な"
5650 "場合は -1 を返す。"
5651
5652 #. type: Plain text
5653 #: build/C/man3/siginterrupt.3:80
5654 msgid "The specified signal number is invalid."
5655 msgstr "指定したシグナル番号が不正である。"
5656
5657 #. type: Plain text
5658 #: build/C/man3/siginterrupt.3:89
5659 msgid ""
5660 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<siginterrupt>()  as obsolete, "
5661 "recommending the use of B<sigaction>(2)  with the B<SA_RESTART> flag instead."
5662 msgstr ""
5663 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 は、 B<siginterrupt>()  を廃止予定として"
5664 "いる。 代わりに、 B<sigaction>(2)  に B<SA_RESTART> フラグを指定して使うこと"
5665 "を推奨している。"
5666
5667 #. type: Plain text
5668 #: build/C/man3/siginterrupt.3:91
5669 msgid "B<signal>(2)"
5670 msgstr "B<signal>(2)"
5671
5672 #. type: TH
5673 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
5674 #, no-wrap
5675 msgid "SIGNAL"
5676 msgstr "SIGNAL"
5677
5678 #. type: TH
5679 #: build/C/man2/signal.2:34
5680 #, no-wrap
5681 msgid "2008-07-11"
5682 msgstr "2008-07-11"
5683
5684 #. type: Plain text
5685 #: build/C/man2/signal.2:37
5686 msgid "signal - ANSI C signal handling"
5687 msgstr "signal - ANSI C シグナル操作"
5688
5689 #. type: Plain text
5690 #: build/C/man2/signal.2:43
5691 msgid "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
5692 msgstr ""
5693 "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<sighandler>B<);>"
5694
5695 #. type: Plain text
5696 #: build/C/man2/signal.2:52
5697 msgid ""
5698 "The behavior of B<signal>()  varies across UNIX versions, and has also "
5699 "varied historically across different versions of Linux.  B<Avoid its use>: "
5700 "use B<sigaction>(2)  instead.  See I<Portability> below."
5701 msgstr ""
5702 "B<signal>()  の動作は UNIX のバージョンにより異なる。 また、歴史的に見て "
5703 "Linux のバージョンによっても異なっている。 B<このシステムコールの使用は避け、"
5704 "> 代わりに B<sigaction>(2)  を使用すること。 下記の「移植性」を参照。"
5705
5706 #. type: Plain text
5707 #: build/C/man2/signal.2:62
5708 msgid ""
5709 "B<signal>()  sets the disposition of the signal I<signum> to I<handler>, "
5710 "which is either B<SIG_IGN>, B<SIG_DFL>, or the address of a programmer-"
5711 "defined function (a \"signal handler\")."
5712 msgstr ""
5713 "B<signal>()  はシグナル I<signum> の処理方法を I<handler> に設定する。 "
5714 "I<handler> には、 B<SIG_IGN>、 B<SIG_DFL>、 プログラマが定義した関数 (「シグ"
5715 "ナル・ハンドラ」) のアドレスの いずれかを指定する。"
5716
5717 #. type: Plain text
5718 #: build/C/man2/signal.2:66
5719 msgid ""
5720 "If the signal I<signum> is delivered to the process, then one of the "
5721 "following happens:"
5722 msgstr ""
5723 "シグナル I<signum> がプロセスに配送されると、以下のいずれかが発生する。"
5724
5725 #. type: Plain text
5726 #: build/C/man2/signal.2:71
5727 msgid "If the disposition is set to B<SIG_IGN>, then the signal is ignored."
5728 msgstr "処理方法が B<SIG_IGN> に設定されている場合、そのシグナルは無視される。"
5729
5730 #. type: Plain text
5731 #: build/C/man2/signal.2:78
5732 msgid ""
5733 "If the disposition is set to B<SIG_DFL>, then the default action associated "
5734 "with the signal (see B<signal>(7))  occurs."
5735 msgstr ""
5736 "処理方法が B<SIG_DFL> に設定されている場合、シグナルに関連づけられた デフォル"
5737 "トの動作が行われる (B<signal>(7)  参照)。"
5738
5739 #. type: Plain text
5740 #: build/C/man2/signal.2:89
5741 msgid ""
5742 "If the disposition is set to a function, then first either the disposition "
5743 "is reset to B<SIG_DFL>, or the signal is blocked (see I<Portability> below), "
5744 "and then I<handler> is called with argument I<signum>.  If invocation of the "
5745 "handler caused the signal to be blocked, then the signal is unblocked upon "
5746 "return from the handler."
5747 msgstr ""
5748 "処理方法として関数が設定されている場合、 まず最初に処理方法が B<SIG_DFL> にリ"
5749 "セットされるかそのシグナルのブロックが実行された後、 I<signum> を引き数とし"
5750 "て I<handler> が呼び出される。 ハンドラが起動される際にシグナルがブロックされ"
5751 "た場合、 ハンドラが返る際にそのシグナルのブロックが解除される。"
5752
5753 #. type: Plain text
5754 #: build/C/man2/signal.2:95
5755 msgid "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught or ignored."
5756 msgstr ""
5757 "シグナル B<SIGKILL> と B<SIGSTOP> は捕捉できず、無視することもできない。"
5758
5759 #. type: Plain text
5760 #: build/C/man2/signal.2:100
5761 msgid ""
5762 "B<signal>()  returns the previous value of the signal handler, or B<SIG_ERR> "
5763 "on error."
5764 msgstr ""
5765 "B<signal>()  は、今までのシグナル・ハンドラの値を返す。エラーの場合は "
5766 "B<SIG_ERR> を返す。"
5767
5768 #. type: Plain text
5769 #: build/C/man2/signal.2:105
5770 msgid "I<signum> is invalid."
5771 msgstr "I<signum> が不正である。"
5772
5773 #. type: Plain text
5774 #: build/C/man2/signal.2:111
5775 msgid "The effects of B<signal>()  in a multithreaded process are unspecified."
5776 msgstr ""
5777 "マルチスレッドプロセスにおける B<signal>()  の結果は、指定されていない。"
5778
5779 #. type: Plain text
5780 #: build/C/man2/signal.2:136
5781 msgid ""
5782 "See B<sigaction>(2)  for details on what happens when B<SIGCHLD> is set to "
5783 "B<SIG_IGN>."
5784 msgstr ""
5785 "B<SIGCHLD> の動作として B<SIG_IGN> を設定した場合の詳細な動作については、 "
5786 "B<sigaction>(2)  を参照すること。"
5787
5788 #. type: Plain text
5789 #: build/C/man2/signal.2:141
5790 msgid ""
5791 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
5792 "safely called from inside a signal handler."
5793 msgstr ""
5794 "シグナル・ハンドラ内から安全に呼び出すことができる、 async-signal-safe "
5795 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
5796 "照。"
5797
5798 #. type: Plain text
5799 #: build/C/man2/signal.2:156
5800 msgid ""
5801 "The use of I<sighandler_t> is a GNU extension.  Various versions of libc "
5802 "predefine this type; libc4 and libc5 define I<SignalHandler>; glibc defines "
5803 "I<sig_t> and, when B<_GNU_SOURCE> is defined, also I<sighandler_t>.  Without "
5804 "use of such a type, the declaration of B<signal>()  is the somewhat harder "
5805 "to read:"
5806 msgstr ""
5807 "I<sighandler_t> の使用は GNU 拡張である。 各種バージョンの libc でこの型は定"
5808 "義済みである; libc4 と libc5 では I<SignalHandler> を定義している。 glibc で"
5809 "は I<sig_t> を定義しており、 B<_GNU_SOURCE> が定義されている場合には "
5810 "I<sighandler_t> も定義されている。 このような型を使用しないと、 B<signal>()  "
5811 "の宣言は読みにくいものとなる。"
5812
5813 #. type: Plain text
5814 #: build/C/man2/signal.2:160
5815 #, no-wrap
5816 msgid "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
5817 msgstr "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
5818
5819 #. type: SS
5820 #: build/C/man2/signal.2:162
5821 #, no-wrap
5822 msgid "Portability"
5823 msgstr "移植性"
5824
5825 #. type: Plain text
5826 #: build/C/man2/signal.2:174
5827 msgid ""
5828 "The only portable use of B<signal>()  is to set a signal's disposition to "
5829 "B<SIG_DFL> or B<SIG_IGN>.  The semantics when using B<signal>()  to "
5830 "establish a signal handler vary across systems (and POSIX.1 explicitly "
5831 "permits this variation); B<do not use it for this purpose.>"
5832 msgstr ""
5833 "移植性のある B<signal>()  の使い方は、シグナルの処理方法を B<SIG_DFL> か "
5834 "B<SIG_IGN> に設定する方法だけである。 シグナル・ハンドラを設定するのに "
5835 "B<signal>()  を使ったときの動作はシステムにより異なる (POSIX.1 は明示的にこの"
5836 "違いを認めている)。 B<移植性が必要なときはこのシステムコールを使用しないこ"
5837 "と。>"
5838
5839 #. type: Plain text
5840 #: build/C/man2/signal.2:180
5841 msgid ""
5842 "POSIX.1 solved the portability mess by specifying B<sigaction>(2), which "
5843 "provides explicit control of the semantics when a signal handler is invoked; "
5844 "use that interface instead of B<signal>()."
5845 msgstr ""
5846 "POSIX.1 は、 B<sigaction>(2)  を規定することで移植性に関する混乱を解決した。 "
5847 "B<sigaction>(2)  はシグナル・ハンドラが起動される際の挙動を明示的に制御でき"
5848 "る。 B<signal>()  の代わりにこのインターフェイスを使うこと。"
5849
5850 #. type: Plain text
5851 #: build/C/man2/signal.2:193
5852 msgid ""
5853 "In the original UNIX systems, when a handler that was established using "
5854 "B<signal>()  was invoked by the delivery of a signal, the disposition of the "
5855 "signal would be reset to B<SIG_DFL>, and the system did not block delivery "
5856 "of further instances of the signal.  System V also provides these semantics "
5857 "for B<signal>().  This was bad because the signal might be delivered again "
5858 "before the handler had a chance to reestablish itself.  Furthermore, rapid "
5859 "deliveries of the same signal could result in recursive invocations of the "
5860 "handler."
5861 msgstr ""
5862 "オリジナルの UNIX システムでは、 B<signal>()  を使って設定されたハンドラがシ"
5863 "グナルの配送により起動されると、 そのシグナルの処理方法は B<SIG_DFL> にリセッ"
5864 "トされ、システムは同じシグナルがさらに生成されても シグナルの配送をブロックし"
5865 "なかった。 System V でも、 B<signal>()  に対してこれらの挙動を規定している。 "
5866 "こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が 来るより前に、"
5867 "同じシグナルがまた配送される可能性がある。 さらに、同じシグナルが立て続けに配"
5868 "送されると、同じシグナルが ハンドラを繰り返し起動されることになる。"
5869
5870 #. type: Plain text
5871 #: build/C/man2/signal.2:203
5872 msgid ""
5873 "BSD improved on this situation by changing the semantics of signal handling "
5874 "(but, unfortunately, silently changed the semantics when establishing a "
5875 "handler with B<signal>()).  On BSD, when a signal handler is invoked, the "
5876 "signal disposition is not reset, and further instances of the signal are "
5877 "blocked from being delivered while the handler is executing."
5878 msgstr ""
5879 "BSD では、シグナル処理の挙動を変更することで、この状況を改善した (しかし、残"
5880 "念なことに、 B<signal>()  を使ってハンドラを設定する際に挙動が黙って変更され"
5881 "る)。 BSD では、シグナルハンドラが起動された際、 シグナルの処理方法はリセット"
5882 "されず、 ハンドラの実行中は、同じシグナルのさらなる生成は配送がブロックされ"
5883 "る。"
5884
5885 #. type: Plain text
5886 #: build/C/man2/signal.2:205
5887 msgid "The situation on Linux is as follows:"
5888 msgstr "Linux での状況は以下の通りである。"
5889
5890 #. type: Plain text
5891 #: build/C/man2/signal.2:209
5892 msgid "The kernel's B<signal>()  system call provides System V semantics."
5893 msgstr "カーネルの B<signal>()  システムコールは System V 方式を提供している。"
5894
5895 #. type: Plain text
5896 #: build/C/man2/signal.2:225
5897 msgid ""
5898 "By default, in glibc 2 and later, the B<signal>()  wrapper function does not "
5899 "invoke the kernel system call.  Instead, it calls B<sigaction>(2)  using "
5900 "flags that supply BSD semantics.  This default behavior is provided as long "
5901 "as the B<_BSD_SOURCE> feature test macro is defined.  By default, "
5902 "B<_BSD_SOURCE> is defined; it is also implicitly defined if one defines "
5903 "B<_GNU_SOURCE>, and can of course be explicitly defined."
5904 msgstr ""
5905 "デフォルトでは、glibc 2 以降では、 B<signal>()  ラッパー関数はカーネルのシス"
5906 "テムコールを起動しない。 代わりに、ラッパー関数は BSD 方式を示すフラグを使っ"
5907 "て B<sigaction>(2)  を呼び出す。 機能検査マクロ B<_BSD_SOURCE> を定義していれ"
5908 "ば、このデフォルトの動作となる。 デフォルトでは、 B<_BSD_SOURCE> が定義され"
5909 "る。 B<_BSD_SOURCE> は B<_GNU_SOURCE> が定義された場合には暗黙のうちに定義さ"
5910 "れ、 もちろん明示的に定義することもできる。"
5911
5912 #.  System V semantics are also provided if one uses the separate
5913 #.  .BR sysv_signal (3)
5914 #.  function.
5915 #. type: Plain text
5916 #: build/C/man2/signal.2:248
5917 msgid ""
5918 "On glibc 2 and later, if the B<_BSD_SOURCE> feature test macro is not "
5919 "defined, then B<signal>()  provides System V semantics.  (The default "
5920 "implicit definition of B<_BSD_SOURCE> is not provided if one invokes B<gcc>"
5921 "(1)  in one of its standard modes (I<-std=xxx> or I<-ansi>)  or defines "
5922 "various other feature test macros such as B<_POSIX_SOURCE>, "
5923 "B<_XOPEN_SOURCE>, or B<_SVID_SOURCE>; see B<feature_test_macros>(7).)"
5924 msgstr ""
5925 "glibc 2 以降では、機能検査マクロ B<_BSD_SOURCE> が定義されていなければ、 "
5926 "B<signal>()  は System V 方式となる。 (B<gcc>(1)  が標準指定モード (I<-"
5927 "std=xxx> or I<-ansi>)  で起動された場合、もしくは B<_POSIX_SOURCE>, "
5928 "B<_XOPEN_SOURCE>, B<_SVID_SOURCE> といった他の様々な機能検査マクロが定義され"
5929 "た場合、 デフォルトの B<_BSD_SOURCE> の暗黙の定義は行われない。 "
5930 "B<feature_test_macros>(7)  を参照のこと。)"
5931
5932 #. type: Plain text
5933 #: build/C/man2/signal.2:259
5934 msgid ""
5935 "The B<signal>()  function in Linux libc4 and libc5 provide System V "
5936 "semantics.  If one on a libc5 system includes I<E<lt>bsd/signal.hE<gt>> "
5937 "instead of I<E<lt>signal.hE<gt>>, then B<signal>()  provides BSD semantics."
5938 msgstr ""
5939 "Linux の libc4 と libc5 の B<signal>()  関数は System V 方式である。 libc5 シ"
5940 "ステムにおいて I<E<lt>signal.hE<gt>> のかわりに I<E<lt>bsd/signal.hE<gt>> を"
5941 "インクルードすると、 B<signal>()  は B<__bsd_signal>()  に再定義され、 "
5942 "B<signal>()  は BSD 方式となる。"
5943
5944 #. type: Plain text
5945 #: build/C/man2/signal.2:278
5946 msgid ""
5947 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
5948 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
5949 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
5950 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
5951 msgstr ""
5952 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
5953 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
5954 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
5955 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
5956
5957 #. type: Plain text
5958 #: build/C/man7/signal.7:47
5959 msgid "signal - overview of signals"
5960 msgstr "signal - シグナルの概要"
5961
5962 #. type: Plain text
5963 #: build/C/man7/signal.7:50
5964 msgid ""
5965 "Linux supports both POSIX reliable signals (hereinafter \"standard signals"
5966 "\") and POSIX real-time signals."
5967 msgstr ""
5968 "Linux は POSIX 信頼シグナル (reliable signal; 以後 \"標準シグナル\"と表記)  "
5969 "と POSIX リアルタイムシグナルの両方に対応している。"
5970
5971 #. type: SS
5972 #: build/C/man7/signal.7:50
5973 #, no-wrap
5974 msgid "Signal Dispositions"
5975 msgstr "シグナル処理方法"
5976
5977 #. type: Plain text
5978 #: build/C/man7/signal.7:55
5979 msgid ""
5980 "Each signal has a current I<disposition>, which determines how the process "
5981 "behaves when it is delivered the signal."
5982 msgstr ""
5983 "シグナルはそれぞれ現在の「処理方法 (disposition)」を保持しており、 この処理方"
5984 "法によりシグナルが配送された際にプロセスが どのような振舞いをするかが決まる。"
5985
5986 #. type: Plain text
5987 #: build/C/man7/signal.7:58
5988 msgid ""
5989 "The entries in the \"Action\" column of the tables below specify the default "
5990 "disposition for each signal, as follows:"
5991 msgstr ""
5992 "後述の表の \"動作\" の欄のエントリは各シグナルのデフォルトの 処理方法を示して"
5993 "おり、以下のような意味を持つ。"
5994
5995 #. type: IP
5996 #: build/C/man7/signal.7:58
5997 #, no-wrap
5998 msgid "Term"
5999 msgstr "Term"
6000
6001 #. type: Plain text
6002 #: build/C/man7/signal.7:60
6003 msgid "Default action is to terminate the process."
6004 msgstr "デフォルトの動作はプロセス終了。"
6005
6006 #. type: IP
6007 #: build/C/man7/signal.7:60
6008 #, no-wrap
6009 msgid "Ign"
6010 msgstr "Ign"
6011
6012 #. type: Plain text
6013 #: build/C/man7/signal.7:62
6014 msgid "Default action is to ignore the signal."
6015 msgstr "デフォルトの動作はこのシグナルの無視。"
6016
6017 #. type: IP
6018 #: build/C/man7/signal.7:62
6019 #, no-wrap
6020 msgid "Core"
6021 msgstr "Core"
6022
6023 #. type: Plain text
6024 #: build/C/man7/signal.7:65
6025 msgid ""
6026 "Default action is to terminate the process and dump core (see B<core>(5))."
6027 msgstr "デフォルトの動作はプロセス終了とコアダンプ出力 (B<core>(5)  参照)。"
6028
6029 #. type: IP
6030 #: build/C/man7/signal.7:65
6031 #, no-wrap
6032 msgid "Stop"
6033 msgstr "Stop"
6034
6035 #. type: Plain text
6036 #: build/C/man7/signal.7:67
6037 msgid "Default action is to stop the process."
6038 msgstr "デフォルトの動作はプロセスの一時停止。"
6039
6040 #. type: IP
6041 #: build/C/man7/signal.7:67
6042 #, no-wrap
6043 msgid "Cont"
6044 msgstr "Cont"
6045
6046 #. type: Plain text
6047 #: build/C/man7/signal.7:69
6048 msgid "Default action is to continue the process if it is currently stopped."
6049 msgstr "デフォルトの動作は、プロセスが停止中の場合にその実行の再開。"
6050
6051 #. type: Plain text
6052 #: build/C/man7/signal.7:91
6053 msgid ""
6054 "A process can change the disposition of a signal using B<sigaction>(2)  or "
6055 "B<signal>(2).  (The latter is less portable when establishing a signal "
6056 "handler; see B<signal>(2)  for details.)  Using these system calls, a "
6057 "process can elect one of the following behaviors to occur on delivery of the "
6058 "signal: perform the default action; ignore the signal; or catch the signal "
6059 "with a I<signal handler>, a programmer-defined function that is "
6060 "automatically invoked when the signal is delivered.  (By default, the signal "
6061 "handler is invoked on the normal process stack.  It is possible to arrange "
6062 "that the signal handler uses an alternate stack; see B<sigaltstack>(2)  for "
6063 "a discussion of how to do this and when it might be useful.)"
6064 msgstr ""
6065 "プロセスは、 B<sigaction>(2)  や B<signal>(2)  を使って、シグナルの処理方法を"
6066 "変更することができる (B<signal>(2)  の方がシグナルハンドラを設定する際の移植"
6067 "性が低い; 詳細は B<signal>(2)  を参照)。 シグナルの配送時に起こる動作として "
6068 "プロセスが選択できるのは、次のいずれか一つである。 デフォルトの動作を実行す"
6069 "る、シグナルを無視する、 I<シグナルハンドラ (signal handler)> でシグナルを捕"
6070 "捉する。シグナルハンドラとは、シグナル配送時に 自動的に起動されるプログラマ定"
6071 "義の関数である。 (デフォルトでは、シグナルハンドラは通常のプロセスのスタック"
6072 "上で起動される。 シグナルハンドラが代替スタック (alternate stack) を使用する"
6073 "ように設定する こともできる。代替スタックを使用するように設定する方法と、どの"
6074 "ような際に 代替スタックが役に立つかについての議論については B<sigaltstack>"
6075 "(2)  を参照のこと。"
6076
6077 #. type: Plain text
6078 #: build/C/man7/signal.7:95
6079 msgid ""
6080 "The signal disposition is a per-process attribute: in a multithreaded "
6081 "application, the disposition of a particular signal is the same for all "
6082 "threads."
6083 msgstr ""
6084 "シグナルの処理方法はプロセス単位の属性である。 マルチスレッドのアプリケーショ"
6085 "ンでは、あるシグナルの処理方法は 全てのスレッドで同じである。"
6086
6087 #. type: SS
6088 #: build/C/man7/signal.7:103
6089 #, no-wrap
6090 msgid "Sending a Signal"
6091 msgstr "シグナルの送信"
6092
6093 #. type: Plain text
6094 #: build/C/man7/signal.7:106
6095 msgid ""
6096 "The following system calls and library functions allow the caller to send a "
6097 "signal:"
6098 msgstr ""
6099 "以下のシステムコールとライブラリ関数を使って、 呼び出し者はシグナルを送信する"
6100 "ことができる。"
6101
6102 #. type: TP
6103 #: build/C/man7/signal.7:106
6104 #, no-wrap
6105 msgid "B<raise>(3)"
6106 msgstr "B<raise>(3)"
6107
6108 #. type: Plain text
6109 #: build/C/man7/signal.7:109
6110 msgid "Sends a signal to the calling thread."
6111 msgstr "呼び出したスレッドにシグナルを送る。"
6112
6113 #. type: TP
6114 #: build/C/man7/signal.7:109
6115 #, no-wrap
6116 msgid "B<kill>(2)"
6117 msgstr "B<kill>(2)"
6118
6119 #. type: Plain text
6120 #: build/C/man7/signal.7:114
6121 msgid ""
6122 "Sends a signal to a specified process, to all members of a specified process "
6123 "group, or to all processes on the system."
6124 msgstr ""
6125 "指定されたプロセスや、指定されたプロセスグループの全メンバー、 システムの全プ"
6126 "ロセスにシグナルを送る。"
6127
6128 #. type: TP
6129 #: build/C/man7/signal.7:114
6130 #, no-wrap
6131 msgid "B<killpg>(2)"
6132 msgstr "B<killpg>(2)"
6133
6134 #. type: Plain text
6135 #: build/C/man7/signal.7:117
6136 msgid "Sends a signal to all of the members of a specified process group."
6137 msgstr "指定されたプロセスグループの全メンバーにシグナルを送る。"
6138
6139 #. type: TP
6140 #: build/C/man7/signal.7:117
6141 #, no-wrap
6142 msgid "B<pthread_kill>(3)"
6143 msgstr "B<pthread_kill>(3)"
6144
6145 #. type: Plain text
6146 #: build/C/man7/signal.7:121
6147 msgid ""
6148 "Sends a signal to a specified POSIX thread in the same process as the caller."
6149 msgstr ""
6150 "呼び出し者と同じプロセス内の指定された POSIX スレッドにシグナルを送る。"
6151
6152 #. type: TP
6153 #: build/C/man7/signal.7:121
6154 #, no-wrap
6155 msgid "B<tgkill>(2)"
6156 msgstr "B<tgkill>(2)"
6157
6158 #. type: Plain text
6159 #: build/C/man7/signal.7:126
6160 msgid ""
6161 "Sends a signal to a specified thread within a specific process.  (This is "
6162 "the system call used to implement B<pthread_kill>(3).)"
6163 msgstr ""
6164 "指定されたプロセス内の指定されたスレッドにシグナルを送る (このシステムコール"
6165 "を使って B<pthread_kill>(3)  は実装されている)。"
6166
6167 #. type: Plain text
6168 #: build/C/man7/signal.7:129
6169 msgid "Sends a real-time signal with accompanying data to a specified process."
6170 msgstr "指定されたプロセスに付属データとともにリアルタイムシグナルを送る。"
6171
6172 #. type: SS
6173 #: build/C/man7/signal.7:129
6174 #, no-wrap
6175 msgid "Waiting for a Signal to be Caught"
6176 msgstr "シグナルが捕捉されるのを待つ"
6177
6178 #. type: Plain text
6179 #: build/C/man7/signal.7:133
6180 msgid ""
6181 "The following system calls suspend execution of the calling process or "
6182 "thread until a signal is caught (or an unhandled signal terminates the "
6183 "process):"
6184 msgstr ""
6185 "以下のシステムコールを使って、シグナルが捕捉されるまで 呼び出したプロセスやス"
6186 "レッドの実行を中断 (suspend) することができる (ハンドラが設定されていないシグ"
6187 "ナルによりそのプロセスが終了した 場合にも実行の停止は終了する)。"
6188
6189 #. type: TP
6190 #: build/C/man7/signal.7:133
6191 #, no-wrap
6192 msgid "B<pause>(2)"
6193 msgstr "B<pause>(2)"
6194
6195 #. type: Plain text
6196 #: build/C/man7/signal.7:136
6197 msgid "Suspends execution until any signal is caught."
6198 msgstr "何かシグナルが捕捉されるまで実行を停止する。"
6199
6200 #. type: TP
6201 #: build/C/man7/signal.7:136
6202 #, no-wrap
6203 msgid "B<sigsuspend>(2)"
6204 msgstr "B<sigsuspend>(2)"
6205
6206 #. type: Plain text
6207 #: build/C/man7/signal.7:140
6208 msgid ""
6209 "Temporarily changes the signal mask (see below) and suspends execution until "
6210 "one of the unmasked signals is caught."
6211 msgstr ""
6212 "一時的にシグナルマスク (下記参照) を変更し、 マスクされていないシグナルのいず"
6213 "れかが捕捉されるまで 実行を中断する。"
6214
6215 #. type: SS
6216 #: build/C/man7/signal.7:140
6217 #, no-wrap
6218 msgid "Synchronously Accepting a Signal"
6219 msgstr "シグナルの同期受信"
6220
6221 #. type: Plain text
6222 #: build/C/man7/signal.7:147
6223 msgid ""
6224 "Rather than asynchronously catching a signal via a signal handler, it is "
6225 "possible to synchronously accept the signal, that is, to block execution "
6226 "until the signal is delivered, at which point the kernel returns information "
6227 "about the signal to the caller.  There are two general ways to do this:"
6228 msgstr ""
6229 "シグナルハンドラ経由でシグナルを非同期 (asynchronously) で捕捉する以外にも、 "
6230 "シグナルを同期 (synchronously) して受け付けることもできる。 同期して受け付け"
6231 "るとは、シグナルが配送されるまで実行を停止 (block)  するということである。シ"
6232 "グナルを受け付けた際に、カーネルは そのシグナルに関する情報を呼び出し者に返"
6233 "す。 これを行う一般的な方法が二つある。"
6234
6235 #. type: Plain text
6236 #: build/C/man7/signal.7:155
6237 msgid ""
6238 "B<sigwaitinfo>(2), B<sigtimedwait>(2), and B<sigwait>(3)  suspend execution "
6239 "until one of the signals in a specified set is delivered.  Each of these "
6240 "calls returns information about the delivered signal."
6241 msgstr ""
6242 "B<sigwaitinfo>(2), B<sigtimedwait>(2), B<sigwait>(3)  は、指定されたシグナル"
6243 "集合のシグナルの一つが配送されるまで実行を中断する。 どのシステムコールや関数"
6244 "でも、配送されたシグナルに関する情報が返される。"
6245
6246 #. type: Plain text
6247 #: build/C/man7/signal.7:168
6248 msgid ""
6249 "B<signalfd>(2)  returns a file descriptor that can be used to read "
6250 "information about signals that are delivered to the caller.  Each B<read>"
6251 "(2)  from this file descriptor blocks until one of the signals in the set "
6252 "specified in the B<signalfd>(2)  call is delivered to the caller.  The "
6253 "buffer returned by B<read>(2)  contains a structure describing the signal."
6254 msgstr ""
6255 "B<signalfd>(2)  が返すファイルディスクリプタを使うと、呼び出し元に配送された "
6256 "シグナルに関する情報を読み出すことができる。 このファイルディスクリプタから"
6257 "の B<read>(2)  は、 B<signalfd>(2)  の呼び出し時に指定されたシグナル集合のシ"
6258 "グナルの一つが呼び出し元に 配送されるまで停止 (block) する。 B<read>(2)  が返"
6259 "すバッファにはシグナルに関する情報を格納した構造体が入っている。"
6260
6261 #. type: SS
6262 #: build/C/man7/signal.7:168
6263 #, no-wrap
6264 msgid "Signal Mask and Pending Signals"
6265 msgstr "シグナルマスクと処理待ちシグナル"
6266
6267 #. type: Plain text
6268 #: build/C/man7/signal.7:175
6269 msgid ""
6270 "A signal may be I<blocked>, which means that it will not be delivered until "
6271 "it is later unblocked.  Between the time when it is generated and when it is "
6272 "delivered a signal is said to be I<pending>."
6273 msgstr ""
6274 "シグナルは I<ブロック (block)> されることがある。ブロックされると、そのシグナ"
6275 "ルは その後ブロックを解除されるまで配送されなくなる。 シグナルが生成されてか"
6276 "ら配送されるまでの間、そのシグナルは I<処理待ち (pending)> であると呼ばれる。"
6277
6278 #. type: Plain text
6279 #: build/C/man7/signal.7:184
6280 msgid ""
6281 "Each thread in a process has an independent I<signal mask>, which indicates "
6282 "the set of signals that the thread is currently blocking.  A thread can "
6283 "manipulate its signal mask using B<pthread_sigmask>(3).  In a traditional "
6284 "single-threaded application, B<sigprocmask>(2)  can be used to manipulate "
6285 "the signal mask."
6286 msgstr ""
6287 "プロセス内の各スレッドは、それぞれ独立な I<シグナルマスク (signal mask)> を持"
6288 "つ。シグナルマスクはそのスレッドが現在ブロックしている シグナル集合を示すもの"
6289 "である。 スレッドは、 B<pthread_sigmask>(3)  を使って自分のシグナルマスクを操"
6290 "作できる。 伝統的なシングルスレッドのアプリケーションでは、 B<sigprocmask>"
6291 "(2)  を使って、シグナルマスクを操作できる。"
6292
6293 #. type: Plain text
6294 #: build/C/man7/signal.7:190 build/C/man2/sigprocmask.2:113
6295 msgid ""
6296 "A child created via B<fork>(2)  inherits a copy of its parent's signal mask; "
6297 "the signal mask is preserved across B<execve>(2)."
6298 msgstr ""
6299 "B<fork>(2)  経由で作成された子プロセスは親プロセスのシグナルマスクのコピーを"
6300 "継承する。 B<execve>(2)  の前後でシグナルマスクは保持される。"
6301
6302 #. type: Plain text
6303 #: build/C/man7/signal.7:207
6304 msgid ""
6305 "A signal may be generated (and thus pending)  for a process as a whole (e."
6306 "g., when sent using B<kill>(2))  or for a specific thread (e.g., certain "
6307 "signals, such as B<SIGSEGV> and B<SIGFPE>, generated as a consequence of "
6308 "executing a specific machine-language instruction are thread directed, as "
6309 "are signals targeted at a specific thread using B<pthread_kill>(3)).  A "
6310 "process-directed signal may be delivered to any one of the threads that does "
6311 "not currently have the signal blocked.  If more than one of the threads has "
6312 "the signal unblocked, then the kernel chooses an arbitrary thread to which "
6313 "to deliver the signal."
6314 msgstr ""
6315 "生成されるシグナル (したがって処理待ちとなるシグナル) には、 プロセス全体宛て"
6316 "と特定のスレッド宛てがある。 例えば、プロセス全体宛てのシグナルは B<kill>"
6317 "(2)  を使って送信される。 特定のマシン語の命令の実行の結果として生成される、 "
6318 "B<SIGSEGV> や B<SIGFPE> などのシグナルは、スレッド宛てとなる。 また、 "
6319 "B<pthread_kill>(3)  を使って特定のスレッド宛てに生成されたシグナルも スレッド"
6320 "宛てとなる。 プロセス宛てのシグナルは、そのシグナルをブロックしていないスレッ"
6321 "ドのうち いずれかの一つに配送することができる。そのシグナルをブロックしていな"
6322 "い スレッドが複数ある場合、シグナルを配送するスレッドはカーネルが 無作為に選"
6323 "択する。"
6324
6325 #. type: Plain text
6326 #: build/C/man7/signal.7:214
6327 msgid ""
6328 "A thread can obtain the set of signals that it currently has pending using "
6329 "B<sigpending>(2).  This set will consist of the union of the set of pending "
6330 "process-directed signals and the set of signals pending for the calling "
6331 "thread."
6332 msgstr ""
6333 "スレッドは、 B<sigpending>(2)  を使って、現在処理待ちのシグナル集合を取得する"
6334 "ことができる。 この集合は、プロセス宛ての処理待ちシグナルと 呼び出したスレッ"
6335 "ド宛てのシグナルの両方から構成される。"
6336
6337 #. type: Plain text
6338 #: build/C/man7/signal.7:220 build/C/man2/sigpending.2:76
6339 msgid ""
6340 "A child created via B<fork>(2)  initially has an empty pending signal set; "
6341 "the pending signal set is preserved across an B<execve>(2)."
6342 msgstr ""
6343 "B<fork>(2)  経由で作成された子プロセスでは、処理待ちのシグナル集合は空の集合"
6344 "で初期化される。 B<execve>(2)  の前後で、処理待ちのシグナル集合は保持される。"
6345
6346 #. type: SS
6347 #: build/C/man7/signal.7:220
6348 #, no-wrap
6349 msgid "Standard Signals"
6350 msgstr "標準シグナル"
6351
6352 #.  parisc is a law unto itself
6353 #. type: Plain text
6354 #: build/C/man7/signal.7:230
6355 msgid ""
6356 "Linux supports the standard signals listed below.  Several signal numbers "
6357 "are architecture-dependent, as indicated in the \"Value\" column.  (Where "
6358 "three values are given, the first one is usually valid for alpha and sparc, "
6359 "the middle one for ix86, ia64, ppc, s390, arm and sh, and the last one for "
6360 "mips.  A - denotes that a signal is absent on the corresponding "
6361 "architecture.)"
6362 msgstr ""
6363 "Linux は以下に示す標準シグナルに対応している。 シグナル番号の一部はアーキテク"
6364 "チャ依存であり、\"値\" 欄に示す通りである。 (3つの値が書かれているものは、 1"
6365 "つ目が alpha と sparc で通常有効な値、 真ん中が ix86, ia64, ppc, s390, arm, "
6366 "sh での値、最後が mips での値である。 - はそのアーキテクチャにおいて対応する"
6367 "シグナルがないことを示す。)"
6368
6369 #. type: Plain text
6370 #: build/C/man7/signal.7:232
6371 msgid "First the signals described in the original POSIX.1-1990 standard."
6372 msgstr "最初に、POSIX.1-1990 に定義されているシグナルを示す。"
6373
6374 #. type: tbl table
6375 #: build/C/man7/signal.7:236 build/C/man7/signal.7:272
6376 #: build/C/man7/signal.7:301
6377 #, no-wrap
6378 msgid "Signal\tValue\tAction\tComment\n"
6379 msgstr "シグナル\t値\t動作\tコメント\n"
6380
6381 #. type: tbl table
6382 #: build/C/man7/signal.7:237
6383 #, no-wrap
6384 msgid "SIGHUP\t\\01\tTerm\tHangup detected on controlling terminal\n"
6385 msgstr "SIGHUP\t\\01\tTerm\t制御端末(controlling terminal)のハングアップ検出、\n"
6386
6387 #. type: tbl table
6388 #: build/C/man7/signal.7:238
6389 #, no-wrap
6390 msgid "\t\t\tor death of controlling process\n"
6391 msgstr "\t\t\tまたは制御しているプロセスの死\n"
6392
6393 #. type: tbl table
6394 #: build/C/man7/signal.7:239
6395 #, no-wrap
6396 msgid "SIGINT\t\\02\tTerm\tInterrupt from keyboard\n"
6397 msgstr "SIGINT\t\\02\tTerm\tキーボードからの割り込み (Interrupt)\n"
6398
6399 #. type: tbl table
6400 #: build/C/man7/signal.7:240
6401 #, no-wrap
6402 msgid "SIGQUIT\t\\03\tCore\tQuit from keyboard\n"
6403 msgstr "SIGQUIT\t\\03\tCore\tキーボードによる中止 (Quit)\n"
6404
6405 #. type: tbl table
6406 #: build/C/man7/signal.7:241
6407 #, no-wrap
6408 msgid "SIGILL\t\\04\tCore\tIllegal Instruction\n"
6409 msgstr "SIGILL\t\\04\tCore\t不正な命令\n"
6410
6411 #. type: tbl table
6412 #: build/C/man7/signal.7:242
6413 #, no-wrap
6414 msgid "SIGABRT\t\\06\tCore\tAbort signal from B<abort>(3)\n"
6415 msgstr "SIGABRT\t\\06\tCore\tB<abort>(3) からの中断 (Abort) シグナル\n"
6416
6417 #. type: tbl table
6418 #: build/C/man7/signal.7:243
6419 #, no-wrap
6420 msgid "SIGFPE\t\\08\tCore\tFloating point exception\n"
6421 msgstr "SIGFPE\t\\08\tCore\t浮動小数点例外\n"
6422
6423 #. type: tbl table
6424 #: build/C/man7/signal.7:244
6425 #, no-wrap
6426 msgid "SIGKILL\t\\09\tTerm\tKill signal\n"
6427 msgstr "SIGKILL\t\\09\tTerm\tKill シグナル\n"
6428
6429 #. type: tbl table
6430 #: build/C/man7/signal.7:245
6431 #, no-wrap
6432 msgid "SIGSEGV\t11\tCore\tInvalid memory reference\n"
6433 msgstr "SIGSEGV\t11\tCore\t不正なメモリ参照\n"
6434
6435 #. type: tbl table
6436 #: build/C/man7/signal.7:246
6437 #, no-wrap
6438 msgid "SIGPIPE\t13\tTerm\tBroken pipe: write to pipe with no\n"
6439 msgstr "SIGPIPE\t13\tTerm\tパイプ破壊:\n"
6440
6441 #. type: tbl table
6442 #: build/C/man7/signal.7:247
6443 #, no-wrap
6444 msgid "\t\t\treaders\n"
6445 msgstr "\t\t\t読み手の無いパイプへの書き出し\n"
6446
6447 #. type: tbl table
6448 #: build/C/man7/signal.7:248
6449 #, no-wrap
6450 msgid "SIGALRM\t14\tTerm\tTimer signal from B<alarm>(2)\n"
6451 msgstr "SIGALRM\t14\tTerm\tB<alarm>(2) からのタイマーシグナル\n"
6452
6453 #. type: tbl table
6454 #: build/C/man7/signal.7:249
6455 #, no-wrap
6456 msgid "SIGTERM\t15\tTerm\tTermination signal\n"
6457 msgstr "SIGTERM\t15\tTerm\t終了 (termination) シグナル\n"
6458
6459 #. type: tbl table
6460 #: build/C/man7/signal.7:250
6461 #, no-wrap
6462 msgid "SIGUSR1\t30,10,16\tTerm\tUser-defined signal 1\n"
6463 msgstr "SIGUSR1\t30,10,16\tTerm\tユーザ定義シグナル 1\n"
6464
6465 #. type: tbl table
6466 #: build/C/man7/signal.7:251
6467 #, no-wrap
6468 msgid "SIGUSR2\t31,12,17\tTerm\tUser-defined signal 2\n"
6469 msgstr "SIGUSR2\t31,12,17\tTerm\tユーザ定義シグナル 2\n"
6470
6471 #. type: tbl table
6472 #: build/C/man7/signal.7:252
6473 #, no-wrap
6474 msgid "SIGCHLD\t20,17,18\tIgn\tChild stopped or terminated\n"
6475 msgstr "SIGCHLD\t20,17,18\tIgn\t子プロセスの一時停止 (stop) または終了\n"
6476
6477 #. type: tbl table
6478 #: build/C/man7/signal.7:253
6479 #, no-wrap
6480 msgid "SIGCONT\t19,18,25\tCont\tContinue if stopped\n"
6481 msgstr "SIGCONT\t19,18,25\tCont\t一時停止 (stop) からの再開\n"
6482
6483 #. type: tbl table
6484 #: build/C/man7/signal.7:254
6485 #, no-wrap
6486 msgid "SIGSTOP\t17,19,23\tStop\tStop process\n"
6487 msgstr "SIGSTOP\t17,19,23\tStop\tプロセスの一時停止 (stop)\n"
6488
6489 #. type: tbl table
6490 #: build/C/man7/signal.7:255
6491 #, no-wrap
6492 msgid "SIGTSTP\t18,20,24\tStop\tStop typed at tty\n"
6493 msgstr "SIGTSTP\t18,20,24\tStop\t端末 (tty) より入力された一時停止 (stop)\n"
6494
6495 #. type: tbl table
6496 #: build/C/man7/signal.7:256
6497 #, no-wrap
6498 msgid "SIGTTIN\t21,21,26\tStop\ttty input for background process\n"
6499 msgstr "SIGTTIN\t21,21,26\tStop\tバックグランドプロセスの tty 入力\n"
6500
6501 #. type: tbl table
6502 #: build/C/man7/signal.7:257
6503 #, no-wrap
6504 msgid "SIGTTOU\t22,22,27\tStop\ttty output for background process\n"
6505 msgstr "SIGTTOU\t22,22,27\tStop\tバックグランドプロセスの tty 出力\n"
6506
6507 #. type: Plain text
6508 #: build/C/man7/signal.7:265
6509 msgid ""
6510 "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught, blocked, or ignored."
6511 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> はキャッチ、ブロック、無視できない。"
6512
6513 #. type: Plain text
6514 #: build/C/man7/signal.7:268
6515 msgid ""
6516 "Next the signals not in the POSIX.1-1990 standard but described in SUSv2 and "
6517 "POSIX.1-2001."
6518 msgstr ""
6519 "次に、 POSIX.1-1990 標準にはないが、 SUSv2 と POSIX.1-2001 に記述されているシ"
6520 "グナルを示す。"
6521
6522 #. type: tbl table
6523 #: build/C/man7/signal.7:273
6524 #, no-wrap
6525 msgid "SIGBUS\t10,7,10\tCore\tBus error (bad memory access)\n"
6526 msgstr "SIGBUS\t10,7,10\tCore\tバスエラー (不正なメモリアクセス)\n"
6527
6528 #. type: tbl table
6529 #: build/C/man7/signal.7:274
6530 #, no-wrap
6531 msgid "SIGPOLL\t\tTerm\tPollable event (Sys V).\n"
6532 msgstr "SIGPOLL\t\tTerm\tポーリング可能なイベント (Sys V)。\n"
6533
6534 #. type: tbl table
6535 #: build/C/man7/signal.7:275
6536 #, no-wrap
6537 msgid "\t\t\tSynonym for B<SIGIO>\n"
6538 msgstr "\t\t\tB<SIGIO> と同義\n"
6539
6540 #. type: tbl table
6541 #: build/C/man7/signal.7:276
6542 #, no-wrap
6543 msgid "SIGPROF\t27,27,29\tTerm\tProfiling timer expired\n"
6544 msgstr "SIGPROF\t27,27,29\tTerm\tprofiling タイマの時間切れ\n"
6545
6546 #. type: tbl table
6547 #: build/C/man7/signal.7:277
6548 #, no-wrap
6549 msgid "SIGSYS\t12,31,12\tCore\tBad argument to routine (SVr4)\n"
6550 msgstr "SIGSYS\t12,31,12\tCore\tルーチンへの引き数が不正 (SVr4)\n"
6551
6552 #. type: tbl table
6553 #: build/C/man7/signal.7:278
6554 #, no-wrap
6555 msgid "SIGTRAP\t5\tCore\tTrace/breakpoint trap\n"
6556 msgstr "SIGTRAP\t5\tCore\tトレース/ブレークポイント トラップ\n"
6557
6558 #. type: tbl table
6559 #: build/C/man7/signal.7:279
6560 #, no-wrap
6561 msgid "SIGURG\t16,23,21\tIgn\tUrgent condition on socket (4.2BSD)\n"
6562 msgstr "SIGURG\t16,23,21\tIgn\tソケットの緊急事態 (urgent condition) (4.2BSD)\n"
6563
6564 #. type: tbl table
6565 #: build/C/man7/signal.7:280
6566 #, no-wrap
6567 msgid "SIGVTALRM\t26,26,28\tTerm\tVirtual alarm clock (4.2BSD)\n"
6568 msgstr "SIGVTALRM\t26,26,28\tTerm\t仮想アラームクロック (4.2BSD)\n"
6569
6570 #. type: tbl table
6571 #: build/C/man7/signal.7:281
6572 #, no-wrap
6573 msgid "SIGXCPU\t24,24,30\tCore\tCPU time limit exceeded (4.2BSD)\n"
6574 msgstr "SIGXCPU\t24,24,30\tCore\tCPU時間制限超過 (4.2BSD)\n"
6575
6576 #. type: tbl table
6577 #: build/C/man7/signal.7:282
6578 #, no-wrap
6579 msgid "SIGXFSZ\t25,25,31\tCore\tFile size limit exceeded (4.2BSD)\n"
6580 msgstr "SIGXFSZ\t25,25,31\tCore\tファイルサイズ制限の超過 (4.2BSD)\n"
6581
6582 #. type: Plain text
6583 #: build/C/man7/signal.7:295
6584 msgid ""
6585 "Up to and including Linux 2.2, the default behavior for B<SIGSYS>, "
6586 "B<SIGXCPU>, B<SIGXFSZ>, and (on architectures other than SPARC and MIPS)  "
6587 "B<SIGBUS> was to terminate the process (without a core dump).  (On some "
6588 "other UNIX systems the default action for B<SIGXCPU> and B<SIGXFSZ> is to "
6589 "terminate the process without a core dump.)  Linux 2.4 conforms to the "
6590 "POSIX.1-2001 requirements for these signals, terminating the process with a "
6591 "core dump."
6592 msgstr ""
6593 "Linux 2.2 以前では、 B<SIGSYS>, B<SIGXCPU>, B<SIGXFSZ> および SPARC と MIPS "
6594 "以外のアーキテクチャでの B<SIGBUS> のデフォルトの振る舞いは (コアダンプ出力な"
6595 "しの) プロセス終了であった。 (他の UNIX システムにも B<SIGXCPU> と "
6596 "B<SIGXFSZ> のデフォルトの動作がコアダンプなしのプロセス終了のものがある。)  "
6597 "Linux 2.4 では、POSIX.1-2001 での要求仕様に準拠して、 これらのシグナルで、プ"
6598 "ロセスを終了させ、コアダンプを出力する ようになっている。"
6599
6600 #. type: Plain text
6601 #: build/C/man7/signal.7:297
6602 msgid "Next various other signals."
6603 msgstr "次にその他の各種シグナルを示す。"
6604
6605 #. type: tbl table
6606 #: build/C/man7/signal.7:302
6607 #, no-wrap
6608 msgid "SIGIOT\t6\tCore\tIOT trap. A synonym for B<SIGABRT>\n"
6609 msgstr "SIGIOT\t6\tCore\tIOT トラップ。B<SIGABRT> と同義\n"
6610
6611 #. type: tbl table
6612 #: build/C/man7/signal.7:303
6613 #, no-wrap
6614 msgid "SIGEMT\t7,-,7\tTerm\n"
6615 msgstr "SIGEMT\t7,-,7\tTerm\n"
6616
6617 #. type: tbl table
6618 #: build/C/man7/signal.7:304
6619 #, no-wrap
6620 msgid "SIGSTKFLT\t-,16,-\tTerm\tStack fault on coprocessor (unused)\n"
6621 msgstr "SIGSTKFLT\t-,16,-\tA\t数値演算プロセッサにおけるスタックフォルト (未使用)\n"
6622
6623 #. type: tbl table
6624 #: build/C/man7/signal.7:305
6625 #, no-wrap
6626 msgid "SIGIO\t23,29,22\tTerm\tI/O now possible (4.2BSD)\n"
6627 msgstr "SIGIO\t23,29,22\tTerm\t入出力が可能になった (4.2BSD)\n"
6628
6629 #. type: tbl table
6630 #: build/C/man7/signal.7:306
6631 #, no-wrap
6632 msgid "SIGCLD\t-,-,18\tIgn\tA synonym for B<SIGCHLD>\n"
6633 msgstr "SIGCLD\t-,-,18\tIgn\tB<SIGCHLD> と同義\n"
6634
6635 #. type: tbl table
6636 #: build/C/man7/signal.7:307
6637 #, no-wrap
6638 msgid "SIGPWR\t29,30,19\tTerm\tPower failure (System V)\n"
6639 msgstr "SIGPWR\t29,30,19\tTerm\t電源喪失 (Power failure) (System V)\n"
6640
6641 #. type: tbl table
6642 #: build/C/man7/signal.7:308
6643 #, no-wrap
6644 msgid "SIGINFO\t29,-,-\t\tA synonym for B<SIGPWR>\n"
6645 msgstr "SIGINFO\t29,-,-\t \tB<SIGPWR> と同義\n"
6646
6647 #. type: tbl table
6648 #: build/C/man7/signal.7:309
6649 #, no-wrap
6650 msgid "SIGLOST\t-,-,-\tTerm\tFile lock lost\n"
6651 msgstr "SIGLOST\t-,-,-\tTerm\tファイルロックが失われた\n"
6652
6653 #. type: tbl table
6654 #: build/C/man7/signal.7:310
6655 #, no-wrap
6656 msgid "SIGWINCH\t28,28,20\tIgn\tWindow resize signal (4.3BSD, Sun)\n"
6657 msgstr "SIGWINCH\t28,28,20\tIgn\tウィンドウ リサイズ シグナル (4.3BSD, Sun)\n"
6658
6659 #. type: tbl table
6660 #: build/C/man7/signal.7:311
6661 #, no-wrap
6662 msgid "SIGUNUSED\t-,31,-\tCore\tSynonymous with B<SIGSYS>\n"
6663 msgstr "SIGUNUSED\t-,31,-\tCore\tB<SIGSYS> と同義\n"
6664
6665 #. type: Plain text
6666 #: build/C/man7/signal.7:321
6667 msgid ""
6668 "(Signal 29 is B<SIGINFO> / B<SIGPWR> on an alpha but B<SIGLOST> on a sparc.)"
6669 msgstr ""
6670 "(シグナル 29 は alpha では B<SIGINFO> / B<SIGPWR> だが、sparc では "
6671 "B<SIGLOST> である。)"
6672
6673 #. type: Plain text
6674 #: build/C/man7/signal.7:327
6675 msgid ""
6676 "B<SIGEMT> is not specified in POSIX.1-2001, but nevertheless appears on most "
6677 "other UNIX systems, where its default action is typically to terminate the "
6678 "process with a core dump."
6679 msgstr ""
6680 "B<SIGEMT> は POSIX.1-2001 に規定されていないが、 その他の多くの UNIX システム"
6681 "に存在する。 デフォルトの動作は多くの場合、コアダンプ出力を伴うプロセスの終了"
6682 "である。"
6683
6684 #. type: Plain text
6685 #: build/C/man7/signal.7:331
6686 msgid ""
6687 "B<SIGPWR> (which is not specified in POSIX.1-2001) is typically ignored by "
6688 "default on those other UNIX systems where it appears."
6689 msgstr ""
6690 "B<SIGPWR> は (POSIX.1-2001 に規定されていないが) このシグナルが存在する 他の "
6691 "UNIX システムでは多くの場合、デフォルト動作は無視である。"
6692
6693 #. type: Plain text
6694 #: build/C/man7/signal.7:335
6695 msgid ""
6696 "B<SIGIO> (which is not specified in POSIX.1-2001) is ignored by default on "
6697 "several other UNIX systems."
6698 msgstr ""
6699 "B<SIGIO> は (POSIX.1-2001 に規定されていないが) いくつかの他の UNIX システム"
6700 "では デフォルト動作は無視である。"
6701
6702 #.  parisc is the only exception: SIGSYS is 12, SIGUNUSED is 31
6703 #. type: Plain text
6704 #: build/C/man7/signal.7:342
6705 msgid ""
6706 "Where defined, B<SIGUNUSED> is synonymous with B<SIGSYS> on most "
6707 "architectures."
6708 msgstr ""
6709 "B<SIGUNUSED> が定義されている場合には、ほとんどのアーキテクチャで B<SIGSYS> "
6710 "の同義語となっている。"
6711
6712 #. type: SS
6713 #: build/C/man7/signal.7:342
6714 #, no-wrap
6715 msgid "Real-time Signals"
6716 msgstr "リアルタイムシグナル"
6717
6718 #. type: Plain text
6719 #: build/C/man7/signal.7:352
6720 msgid ""
6721 "Linux supports real-time signals as originally defined in the POSIX.1b real-"
6722 "time extensions (and now included in POSIX.1-2001).  The range of supported "
6723 "real-time signals is defined by the macros B<SIGRTMIN> and B<SIGRTMAX>.  "
6724 "POSIX.1-2001 requires that an implementation support at least "
6725 "B<_POSIX_RTSIG_MAX> (8) real-time signals."
6726 msgstr ""
6727 "Linux はリアルタイムシグナルをサポートしている。 リアルタイムシグナルは元々 "
6728 "POSIX.1b のリアルタイム拡張で定義されて いるものであり、現在では "
6729 "POSIX.1-2001 に含まれている。 対応しているリアルタイムシグナルの範囲は、マク"
6730 "ロ B<SIGRTMIN> と B<SIGRTMAX> で定義される。 POSIX.1-2001 では、少なくとも "
6731 "B<_POSIX_RTSIG_MAX> (8) 個のリアルタイムシグナルに対応した実装が要求されてい"
6732 "る。"
6733
6734 #. type: Plain text
6735 #: build/C/man7/signal.7:374
6736 msgid ""
6737 "The Linux kernel supports a range of 32 different real-time signals, "
6738 "numbered 33 to 64.  However, the glibc POSIX threads implementation "
6739 "internally uses two (for NPTL) or three (for LinuxThreads) real-time signals "
6740 "(see B<pthreads>(7)), and adjusts the value of B<SIGRTMIN> suitably (to 34 "
6741 "or 35).  Because the range of available real-time signals varies according "
6742 "to the glibc threading implementation (and this variation can occur at run "
6743 "time according to the available kernel and glibc), and indeed the range of "
6744 "real-time signals varies across UNIX systems, programs should I<never refer "
6745 "to real-time signals using hard-coded numbers>, but instead should always "
6746 "refer to real-time signals using the notation B<SIGRTMIN>+n, and include "
6747 "suitable (run-time) checks that B<SIGRTMIN>+n does not exceed B<SIGRTMAX>."
6748 msgstr ""
6749 "Linux は、32 個の異なるリアルタイムシグナルに対応しており、 その番号は 33 か"
6750 "ら 64 である。 しかしながら、glibc の POSIX スレッド実装は、 内部で 2個 "
6751 "(NPTL の場合) か 3個 (LinuxThreads の場合) の リアルタイムシグナルを使用して"
6752 "おり (B<pthreads>(7)  参照)、 B<SIGRTMIN> の値を適切に (34 か 35 に) 調整す"
6753 "る。 利用可能なリアルタイムシグナルの範囲は glibc のスレッド実装により 異なる"
6754 "し (使用するカーネルと glibc により実行時にも変化する)、 UNIX システムの種類"
6755 "によっても異なる。したがって、 プログラムでは「ハードコーディングした数字を"
6756 "使ってのリアルタイムシグナルの 参照は決してすべきではなく」、代わりに "
6757 "B<SIGRTMIN>+n の形で参照すべきである。また、 B<SIGRTMIN>+n が B<SIGRTMAX> を"
6758 "超えていないかのチェックを (実行時に) 適切に行うべきである。"
6759
6760 #. type: Plain text
6761 #: build/C/man7/signal.7:378
6762 msgid ""
6763 "Unlike standard signals, real-time signals have no predefined meanings: the "
6764 "entire set of real-time signals can be used for application-defined purposes."
6765 msgstr ""
6766 "標準シグナルと異なり、リアルタイムシグナルには 事前に定義された意味はない。 "
6767 "リアルタイムシグナルの全部をアプリケーションで定義した用途に使える。"
6768
6769 #. type: Plain text
6770 #: build/C/man7/signal.7:381
6771 msgid ""
6772 "The default action for an unhandled real-time signal is to terminate the "
6773 "receiving process."
6774 msgstr ""
6775 "ハンドリングしないリアルタイムシグナルのデフォルトの動作は 受信したプロセスの"
6776 "終了である。"
6777
6778 #. type: Plain text
6779 #: build/C/man7/signal.7:383
6780 msgid "Real-time signals are distinguished by the following:"
6781 msgstr "リアルタイムシグナルは以下の特徴がある:"
6782
6783 #. type: Plain text
6784 #: build/C/man7/signal.7:387
6785 msgid ""
6786 "Multiple instances of real-time signals can be queued.  By contrast, if "
6787 "multiple instances of a standard signal are delivered while that signal is "
6788 "currently blocked, then only one instance is queued."
6789 msgstr ""
6790 "リアルタイムシグナルは複数の実体をキューに入れることができる。 一方、標準シグ"
6791 "ナルの場合、そのシグナルがブロックされている間に 同じシグナルの複数のインスタ"
6792 "ンスが配送されても、 1 つだけがキューに入れられる。"
6793
6794 #. type: Plain text
6795 #: build/C/man7/signal.7:407
6796 msgid ""
6797 "If the signal is sent using B<sigqueue>(3), an accompanying value (either an "
6798 "integer or a pointer) can be sent with the signal.  If the receiving process "
6799 "establishes a handler for this signal using the B<SA_SIGINFO> flag to "
6800 "B<sigaction>(2)  then it can obtain this data via the I<si_value> field of "
6801 "the I<siginfo_t> structure passed as the second argument to the handler.  "
6802 "Furthermore, the I<si_pid> and I<si_uid> fields of this structure can be "
6803 "used to obtain the PID and real user ID of the process sending the signal."
6804 msgstr ""
6805 "シグナルが B<sigqueue>(3)  を用いて送信された場合、 付属データ (整数かポイン"
6806 "タ) をシグナルと共に送信できる。 受信側プロセスが B<sigaction>(2)  に "
6807 "B<SA_SIGINFO> フラグを指定してシグナルハンドラを設定した場合、 このデータは "
6808 "I<siginfo_t> 構造体の I<si_value> フィールド経由でハンドラの第 2 引き数として"
6809 "渡され、 利用することができる。 さらに、この構造体の I<si_pid> と I<si_uid> "
6810 "フィールドでシグナルを送信したプロセスの PID と実ユーザ ID を 得ることができ"
6811 "る。"
6812
6813 #. type: Plain text
6814 #: build/C/man7/signal.7:416
6815 msgid ""
6816 "Real-time signals are delivered in a guaranteed order.  Multiple real-time "
6817 "signals of the same type are delivered in the order they were sent.  If "
6818 "different real-time signals are sent to a process, they are delivered "
6819 "starting with the lowest-numbered signal.  (I.e., low-numbered signals have "
6820 "highest priority.)  By contrast, if multiple standard signals are pending "
6821 "for a process, the order in which they are delivered is unspecified."
6822 msgstr ""
6823 "リアルタイムシグナルでは配送される順序が保証される。 同じタイプのリアルタイム"
6824 "シグナルは送信された順番に到着する。 異なるリアルタイムシグナルが一つのプロセ"
6825 "スに送信された場合、 番号の小さいシグナルから先に到着する。 (つまり小さい番号"
6826 "のシグナルが高い優先順位を持つ。)  対照的に、一つのプロセスに対して複数の標準"
6827 "シグナルが処理待ちとなった場合、 これらのシグナルが配送される順序は不定であ"
6828 "る。"
6829
6830 #. type: Plain text
6831 #: build/C/man7/signal.7:421
6832 msgid ""
6833 "If both standard and real-time signals are pending for a process, POSIX "
6834 "leaves it unspecified which is delivered first.  Linux, like many other "
6835 "implementations, gives priority to standard signals in this case."
6836 msgstr ""
6837 "一つのプロセスに対して標準シグナルとリアルタイムシグナルの両方が 処理待ちの場"
6838 "合、POSIX はどちらが先に配送されるかを規定していない。 Linux では、他の多くの"
6839 "実装と同様、このような場合には 標準シグナルが優先される。"
6840
6841 #. type: Plain text
6842 #: build/C/man7/signal.7:444
6843 msgid ""
6844 "According to POSIX, an implementation should permit at least "
6845 "B<_POSIX_SIGQUEUE_MAX> (32) real-time signals to be queued to a process.  "
6846 "However, Linux does things differently.  In kernels up to and including "
6847 "2.6.7, Linux imposes a system-wide limit on the number of queued real-time "
6848 "signals for all processes.  This limit can be viewed and (with privilege) "
6849 "changed via the I</proc/sys/kernel/rtsig-max> file.  A related file, I</proc/"
6850 "sys/kernel/rtsig-nr>, can be used to find out how many real-time signals are "
6851 "currently queued.  In Linux 2.6.8, these I</proc> interfaces were replaced "
6852 "by the B<RLIMIT_SIGPENDING> resource limit, which specifies a per-user limit "
6853 "for queued signals; see B<setrlimit>(2)  for further details."
6854 msgstr ""
6855 "POSIX によれば、1 プロセス毎に最低 B<_POSIX_SIGQUEUE_MAX> (32) 個のリアルタイ"
6856 "ムシグナルをキューに入れられるべきとしている。 しかし、 Linux では違った実装"
6857 "になっている。カーネル 2.6.7 までは (2.6.7 を含む)、全プロセスでキューに入っ"
6858 "ているリアルタイムシグナル の数の合計についてシステム全体での制限がある。 こ"
6859 "の制限は I</proc/sys/kernel/rtsig-max> ファイルで見ることができ、 (権限があれ"
6860 "ば) 変更もできる。 関係するファイルとして、 I</proc/sys/kernel/rtsig-nr> を見"
6861 "ることで、いくつのリアルタイムシグナルが現在キューに入っているかを 知ることが"
6862 "できる。 Linux 2.6.8 で、これらの I</proc> 経由のインターフェースは、 "
6863 "B<RLIMIT_SIGPENDING> リソース制限に置き換えられた。 これは、キューに入るシグ"
6864 "ナル数に関してユーザ単位に 上限を指定するものである。 詳しくは B<setrlimit>"
6865 "(2)  を参照。"
6866
6867 #. type: SS
6868 #: build/C/man7/signal.7:444
6869 #, no-wrap
6870 msgid "Async-signal-safe functions"
6871 msgstr "非同期シグナルで安全な関数 (async-signal-safe functions)"
6872
6873 #. type: Plain text
6874 #: build/C/man7/signal.7:453
6875 msgid ""
6876 "A signal handler function must be very careful, since processing elsewhere "
6877 "may be interrupted at some arbitrary point in the execution of the program.  "
6878 "POSIX has the concept of \"safe function\".  If a signal interrupts the "
6879 "execution of an unsafe function, and I<handler> calls an unsafe function, "
6880 "then the behavior of the program is undefined."
6881 msgstr ""
6882 "シグナルハンドラ関数には非常に注意しなければならない。 他の場所の処理はプログ"
6883 "ラム実行の任意の箇所で中断される可能性があるためである。 POSIX には「安全な関"
6884 "数 (safe function)」という概念がある。 シグナルが安全でない関数の実行を中断"
6885 "し、かつ I<handler> が安全でない関数を呼び出した場合、プログラムの挙動は未定"
6886 "義である。"
6887
6888 #. type: Plain text
6889 #: build/C/man7/signal.7:457
6890 msgid ""
6891 "POSIX.1-2004 (also known as POSIX.1-2001 Technical Corrigendum 2)  requires "
6892 "an implementation to guarantee that the following functions can be safely "
6893 "called inside a signal handler:"
6894 msgstr ""
6895 "POSIX.1-2004 (POSIX.1-2001 Technical Corrigendum (正誤表) 2 とも言う) では、 "
6896 "シグナルハンドラ内での安全な呼び出しを保証することが必須の関数として 以下が規"
6897 "定されている。"
6898
6899 #. type: Plain text
6900 #: build/C/man7/signal.7:578
6901 #, no-wrap
6902 msgid ""
6903 "_Exit()\n"
6904 "_exit()\n"
6905 "abort()\n"
6906 "accept()\n"
6907 "access()\n"
6908 "aio_error()\n"
6909 "aio_return()\n"
6910 "aio_suspend()\n"
6911 "alarm()\n"
6912 "bind()\n"
6913 "cfgetispeed()\n"
6914 "cfgetospeed()\n"
6915 "cfsetispeed()\n"
6916 "cfsetospeed()\n"
6917 "chdir()\n"
6918 "chmod()\n"
6919 "chown()\n"
6920 "clock_gettime()\n"
6921 "close()\n"
6922 "connect()\n"
6923 "creat()\n"
6924 "dup()\n"
6925 "dup2()\n"
6926 "execle()\n"
6927 "execve()\n"
6928 "fchmod()\n"
6929 "fchown()\n"
6930 "fcntl()\n"
6931 "fdatasync()\n"
6932 "fork()\n"
6933 "fpathconf()\n"
6934 "fstat()\n"
6935 "fsync()\n"
6936 "ftruncate()\n"
6937 "getegid()\n"
6938 "geteuid()\n"
6939 "getgid()\n"
6940 "getgroups()\n"
6941 "getpeername()\n"
6942 "getpgrp()\n"
6943 "getpid()\n"
6944 "getppid()\n"
6945 "getsockname()\n"
6946 "getsockopt()\n"
6947 "getuid()\n"
6948 "kill()\n"
6949 "link()\n"
6950 "listen()\n"
6951 "lseek()\n"
6952 "lstat()\n"
6953 "mkdir()\n"
6954 "mkfifo()\n"
6955 "open()\n"
6956 "pathconf()\n"
6957 "pause()\n"
6958 "pipe()\n"
6959 "poll()\n"
6960 "posix_trace_event()\n"
6961 "pselect()\n"
6962 "raise()\n"
6963 "read()\n"
6964 "readlink()\n"
6965 "recv()\n"
6966 "recvfrom()\n"
6967 "recvmsg()\n"
6968 "rename()\n"
6969 "rmdir()\n"
6970 "select()\n"
6971 "sem_post()\n"
6972 "send()\n"
6973 "sendmsg()\n"
6974 "sendto()\n"
6975 "setgid()\n"
6976 "setpgid()\n"
6977 "setsid()\n"
6978 "setsockopt()\n"
6979 "setuid()\n"
6980 "shutdown()\n"
6981 "sigaction()\n"
6982 "sigaddset()\n"
6983 "sigdelset()\n"
6984 "sigemptyset()\n"
6985 "sigfillset()\n"
6986 "sigismember()\n"
6987 "signal()\n"
6988 "sigpause()\n"
6989 "sigpending()\n"
6990 "sigprocmask()\n"
6991 "sigqueue()\n"
6992 "sigset()\n"
6993 "sigsuspend()\n"
6994 "sleep()\n"
6995 "sockatmark()\n"
6996 "socket()\n"
6997 "socketpair()\n"
6998 "stat()\n"
6999 "symlink()\n"
7000 "sysconf()\n"
7001 "tcdrain()\n"
7002 "tcflow()\n"
7003 "tcflush()\n"
7004 "tcgetattr()\n"
7005 "tcgetpgrp()\n"
7006 "tcsendbreak()\n"
7007 "tcsetattr()\n"
7008 "tcsetpgrp()\n"
7009 "time()\n"
7010 "timer_getoverrun()\n"
7011 "timer_gettime()\n"
7012 "timer_settime()\n"
7013 "times()\n"
7014 "umask()\n"
7015 "uname()\n"
7016 "unlink()\n"
7017 "utime()\n"
7018 "wait()\n"
7019 "waitpid()\n"
7020 "write()\n"
7021 msgstr ""
7022 "_Exit()\n"
7023 "_exit()\n"
7024 "abort()\n"
7025 "accept()\n"
7026 "access()\n"
7027 "aio_error()\n"
7028 "aio_return()\n"
7029 "aio_suspend()\n"
7030 "alarm()\n"
7031 "bind()\n"
7032 "cfgetispeed()\n"
7033 "cfgetospeed()\n"
7034 "cfsetispeed()\n"
7035 "cfsetospeed()\n"
7036 "chdir()\n"
7037 "chmod()\n"
7038 "chown()\n"
7039 "clock_gettime()\n"
7040 "close()\n"
7041 "connect()\n"
7042 "creat()\n"
7043 "dup()\n"
7044 "dup2()\n"
7045 "execle()\n"
7046 "execve()\n"
7047 "fchmod()\n"
7048 "fchown()\n"
7049 "fcntl()\n"
7050 "fdatasync()\n"
7051 "fork()\n"
7052 "fpathconf()\n"
7053 "fstat()\n"
7054 "fsync()\n"
7055 "ftruncate()\n"
7056 "getegid()\n"
7057 "geteuid()\n"
7058 "getgid()\n"
7059 "getgroups()\n"
7060 "getpeername()\n"
7061 "getpgrp()\n"
7062 "getpid()\n"
7063 "getppid()\n"
7064 "getsockname()\n"
7065 "getsockopt()\n"
7066 "getuid()\n"
7067 "kill()\n"
7068 "link()\n"
7069 "listen()\n"
7070 "lseek()\n"
7071 "lstat()\n"
7072 "mkdir()\n"
7073 "mkfifo()\n"
7074 "open()\n"
7075 "pathconf()\n"
7076 "pause()\n"
7077 "pipe()\n"
7078 "poll()\n"
7079 "posix_trace_event()\n"
7080 "pselect()\n"
7081 "raise()\n"
7082 "read()\n"
7083 "readlink()\n"
7084 "recv()\n"
7085 "recvfrom()\n"
7086 "recvmsg()\n"
7087 "rename()\n"
7088 "rmdir()\n"
7089 "select()\n"
7090 "sem_post()\n"
7091 "send()\n"
7092 "sendmsg()\n"
7093 "sendto()\n"
7094 "setgid()\n"
7095 "setpgid()\n"
7096 "setsid()\n"
7097 "setsockopt()\n"
7098 "setuid()\n"
7099 "shutdown()\n"
7100 "sigaction()\n"
7101 "sigaddset()\n"
7102 "sigdelset()\n"
7103 "sigemptyset()\n"
7104 "sigfillset()\n"
7105 "sigismember()\n"
7106 "signal()\n"
7107 "sigpause()\n"
7108 "sigpending()\n"
7109 "sigprocmask()\n"
7110 "sigqueue()\n"
7111 "sigset()\n"
7112 "sigsuspend()\n"
7113 "sleep()\n"
7114 "sockatmark()\n"
7115 "socket()\n"
7116 "socketpair()\n"
7117 "stat()\n"
7118 "symlink()\n"
7119 "sysconf()\n"
7120 "tcdrain()\n"
7121 "tcflow()\n"
7122 "tcflush()\n"
7123 "tcgetattr()\n"
7124 "tcgetpgrp()\n"
7125 "tcsendbreak()\n"
7126 "tcsetattr()\n"
7127 "tcsetpgrp()\n"
7128 "time()\n"
7129 "timer_getoverrun()\n"
7130 "timer_gettime()\n"
7131 "timer_settime()\n"
7132 "times()\n"
7133 "umask()\n"
7134 "uname()\n"
7135 "unlink()\n"
7136 "utime()\n"
7137 "wait()\n"
7138 "waitpid()\n"
7139 "write()\n"
7140
7141 #. type: Plain text
7142 #: build/C/man7/signal.7:583
7143 msgid ""
7144 "POSIX.1-2008 removes fpathconf(), pathconf(), and sysconf()  from the above "
7145 "list, and adds the following functions:"
7146 msgstr ""
7147 "POSIX.1-2008 では、上記のリストのうち fpathconf(), pathconf(), sysconf()  が"
7148 "削除され、以下の関数が追加された。"
7149
7150 #. type: Plain text
7151 #: build/C/man7/signal.7:606
7152 #, no-wrap
7153 msgid ""
7154 "execl()\n"
7155 "execv()\n"
7156 "faccessat()\n"
7157 "fchmodat()\n"
7158 "fchownat()\n"
7159 "fexecve()\n"
7160 "fstatat()\n"
7161 "futimens()\n"
7162 "linkat()\n"
7163 "mkdirat()\n"
7164 "mkfifoat()\n"
7165 "mknod()\n"
7166 "mknodat()\n"
7167 "openat()\n"
7168 "readlinkat()\n"
7169 "renameat()\n"
7170 "symlinkat()\n"
7171 "unlinkat()\n"
7172 "utimensat()\n"
7173 "utimes()\n"
7174 msgstr ""
7175 "execl()\n"
7176 "execv()\n"
7177 "faccessat()\n"
7178 "fchmodat()\n"
7179 "fchownat()\n"
7180 "fexecve()\n"
7181 "fstatat()\n"
7182 "futimens()\n"
7183 "linkat()\n"
7184 "mkdirat()\n"
7185 "mkfifoat()\n"
7186 "mknod()\n"
7187 "mknodat()\n"
7188 "openat()\n"
7189 "readlinkat()\n"
7190 "renameat()\n"
7191 "symlinkat()\n"
7192 "unlinkat()\n"
7193 "utimensat()\n"
7194 "utimes()\n"
7195
7196 #. type: SS
7197 #: build/C/man7/signal.7:608
7198 #, no-wrap
7199 msgid "Interruption of System Calls and Library Functions by Signal Handlers"
7200 msgstr "シグナルハンドラによるシステムコールやライブラリ関数への割り込み"
7201
7202 #. type: Plain text
7203 #: build/C/man7/signal.7:611
7204 msgid ""
7205 "If a signal handler is invoked while a system call or library function call "
7206 "is blocked, then either:"
7207 msgstr ""
7208 "システムコールやライブラリが停止 (block) している間にシグナルハンドラが 起動"
7209 "されると、以下のどちらかとなる。"
7210
7211 #. type: Plain text
7212 #: build/C/man7/signal.7:613
7213 msgid ""
7214 "the call is automatically restarted after the signal handler returns; or"
7215 msgstr "シグナルが返った後、呼び出しは自動的に再スタートされる。"
7216
7217 #. type: Plain text
7218 #: build/C/man7/signal.7:616
7219 msgid "the call fails with the error B<EINTR>."
7220 msgstr "呼び出しはエラー B<EINTR> で失敗する。"
7221
7222 #. type: Plain text
7223 #: build/C/man7/signal.7:624
7224 msgid ""
7225 "Which of these two behaviors occurs depends on the interface and whether or "
7226 "not the signal handler was established using the B<SA_RESTART> flag (see "
7227 "B<sigaction>(2)).  The details vary across UNIX systems; below, the details "
7228 "for Linux."
7229 msgstr ""
7230 "これらの二つの挙動のうちどちらが起こるかは、インターフェイスにより依存し、 シ"
7231 "グナルハンドラが B<SA_RESTART> フラグ (B<sigaction>(2)  参照) を使って設定さ"
7232 "れていたかにも依存する。 詳細は UNIX システムによって異なる。 Linux における"
7233 "詳細を以下で説明する。"
7234
7235 #.  The following system calls use ERESTARTSYS,
7236 #.  so that they are restartable
7237 #. type: Plain text
7238 #: build/C/man7/signal.7:633
7239 msgid ""
7240 "If a blocked call to one of the following interfaces is interrupted by a "
7241 "signal handler, then the call will be automatically restarted after the "
7242 "signal handler returns if the B<SA_RESTART> flag was used; otherwise the "
7243 "call will fail with the error B<EINTR>:"
7244 msgstr ""
7245 "以下のインターフェイスのいずれかの呼び出しが停止している間に シグナルハンドラ"
7246 "により割り込まれた場合、 B<SA_RESTART> フラグが使用されていれば、シグナルハン"
7247 "ドラが返った後に その呼び出しは自動的に再スタートされることになる。 それ以外"
7248 "の場合は、その呼び出しはエラー B<EINTR> で失敗することになる。"
7249
7250 #. type: Plain text
7251 #: build/C/man7/signal.7:649
7252 msgid ""
7253 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), and B<ioctl>(2)  calls "
7254 "on \"slow\" devices.  A \"slow\" device is one where the I/O call may block "
7255 "for an indefinite time, for example, a terminal, pipe, or socket.  (A disk "
7256 "is not a slow device according to this definition.)  If an I/O call on a "
7257 "slow device has already transferred some data by the time it is interrupted "
7258 "by a signal handler, then the call will return a success status (normally, "
7259 "the number of bytes transferred)."
7260 msgstr ""
7261 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), B<ioctl>(2)  の「遅い "
7262 "(slow)」デバイスに対する呼び出し。 ここでいう「遅い」デバイスとは、I/O 呼び出"
7263 "しが無期限に停止 (block) する 可能性のあるデバイスのことで、例としては端末、"
7264 "パイプ、ソケットがある (この定義では、ディスクは遅いデバイスではない)。 遅い"
7265 "デバイスに対する I/O 呼び出しが、 シグナルハンドラにより割り込まれた時点まで"
7266 "に何らかのデータを すでに転送していれば、呼び出しは成功ステータス (通常は、転"
7267 "送されたバイト数) を返すことだろう。"
7268
7269 #. type: Plain text
7270 #: build/C/man7/signal.7:653
7271 msgid ""
7272 "B<open>(2), if it can block (e.g., when opening a FIFO; see B<fifo>(7))."
7273 msgstr ""
7274 "停止 (block) する可能性のある B<open>(2)  (例えば、FIFO のオープン時; B<fifo>"
7275 "(7)  参照)。"
7276
7277 #. type: Plain text
7278 #: build/C/man7/signal.7:660
7279 msgid "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), and B<waitpid>(2)."
7280 msgstr "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), B<waitpid>(2)."
7281
7282 #.  If a timeout (setsockopt()) is in effect on the socket, then these
7283 #.  system calls switch to using EINTR.  Consequently, they and are not
7284 #.  automatically restarted, and they show the stop/cont behavior
7285 #.  described below.  (Verified from 2.6.26 source, and by experiment; mtk)
7286 #. type: Plain text
7287 #: build/C/man7/signal.7:676
7288 msgid ""
7289 "Socket interfaces: B<accept>(2), B<connect>(2), B<recv>(2), B<recvfrom>(2), "
7290 "B<recvmsg>(2), B<send>(2), B<sendto>(2), and B<sendmsg>(2), unless a timeout "
7291 "has been set on the socket (see below)."
7292 msgstr ""
7293 "ソケットインターフェイス: B<accept>(2), B<connect>(2), B<recv>(2), "
7294 "B<recvfrom>(2), B<recvmsg>(2), B<send>(2), B<sendto>(2), B<sendmsg>(2).  但"
7295 "し、ソケットにタイムアウトが設定されていない場合 (下記参照)。"
7296
7297 #. type: Plain text
7298 #: build/C/man7/signal.7:682
7299 msgid "File locking interfaces: B<flock>(2)  and B<fcntl>(2)  B<F_SETLKW>."
7300 msgstr ""
7301 "ファイルロック用インターフェイス: B<flock>(2), B<fcntl>(2)  B<F_SETLKW>."
7302
7303 #. type: Plain text
7304 #: build/C/man7/signal.7:689
7305 msgid ""
7306 "POSIX message queue interfaces: B<mq_receive>(3), B<mq_timedreceive>(3), "
7307 "B<mq_send>(3), and B<mq_timedsend>(3)."
7308 msgstr ""
7309 "POSIX メッセージキューインターフェイス: B<mq_receive>(3), B<mq_timedreceive>"
7310 "(3), B<mq_send>(3), B<mq_timedsend>(3)."
7311
7312 #. type: Plain text
7313 #: build/C/man7/signal.7:694
7314 msgid ""
7315 "B<futex>(2)  B<FUTEX_WAIT> (since Linux 2.6.22; beforehand, always failed "
7316 "with B<EINTR>)."
7317 msgstr ""
7318 "B<futex>(2)  B<FUTEX_WAIT> (Linux 2.6.22 以降; それ以前は常に B<EINTR> で失敗"
7319 "していた)。"
7320
7321 #. type: Plain text
7322 #: build/C/man7/signal.7:701
7323 msgid ""
7324 "POSIX semaphore interfaces: B<sem_wait>(3)  and B<sem_timedwait>(3)  (since "
7325 "Linux 2.6.22; beforehand, always failed with B<EINTR>)."
7326 msgstr ""
7327 "POSIX セマフォインターフェイス: B<sem_wait>(3), B<sem_timedwait>(3)  (Linux "
7328 "2.6.22 以降; それ以前は常に B<EINTR> で失敗していた)。"
7329
7330 #.  These are the system calls that give EINTR or ERESTARTNOHAND
7331 #.  on interruption by a signal handler.
7332 #. type: Plain text
7333 #: build/C/man7/signal.7:712
7334 msgid ""
7335 "The following interfaces are never restarted after being interrupted by a "
7336 "signal handler, regardless of the use of B<SA_RESTART>; they always fail "
7337 "with the error B<EINTR> when interrupted by a signal handler:"
7338 msgstr ""
7339 "以下のインターフェイスは、 B<SA_RESTART> を使っているどうかに関わらず、シグナ"
7340 "ルハンドラにより割り込まれた後、 再スタートすることは決してない。 これらは、"
7341 "シグナルハンドラにより割り込まれると、常にエラー B<EINTR> で失敗する。"
7342
7343 #. type: Plain text
7344 #: build/C/man7/signal.7:732 build/C/man7/signal.7:806
7345 msgid ""
7346 "Socket interfaces, when a timeout has been set on the socket using "
7347 "B<setsockopt>(2): B<accept>(2), B<recv>(2), B<recvfrom>(2), and B<recvmsg>"
7348 "(2), if a receive timeout (B<SO_RCVTIMEO>)  has been set; B<connect>(2), "
7349 "B<send>(2), B<sendto>(2), and B<sendmsg>(2), if a send timeout "
7350 "(B<SO_SNDTIMEO>)  has been set."
7351 msgstr ""
7352 "B<setsockopt>(2)  を使ってタイムアウトが設定されているソケットインターフェー"
7353 "ス: B<accept>(2), B<recv>(2), B<recvfrom>(2), B<recvmsg>(2)  で受信タイムアウ"
7354 "ト (B<SO_RCVTIMEO>)  が設定されている場合と、 B<connect>(2), B<send>(2), "
7355 "B<sendto>(2), B<sendmsg>(2)  で送信タイムアウト (B<SO_SNDTIMEO>)  が設定され"
7356 "ている場合。"
7357
7358 #. type: Plain text
7359 #: build/C/man7/signal.7:739
7360 msgid ""
7361 "Interfaces used to wait for signals: B<pause>(2), B<sigsuspend>(2), "
7362 "B<sigtimedwait>(2), and B<sigwaitinfo>(2)."
7363 msgstr ""
7364 "シグナル待ちに使われるインターフェイス: B<pause>(2), B<sigsuspend>(2), "
7365 "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7366
7367 #. type: Plain text
7368 #: build/C/man7/signal.7:748
7369 msgid ""
7370 "File descriptor multiplexing interfaces: B<epoll_wait>(2), B<epoll_pwait>"
7371 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), and B<pselect>(2)."
7372 msgstr ""
7373 "ファイルディスクリプタ多重インターフェイス: B<epoll_wait>(2), B<epoll_pwait>"
7374 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), B<pselect>(2)."
7375
7376 #.  On some other systems, SA_RESTART does restart these system calls
7377 #. type: Plain text
7378 #: build/C/man7/signal.7:756
7379 msgid ""
7380 "System V IPC interfaces: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), and "
7381 "B<semtimedop>(2)."
7382 msgstr ""
7383 "System V IPC インターフェイス: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), "
7384 "B<semtimedop>(2)."
7385
7386 #. type: Plain text
7387 #: build/C/man7/signal.7:762
7388 msgid ""
7389 "Sleep interfaces: B<clock_nanosleep>(2), B<nanosleep>(2), and B<usleep>(3)."
7390 msgstr ""
7391 "スリープ用のインターフェイス: B<clock_nanosleep>(2), B<nanosleep>(2), "
7392 "B<usleep>(3)."
7393
7394 #. type: Plain text
7395 #: build/C/man7/signal.7:767 build/C/man7/signal.7:820
7396 msgid "B<read>(2)  from an B<inotify>(7)  file descriptor."
7397 msgstr "B<inotify>(7)  ファイルディスクリプタからの B<read>(2)."
7398
7399 #. type: Plain text
7400 #: build/C/man7/signal.7:769
7401 msgid "B<io_getevents>(2)."
7402 msgstr "B<io_getevents>(2)."
7403
7404 #. type: Plain text
7405 #: build/C/man7/signal.7:775
7406 msgid ""
7407 "The B<sleep>(3)  function is also never restarted if interrupted by a "
7408 "handler, but gives a success return: the number of seconds remaining to "
7409 "sleep."
7410 msgstr ""
7411 "B<sleep>(3)  関数も、ハンドラにより割り込まれた場合、決して再スタートされるこ"
7412 "とはない。 しかし、成功となり、残っている停止時間を返す。"
7413
7414 #. type: SS
7415 #: build/C/man7/signal.7:775
7416 #, no-wrap
7417 msgid "Interruption of System Calls and Library Functions by Stop Signals"
7418 msgstr "一時停止シグナルによるシステムコールやライブラリ関数への割り込み"
7419
7420 #. type: Plain text
7421 #: build/C/man7/signal.7:784
7422 msgid ""
7423 "On Linux, even in the absence of signal handlers, certain blocking "
7424 "interfaces can fail with the error B<EINTR> after the process is stopped by "
7425 "one of the stop signals and then resumed via B<SIGCONT>.  This behavior is "
7426 "not sanctioned by POSIX.1, and doesn't occur on other systems."
7427 msgstr ""
7428 "Linux では、シグナルハンドラが設定されていない場合でも、 いくつかのブロッキン"
7429 "グ型のインターフェイスは、 プロセスが一時停止 (stop) シグナルの一つにより停止"
7430 "され、 B<SIGCONT> により再開された後に、エラー B<EINTR> で失敗する可能性があ"
7431 "る。 この挙動は POSIX.1 で認められておらず、他のシステムでは起こらない。"
7432
7433 #. type: Plain text
7434 #: build/C/man7/signal.7:786
7435 msgid "The Linux interfaces that display this behavior are:"
7436 msgstr "この挙動を示す Linux のインターフェイスは以下の通りである。"
7437
7438 #. type: Plain text
7439 #: build/C/man7/signal.7:809
7440 msgid "B<epoll_wait>(2), B<epoll_pwait>(2)."
7441 msgstr "B<epoll_wait>(2), B<epoll_pwait>(2)."
7442
7443 #. type: Plain text
7444 #: build/C/man7/signal.7:812
7445 msgid "B<semop>(2), B<semtimedop>(2)."
7446 msgstr "B<semop>(2), B<semtimedop>(2)."
7447
7448 #. type: Plain text
7449 #: build/C/man7/signal.7:815
7450 msgid "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7451 msgstr "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7452
7453 #. type: Plain text
7454 #: build/C/man7/signal.7:826
7455 msgid ""
7456 "Linux 2.6.21 and earlier: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7457 "B<sem_wait>(3)."
7458 msgstr ""
7459 "Linux 2.6.21 以前: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7460 "B<sem_wait>(3)."
7461
7462 #. type: Plain text
7463 #: build/C/man7/signal.7:830
7464 msgid "Linux 2.6.8 and earlier: B<msgrcv>(2), B<msgsnd>(2)."
7465 msgstr "Linux 2.6.8 以前: B<msgrcv>(2), B<msgsnd>(2)."
7466
7467 #. type: Plain text
7468 #: build/C/man7/signal.7:833
7469 msgid "Linux 2.4 and earlier: B<nanosleep>(2)."
7470 msgstr "Linux 2.4 以前: B<nanosleep>(2)."
7471
7472 #. type: Plain text
7473 #: build/C/man7/signal.7:836
7474 msgid "POSIX.1, except as noted."
7475 msgstr "POSIX.1 (注記した内容以外)。"
7476
7477 #. type: Plain text
7478 #: build/C/man7/signal.7:845
7479 msgid ""
7480 "B<SIGIO> and B<SIGLOST> have the same value.  The latter is commented out in "
7481 "the kernel source, but the build process of some software still thinks that "
7482 "signal 29 is B<SIGLOST>."
7483 msgstr ""
7484 "B<SIGIO> と B<SIGLOST> は同じ値を持っている。 B<SIGLOST> はカーネルのソースで"
7485 "はコメントアウトされている。 しかし、ソフトウェアによってはビルドの過程でシグ"
7486 "ナル 29 を B<SIGLOST> とみなしてしまうものがある。"
7487
7488 #. type: Plain text
7489 #: build/C/man7/signal.7:878
7490 msgid ""
7491 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7492 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7493 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7494 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7495 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7496 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7497 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7498 "B<sigevent>(7)"
7499 msgstr ""
7500 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7501 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7502 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7503 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7504 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7505 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7506 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7507 "B<sigevent>(7)"
7508
7509 #. type: TH
7510 #: build/C/man2/signalfd.2:19
7511 #, no-wrap
7512 msgid "SIGNALFD"
7513 msgstr "SIGNALFD"
7514
7515 #. type: TH
7516 #: build/C/man2/signalfd.2:19
7517 #, no-wrap
7518 msgid "2009-01-13"
7519 msgstr "2009-01-13"
7520
7521 #. type: Plain text
7522 #: build/C/man2/signalfd.2:22
7523 msgid "signalfd - create a file descriptor for accepting signals"
7524 msgstr "signalfd - シグナル受け付け用のファイルディスクリプタを生成する"
7525
7526 #. type: Plain text
7527 #: build/C/man2/signalfd.2:24
7528 msgid "B<#include E<lt>sys/signalfd.hE<gt>>"
7529 msgstr "B<#include E<lt>sys/signalfd.hE<gt>>"
7530
7531 #. type: Plain text
7532 #: build/C/man2/signalfd.2:26
7533 msgid ""
7534 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7535 msgstr ""
7536 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7537
7538 #. type: Plain text
7539 #: build/C/man2/signalfd.2:37
7540 msgid ""
7541 "B<signalfd>()  creates a file descriptor that can be used to accept signals "
7542 "targeted at the caller.  This provides an alternative to the use of a signal "
7543 "handler or B<sigwaitinfo>(2), and has the advantage that the file descriptor "
7544 "may be monitored by B<select>(2), B<poll>(2), and B<epoll>(7)."
7545 msgstr ""
7546 "B<signalfd>()  は、呼び出し元宛てのシグナルを受け付けるために使用されるファイ"
7547 "ル ディスクリプタを生成する。 この方法はシグナルハンドラや B<sigwaitinfo>"
7548 "(2)  を用いる方法の代わりとなるものであり、このファイルディスクリプタを "
7549 "B<select>(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
7550
7551 #. type: Plain text
7552 #: build/C/man2/signalfd.2:57
7553 msgid ""
7554 "The I<mask> argument specifies the set of signals that the caller wishes to "
7555 "accept via the file descriptor.  This argument is a signal set whose "
7556 "contents can be initialized using the macros described in B<sigsetops>(3).  "
7557 "Normally, the set of signals to be received via the file descriptor should "
7558 "be blocked using B<sigprocmask>(2), to prevent the signals being handled "
7559 "according to their default dispositions.  It is not possible to receive "
7560 "B<SIGKILL> or B<SIGSTOP> signals via a signalfd file descriptor; these "
7561 "signals are silently ignored if specified in I<mask>."
7562 msgstr ""
7563 "I<mask> 引き数には、呼び出し元がこのファイルディスクリプタ経由で受け付けたい "
7564 "シグナル集合を指定する。この引き数で指定するシグナル集合の内容は、 "
7565 "B<sigsetops>(3)  で説明されているマクロを使って初期化することができる。 通"
7566 "常、ファイルディスクリプタ経由で受信するシグナル集合は、 そのシグナルがデフォ"
7567 "ルトの配送方法に基いて処理されるのを防ぐために、 B<sigprocmask>(2)  を使って"
7568 "ブロックしておくべきである。 シグナル B<SIGKILL> と B<SIGSTOP> を signalfd "
7569 "ファイルディスクリプタ経由で受信することはできない。 これらのシグナルが "
7570 "I<mask> で指定された場合には黙って無視される。"
7571
7572 #. type: Plain text
7573 #: build/C/man2/signalfd.2:71
7574 msgid ""
7575 "If the I<fd> argument is -1, then the call creates a new file descriptor and "
7576 "associates the signal set specified in I<mask> with that descriptor.  If "
7577 "I<fd> is not -1, then it must specify a valid existing signalfd file "
7578 "descriptor, and I<mask> is used to replace the signal set associated with "
7579 "that descriptor."
7580 msgstr ""
7581 "I<fd> 引き数が -1 の場合、 B<signalfd>()  は新しいファイルディスクリプタを生"
7582 "成し、 I<mask> で指定されたシグナル集合をそのファイルディスクリプタに関連付け"
7583 "る。 I<fd> 引き数が -1 以外の場合、 I<fd> には有効な既存の signalfd ファイル"
7584 "ディスクリプタを指定しなければならず、 そのディスクリプタに関連付けられている"
7585 "シグナル集合は I<mask> を使って置き換えられる。"
7586
7587 #. type: Plain text
7588 #: build/C/man2/signalfd.2:76
7589 msgid ""
7590 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
7591 "I<flags> to change the behaviour of B<signalfd>():"
7592 msgstr ""
7593 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
7594 "ることで、 B<signalfd>()  の振舞いを変更することができる。"
7595
7596 #. type: TP
7597 #: build/C/man2/signalfd.2:76
7598 #, no-wrap
7599 msgid "B<SFD_NONBLOCK>"
7600 msgstr "B<SFD_NONBLOCK>"
7601
7602 #. type: TP
7603 #: build/C/man2/signalfd.2:84
7604 #, no-wrap
7605 msgid "B<SFD_CLOEXEC>"
7606 msgstr "B<SFD_CLOEXEC>"
7607
7608 #. type: Plain text
7609 #: build/C/man2/signalfd.2:101
7610 msgid ""
7611 "B<signalfd>()  returns a file descriptor that supports the following "
7612 "operations:"
7613 msgstr ""
7614 "B<signalfd>()  が返すファイルディスクリプタは以下の操作をサポートしている。"
7615
7616 #. type: Plain text
7617 #: build/C/man2/signalfd.2:120
7618 msgid ""
7619 "If one or more of the signals specified in I<mask> is pending for the "
7620 "process, then the buffer supplied to B<read>(2)  is used to return one or "
7621 "more I<signalfd_siginfo> structures (see below) that describe the signals.  "
7622 "The B<read>(2)  returns information for as many signals as are pending and "
7623 "will fit in the supplied buffer.  The buffer must be at least I<sizeof"
7624 "(struct signalfd_siginfo)> bytes.  The return value of the B<read>(2)  is "
7625 "the total number of bytes read."
7626 msgstr ""
7627 "I<mask> に指定されているシグナルのうち一つ以上がそのプロセスに対して 処理待"
7628 "ち (pending) であれば、それらのシグナルの情報が B<read>(2)  に渡されたバッ"
7629 "ファを使って、 I<signalfd_siginfo> 構造体に格納されて返される。 B<read>(2)  "
7630 "は、バッファに格納可能な範囲でできるだけ多くの処理待ちのシグナルに ついての情"
7631 "報を返す。 バッファは最低でも I<sizeof(struct signalfd_siginfo)> バイトの大き"
7632 "さがなければならない。 B<read>(2)  の返り値は読み出されたトータルのバイト数で"
7633 "ある。"
7634
7635 #. type: Plain text
7636 #: build/C/man2/signalfd.2:128
7637 msgid ""
7638 "As a consequence of the B<read>(2), the signals are consumed, so that they "
7639 "are no longer pending for the process (i.e., will not be caught by signal "
7640 "handlers, and cannot be accepted using B<sigwaitinfo>(2))."
7641 msgstr ""
7642 "B<read>(2)  が行われた結果、シグナルは消費され、 これらのシグナルはそのプロセ"
7643 "スに対しては処理待ちではなくなる (つまり、シグナルハンドラで捕捉されることも"
7644 "なく、 B<sigwaitinfo>(2)  を使って受け取ることもできなくなる)。"
7645
7646 #. type: Plain text
7647 #: build/C/man2/signalfd.2:139
7648 msgid ""
7649 "If none of the signals in I<mask> is pending for the process, then the "
7650 "B<read>(2)  either blocks until one of the signals in I<mask> is generated "
7651 "for the process, or fails with the error B<EAGAIN> if the file descriptor "
7652 "has been made nonblocking."
7653 msgstr ""
7654 "I<mask> に指定されているシグナルがそのプロセスに対して一つも処理待ちでなけれ"
7655 "ば、 B<read>(2)  は、 I<mask> で指定されたシグナルのうちいずれか一つがそのプ"
7656 "ロセスに対して発生するまで 停止 (block) する、もしくはファイルディスクリプタ"
7657 "が非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
7658
7659 #. type: Plain text
7660 #: build/C/man2/signalfd.2:152
7661 msgid ""
7662 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
7663 "B<poll>(2)  B<POLLIN> flag)  if one or more of the signals in I<mask> is "
7664 "pending for the process."
7665 msgstr ""
7666 "I<mask> に指定されたシグナルのうち一つ以上がそのプロセスに対して処理待ちであ"
7667 "れば、 ファイルディスクリプタは読み出し可能となる (B<select>(2)  の "
7668 "I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
7669
7670 #. type: Plain text
7671 #: build/C/man2/signalfd.2:159
7672 msgid ""
7673 "The signalfd file descriptor also supports the other file-descriptor "
7674 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
7675 msgstr ""
7676 "signalfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
7677 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
7678
7679 #. type: Plain text
7680 #: build/C/man2/signalfd.2:164
7681 msgid ""
7682 "When the file descriptor is no longer required it should be closed.  When "
7683 "all file descriptors associated with the same signalfd object have been "
7684 "closed, the resources for object are freed by the kernel."
7685 msgstr ""
7686 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
7687 "る。 同じ signalfd オブジェクトに関連付けられたファイルディスクリプタが全て "
7688 "クローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
7689
7690 #. type: SS
7691 #: build/C/man2/signalfd.2:164
7692 #, no-wrap
7693 msgid "The signalfd_siginfo structure"
7694 msgstr "signalfd_siginfo 構造体"
7695
7696 #. type: Plain text
7697 #: build/C/man2/signalfd.2:170
7698 msgid ""
7699 "The format of the I<signalfd_siginfo> structure(s) returned by B<read>(2)s "
7700 "from a signalfd file descriptor is as follows:"
7701 msgstr ""
7702 "signalfd ファイルディスクリプタからの B<read>(2)  で返される "
7703 "I<signalfd_siginfo> 構造体のフォーマットは以下の通りである。"
7704
7705 #.  ssi_trapno is unused on most arches
7706 #. type: Plain text
7707 #: build/C/man2/signalfd.2:195
7708 #, no-wrap
7709 msgid ""
7710 "struct signalfd_siginfo {\n"
7711 "    uint32_t ssi_signo;   /* Signal number */\n"
7712 "    int32_t  ssi_errno;   /* Error number (unused) */\n"
7713 "    int32_t  ssi_code;    /* Signal code */\n"
7714 "    uint32_t ssi_pid;     /* PID of sender */\n"
7715 "    uint32_t ssi_uid;     /* Real UID of sender */\n"
7716 "    int32_t  ssi_fd;      /* File descriptor (SIGIO) */\n"
7717 "    uint32_t ssi_tid;     /* Kernel timer ID (POSIX timers)\n"
7718 "    uint32_t ssi_band;    /* Band event (SIGIO) */\n"
7719 "    uint32_t ssi_overrun; /* POSIX timer overrun count */\n"
7720 "    uint32_t ssi_trapno;  /* Trap number that caused signal */\n"
7721 "    int32_t  ssi_status;  /* Exit status or signal (SIGCHLD) */\n"
7722 "    int32_t  ssi_int;     /* Integer sent by sigqueue(3) */\n"
7723 "    uint64_t ssi_ptr;     /* Pointer sent by sigqueue(3) */\n"
7724 "    uint64_t ssi_utime;   /* User CPU time consumed (SIGCHLD) */\n"
7725 "    uint64_t ssi_stime;   /* System CPU time consumed (SIGCHLD) */\n"
7726 "    uint64_t ssi_addr;    /* Address that generated signal\n"
7727 "                             (for hardware-generated signals) */\n"
7728 "    uint8_t  pad[I<X>];      /* Pad size to 128 bytes (allow for\n"
7729 "                              additional fields in the future) */\n"
7730 "};\n"
7731 msgstr ""
7732 "struct signalfd_siginfo {\n"
7733 "struct signalfd_siginfo {\n"
7734 "    uint32_t ssi_signo;   /* シグナル番号 */\n"
7735 "    int32_t  ssi_errno;   /* エラー番号 (未使用) */\n"
7736 "    int32_t  ssi_code;    /* シグナルコード */\n"
7737 "    uint32_t ssi_pid;     /* 送信元の PID */\n"
7738 "    uint32_t ssi_uid;     /* 送信元の実 UID */\n"
7739 "    int32_t  ssi_fd;      /* ファイルディスクリプタ (SIGIO) */\n"
7740 "    uint32_t ssi_tid;     /* カーネルタイマ ID (POSIX タイマ)\n"
7741 "    uint32_t ssi_band;    /* Band イベント (SIGIO) */\n"
7742 "    uint32_t ssi_overrun; /* POSIX タイマのオーバーラン回数 */\n"
7743 "    uint32_t ssi_trapno;  /* シグナルの原因となったトラップ番号 */\n"
7744 "    int32_t  ssi_status;  /* 終了ステータスかシグナル (SIGCHLD) */\n"
7745 "    int32_t  ssi_int;     /* sigqueue(3) から送られた整数 */\n"
7746 "    uint64_t ssi_ptr;     /* sigqueue(3) から送られたポインタ */\n"
7747 "    uint64_t ssi_utime;   /* 消費したユーザ CPU 時間 (SIGCHLD) */\n"
7748 "    uint64_t ssi_stime;   /* 消費したシステム CPU 時間 (SIGCHLD) */\n"
7749 "    uint64_t ssi_addr;    /* シグナルを生成したアドレス\n"
7750 "                             (ハードウェアが生成したシグナルの場合) */\n"
7751 "    uint8_t  pad[I<X>];      /* pad の大きさは 128 バイト\n"
7752 "                             (将来のフィールド追加用の場所の確保) */\n"
7753 "};\n"
7754
7755 #. type: Plain text
7756 #: build/C/man2/signalfd.2:218
7757 msgid ""
7758 "Each of the fields in this structure is analogous to the similarly named "
7759 "field in the I<siginfo_t> structure.  The I<siginfo_t> structure is "
7760 "described in B<sigaction>(2).  Not all fields in the returned "
7761 "I<signalfd_siginfo> structure will be valid for a specific signal; the set "
7762 "of valid fields can be determined from the value returned in the I<ssi_code> "
7763 "field.  This field is the analog of the I<siginfo_t> I<si_code> field; see "
7764 "B<sigaction>(2)  for details."
7765 msgstr ""
7766 "I<signalfd_siginfo> 構造体の各フィールドは、 I<siginfo_t> 構造体の同じような"
7767 "名前のフィールドと同様である。 I<siginfo_t> 構造体については B<sigaction>"
7768 "(2)  に説明がある。 返された I<signalfd_siginfo> 構造体の全てのフィールドがあ"
7769 "るシグナルに対して有効なわけではない。 どのフィールドが有効かは、 "
7770 "I<ssi_code> フィールドで返される値から判定することができる。 このフィールド"
7771 "は I<siginfo_t> の I<si_code> フィールドと同様である。詳細は B<sigaction>"
7772 "(2)  を参照。"
7773
7774 #. type: SS
7775 #: build/C/man2/signalfd.2:218 build/C/man2/timerfd_create.2:268
7776 #, no-wrap
7777 msgid "fork(2) semantics"
7778 msgstr "fork(2) での扱い"
7779
7780 #. type: Plain text
7781 #: build/C/man2/signalfd.2:226
7782 msgid ""
7783 "After a B<fork>(2), the child inherits a copy of the signalfd file "
7784 "descriptor.  A B<read>(2)  from the file descriptor in the child will return "
7785 "information about signals queued to the child."
7786 msgstr ""
7787 "B<fork>(2)  が行われると、子プロセスは signalfd ファイルディスクリプタのコ"
7788 "ピーを 継承する。 子プロセスでこのファイルディスクリプタから B<read>(2)  を行"
7789 "うと、子プロセスに対するキューに入っているシグナルに関する 情報が返される。"
7790
7791 #. type: SS
7792 #: build/C/man2/signalfd.2:226 build/C/man2/timerfd_create.2:280
7793 #, no-wrap
7794 msgid "execve(2) semantics"
7795 msgstr "execve(2) での扱い"
7796
7797 #. type: Plain text
7798 #: build/C/man2/signalfd.2:238
7799 msgid ""
7800 "Just like any other file descriptor, a signalfd file descriptor remains open "
7801 "across an B<execve>(2), unless it has been marked for close-on-exec (see "
7802 "B<fcntl>(2)).  Any signals that were available for reading before the "
7803 "B<execve>(2)  remain available to the newly loaded program.  (This is "
7804 "analogous to traditional signal semantics, where a blocked signal that is "
7805 "pending remains pending across an B<execve>(2).)"
7806 msgstr ""
7807 "他のファイルディスクリプタと全く同様に、 signalfd ファイルディスクリプタも "
7808 "B<execve>(2)  の前後でオープンされたままとなる。但し、そのファイルディスクリ"
7809 "プタに close-on-exec のマーク (B<fcntl>(2)  参照) が付いている場合はクローズ"
7810 "される。 B<execve>(2)  の前に読み出し可能となっていた全てのシグナルは新しく起"
7811 "動されたプログラム でも引き続き読み出し可能である (これは伝統的なシグナルの扱"
7812 "いと同じであり、 処理待ちのブロックされたシグナルは B<execve>(2)  の前後で処"
7813 "理待ちのままとなる)。"
7814
7815 #. type: SS
7816 #: build/C/man2/signalfd.2:238
7817 #, no-wrap
7818 msgid "Thread semantics"
7819 msgstr "スレッドでの扱い"
7820
7821 #. type: Plain text
7822 #: build/C/man2/signalfd.2:248
7823 msgid ""
7824 "The semantics of signalfd file descriptors in a multithreaded program mirror "
7825 "the standard semantics for signals.  In other words, when a thread reads "
7826 "from a signalfd file descriptor, it will read the signals that are directed "
7827 "to the thread itself and the signals that are directed to the process (i.e., "
7828 "the entire thread group).  (A thread will not be able to read signals that "
7829 "are directed to other threads in the process.)"
7830 msgstr ""
7831 "マルチスレッドプログラムにおける signalfd ファイルディスクリプタの扱いは シグ"
7832 "ナルの標準的な扱いと全く同じである。 言い換えると、あるスレッドが signalfd "
7833 "ファイルディスクリプタから 読み出しを行うと、そのスレッド自身宛てのシグナルと"
7834 "プロセス (すなわち スレッドグループ全体) 宛てのシグナルが読み出される。 (ス"
7835 "レッドは同じプロセスの他のスレッド宛てのシグナルを読み出すことはできない。)"
7836
7837 #. type: Plain text
7838 #: build/C/man2/signalfd.2:262
7839 msgid ""
7840 "On success, B<signalfd>()  returns a signalfd file descriptor; this is "
7841 "either a new file descriptor (if I<fd> was -1), or I<fd> if I<fd> was a "
7842 "valid signalfd file descriptor.  On error, -1 is returned and I<errno> is "
7843 "set to indicate the error."
7844 msgstr ""
7845 "成功すると、 B<signalfd>()  は signalfd ファイルディスクリプタを返す。 返され"
7846 "るファイルディスクリプタは、 I<fd> が -1 の場合は新規のファイルディスクリプタ"
7847 "であり、 I<fd> が有効な signalfd ファイルディスクリプタだった場合は I<fd> 自"
7848 "身である。 エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
7849
7850 #. type: TP
7851 #: build/C/man2/signalfd.2:263 build/C/man2/timerfd_create.2:337
7852 #, no-wrap
7853 msgid "B<EBADF>"
7854 msgstr "B<EBADF>"
7855
7856 #. type: Plain text
7857 #: build/C/man2/signalfd.2:268
7858 msgid "The I<fd> file descriptor is not a valid file descriptor."
7859 msgstr "ファイルディスクリプタ I<fd> が有効なファイルディスクリプタでない。"
7860
7861 #.  or, the
7862 #.  .I sizemask
7863 #.  argument is not equal to
7864 #.  .IR sizeof(sigset_t) ;
7865 #. type: Plain text
7866 #: build/C/man2/signalfd.2:276
7867 msgid "I<fd> is not a valid signalfd file descriptor."
7868 msgstr "I<fd> が有効な signalfd ファイルディスクリプタではない。"
7869
7870 #. type: Plain text
7871 #: build/C/man2/signalfd.2:283 build/C/man2/timerfd_create.2:319
7872 msgid ""
7873 "I<flags> is invalid; or, in Linux 2.6.26 or earlier, I<flags> is nonzero."
7874 msgstr ""
7875 "I<flags> が無効である。もしくは、Linux 2.6.26 以前の場合には I<flags> が 0 以"
7876 "外である。"
7877
7878 #. type: Plain text
7879 #: build/C/man2/signalfd.2:286 build/C/man2/timerfd_create.2:322
7880 msgid "The per-process limit of open file descriptors has been reached."
7881 msgstr ""
7882 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
7883
7884 #. type: Plain text
7885 #: build/C/man2/signalfd.2:296
7886 msgid "There was insufficient memory to create a new signalfd file descriptor."
7887 msgstr ""
7888 "新しい signalfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
7889
7890 #.  signalfd() is in glibc 2.7, but reportedly does not build
7891 #. type: Plain text
7892 #: build/C/man2/signalfd.2:304
7893 msgid ""
7894 "B<signalfd>()  is available on Linux since kernel 2.6.22.  Working support "
7895 "is provided in glibc since version 2.8.  The B<signalfd4>()  system call "
7896 "(see NOTES) is available on Linux since kernel 2.6.27."
7897 msgstr ""
7898 "B<signalfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
7899 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<signalfd4>()  "
7900 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
7901 "る。"
7902
7903 #. type: Plain text
7904 #: build/C/man2/signalfd.2:309
7905 msgid "B<signalfd>()  and B<signalfd4>()  are Linux-specific."
7906 msgstr "B<signalfd>()  と B<signalfd4>()  は Linux 固有である。"
7907
7908 #. type: Plain text
7909 #: build/C/man2/signalfd.2:319
7910 msgid ""
7911 "The underlying Linux system call requires an additional argument, I<size_t "
7912 "sizemask>, which specifies the size of the I<mask> argument.  The glibc "
7913 "B<signalfd>()  wrapper function does not include this argument, since it "
7914 "provides the required value for the underlying system call."
7915 msgstr ""
7916 "実際の Linux のシステムコールでは I<size_t sizemask> という引き数が追加で必要"
7917 "である。この引き数で I<mask> のサイズを指定する。 glibc の B<signalfd>()  "
7918 "ラッパー関数にはこの引き数は含まれず、 ラッパー関数が必要な値を計算して内部で"
7919 "呼び出すシステムコールに提供する。"
7920
7921 #. type: Plain text
7922 #: build/C/man2/signalfd.2:333
7923 msgid ""
7924 "A process can create multiple signalfd file descriptors.  This makes it "
7925 "possible to accept different signals on different file descriptors.  (This "
7926 "may be useful if monitoring the file descriptors using B<select>(2), B<poll>"
7927 "(2), or B<epoll>(7): the arrival of different signals will make different "
7928 "descriptors ready.)  If a signal appears in the I<mask> of more than one of "
7929 "the file descriptors, then occurrences of that signal can be read (once) "
7930 "from any one of the descriptors."
7931 msgstr ""
7932 "一つのプロセスは複数の signalfd ファイルディスクリプタを生成することができ"
7933 "る。 これにより、異なるファイルディスクリプタで異なるシグナルを受け取ること"
7934 "が できる (この機能は B<select>(2), B<poll>(2), B<epoll>(7)  を使ってファイル"
7935 "ディスクリプタを監視する場合に有用かもしれない。 異なるシグナルが到着すると、"
7936 "異なるファイルディスクリプタが利用可能に なるからだ)。 一つのシグナルが二つ以"
7937 "上のファイルディスクリプタの I<mask> に含まれている場合、そのシグナルの発生は"
7938 "そのシグナルを I<mask> に含むファイルディスクリプタのうちいずれか一つから読み"
7939 "出すことができる。"
7940
7941 #. type: Plain text
7942 #: build/C/man2/signalfd.2:349
7943 msgid ""
7944 "There are two underlying Linux system calls: B<signalfd>()  and the more "
7945 "recent B<signalfd4>().  The former system call does not implement a I<flags> "
7946 "argument.  The latter system call implements the I<flags> values described "
7947 "above.  Starting with glibc 2.9, the B<signalfd>()  wrapper function will "
7948 "use B<signalfd4>()  where it is available."
7949 msgstr ""
7950 "下層にある Linux システムコールは二種類あり、 B<signalfd>()  と、もっと新し"
7951 "い B<signalfd4>()  である。 B<signalfd>()  は I<flags> 引き数を実装していな"
7952 "い。 B<signalfd4>()  では上記の値の I<flags> が実装されている。 glibc 2.9 以"
7953 "降では、 B<signalfd>()  のラッパー関数は、 B<signalfd4>()  が利用可能であれ"
7954 "ば、これを使用する。"
7955
7956 #.  The fix also was put into 2.6.24.5
7957 #. type: Plain text
7958 #: build/C/man2/signalfd.2:357
7959 msgid ""
7960 "In kernels before 2.6.25, the I<ssi_ptr> and I<ssi_int> fields are not "
7961 "filled in with the data accompanying a signal sent by B<sigqueue>(3)."
7962 msgstr ""
7963 "カーネル 2.6.25 より前では、 B<sigqueue>(3)  により送信されたシグナルと一緒に"
7964 "渡されるデータでは、フィールド I<ssi_ptr> と I<ssi_int> は設定されない。"
7965
7966 #. type: Plain text
7967 #: build/C/man2/signalfd.2:367
7968 msgid ""
7969 "The program below accepts the signals B<SIGINT> and B<SIGQUIT> via a "
7970 "signalfd file descriptor.  The program terminates after accepting a "
7971 "B<SIGQUIT> signal.  The following shell session demonstrates the use of the "
7972 "program:"
7973 msgstr ""
7974 "下記のプログラムは、シグナル B<SIGINT> と B<SIGQUIT> を signalfd ファイルディ"
7975 "スクリプタ経由で受信する。 シグナル B<SIGQUIT> 受信後にプログラムは終了す"
7976 "る。 以下に示すシェルセッションにこのプログラムの使い方を示す。"
7977
7978 #. type: Plain text
7979 #: build/C/man2/signalfd.2:378
7980 #, no-wrap
7981 msgid ""
7982 "$B< ./signalfd_demo>\n"
7983 "B<^C>                   # Control-C generates SIGINT\n"
7984 "Got SIGINT\n"
7985 "B<^C>\n"
7986 "Got SIGINT\n"
7987 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
7988 "Got SIGQUIT\n"
7989 "$\n"
7990 msgstr ""
7991 "$B< ./signalfd_demo>\n"
7992 "B<^C>                   # Control-C generates SIGINT\n"
7993 "Got SIGINT\n"
7994 "B<^C>\n"
7995 "Got SIGINT\n"
7996 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
7997 "Got SIGQUIT\n"
7998 "$\n"
7999
8000 #. type: Plain text
8001 #: build/C/man2/signalfd.2:388
8002 #, no-wrap
8003 msgid ""
8004 "#include E<lt>sys/signalfd.hE<gt>\n"
8005 "#include E<lt>signal.hE<gt>\n"
8006 "#include E<lt>unistd.hE<gt>\n"
8007 "#include E<lt>stdlib.hE<gt>\n"
8008 "#include E<lt>stdio.hE<gt>\n"
8009 msgstr ""
8010 "#include E<lt>sys/signalfd.hE<gt>\n"
8011 "#include E<lt>signal.hE<gt>\n"
8012 "#include E<lt>unistd.hE<gt>\n"
8013 "#include E<lt>stdlib.hE<gt>\n"
8014 "#include E<lt>stdio.hE<gt>\n"
8015
8016 #. type: Plain text
8017 #: build/C/man2/signalfd.2:399
8018 #, no-wrap
8019 msgid ""
8020 "int\n"
8021 "main(int argc, char *argv[])\n"
8022 "{\n"
8023 "    sigset_t mask;\n"
8024 "    int sfd;\n"
8025 "    struct signalfd_siginfo fdsi;\n"
8026 "    ssize_t s;\n"
8027 msgstr ""
8028 "int\n"
8029 "main(int argc, char *argv[])\n"
8030 "{\n"
8031 "    sigset_t mask;\n"
8032 "    int sfd;\n"
8033 "    struct signalfd_siginfo fdsi;\n"
8034 "    ssize_t s;\n"
8035
8036 #. type: Plain text
8037 #: build/C/man2/signalfd.2:403
8038 #, no-wrap
8039 msgid ""
8040 "    sigemptyset(&mask);\n"
8041 "    sigaddset(&mask, SIGINT);\n"
8042 "    sigaddset(&mask, SIGQUIT);\n"
8043 msgstr ""
8044 "    sigemptyset(&mask);\n"
8045 "    sigaddset(&mask, SIGINT);\n"
8046 "    sigaddset(&mask, SIGQUIT);\n"
8047
8048 #. type: Plain text
8049 #: build/C/man2/signalfd.2:406
8050 #, no-wrap
8051 msgid ""
8052 "    /* Block signals so that they aren\\(aqt handled\n"
8053 "       according to their default dispositions */\n"
8054 msgstr ""
8055 "    /* Block signals so that they aren\\(aqt handled\n"
8056 "       according to their default dispositions */\n"
8057
8058 #. type: Plain text
8059 #: build/C/man2/signalfd.2:409
8060 #, no-wrap
8061 msgid ""
8062 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8063 "        handle_error(\"sigprocmask\");\n"
8064 msgstr ""
8065 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8066 "        handle_error(\"sigprocmask\");\n"
8067
8068 #. type: Plain text
8069 #: build/C/man2/signalfd.2:413
8070 #, no-wrap
8071 msgid ""
8072 "    sfd = signalfd(-1, &mask, 0);\n"
8073 "    if (sfd == -1)\n"
8074 "        handle_error(\"signalfd\");\n"
8075 msgstr ""
8076 "    sfd = signalfd(-1, &mask, 0);\n"
8077 "    if (sfd == -1)\n"
8078 "        handle_error(\"signalfd\");\n"
8079
8080 #. type: Plain text
8081 #: build/C/man2/signalfd.2:418
8082 #, no-wrap
8083 msgid ""
8084 "    for (;;) {\n"
8085 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8086 "        if (s != sizeof(struct signalfd_siginfo))\n"
8087 "            handle_error(\"read\");\n"
8088 msgstr ""
8089 "    for (;;) {\n"
8090 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8091 "        if (s != sizeof(struct signalfd_siginfo))\n"
8092 "            handle_error(\"read\");\n"
8093
8094 #. type: Plain text
8095 #: build/C/man2/signalfd.2:429
8096 #, no-wrap
8097 msgid ""
8098 "        if (fdsi.ssi_signo == SIGINT) {\n"
8099 "            printf(\"Got SIGINT\\en\");\n"
8100 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8101 "            printf(\"Got SIGQUIT\\en\");\n"
8102 "            exit(EXIT_SUCCESS);\n"
8103 "        } else {\n"
8104 "            printf(\"Read unexpected signal\\en\");\n"
8105 "        }\n"
8106 "    }\n"
8107 "}\n"
8108 msgstr ""
8109 "        if (fdsi.ssi_signo == SIGINT) {\n"
8110 "            printf(\"Got SIGINT\\en\");\n"
8111 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8112 "            printf(\"Got SIGQUIT\\en\");\n"
8113 "            exit(EXIT_SUCCESS);\n"
8114 "        } else {\n"
8115 "            printf(\"Read unexpected signal\\en\");\n"
8116 "        }\n"
8117 "    }\n"
8118 "}\n"
8119
8120 #. type: Plain text
8121 #: build/C/man2/signalfd.2:443
8122 msgid ""
8123 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8124 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8125 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8126 msgstr ""
8127 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8128 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8129 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8130
8131 #. type: TH
8132 #: build/C/man3/sigpause.3:23
8133 #, no-wrap
8134 msgid "SIGPAUSE"
8135 msgstr "SIGPAUSE"
8136
8137 #. type: TH
8138 #: build/C/man3/sigpause.3:23
8139 #, no-wrap
8140 msgid "2010-09-12"
8141 msgstr "2010-09-12"
8142
8143 #. type: Plain text
8144 #: build/C/man3/sigpause.3:26
8145 msgid "sigpause - atomically release blocked signals and wait for interrupt"
8146 msgstr "sigpause - ブロックされたシグナルをアトミックに解放して割り込みを待つ"
8147
8148 #. type: Plain text
8149 #: build/C/man3/sigpause.3:31
8150 #, no-wrap
8151 msgid "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8152 msgstr "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8153
8154 #. type: Plain text
8155 #: build/C/man3/sigpause.3:33
8156 #, no-wrap
8157 msgid "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8158 msgstr "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8159
8160 #. type: Plain text
8161 #: build/C/man3/sigpause.3:39
8162 msgid "Don't use this function.  Use B<sigsuspend>(2)  instead."
8163 msgstr "この関数を使わないこと。 代わりに B<sigsuspend>(2)  を使うこと。"
8164
8165 #. type: Plain text
8166 #: build/C/man3/sigpause.3:46
8167 msgid ""
8168 "The function B<sigpause>()  is designed to wait for some signal.  It changes "
8169 "the process's signal mask (set of blocked signals), and then waits for a "
8170 "signal to arrive.  Upon arrival of a signal, the original signal mask is "
8171 "restored."
8172 msgstr ""
8173 "関数 B<sigpause>()  はシグナルを待つように設計されている。 この関数はプロセス"
8174 "のシグナルマスク (ブロックされたシグナルのセット) を変更し、 シグナルが到着す"
8175 "るのを待つ。 シグナルが到着すると、シグナルマスクは元に戻される。"
8176
8177 #. type: Plain text
8178 #: build/C/man3/sigpause.3:54
8179 msgid ""
8180 "If B<sigpause>()  returns, it was interrupted by a signal and the return "
8181 "value is -1 with I<errno> set to B<EINTR>."
8182 msgstr ""
8183 "B<sigpause>()  が返った場合、この関数はシグナルによって割り込まれている。 返"
8184 "り値は -1 で、 I<errno> は B<EINTR> に設定される。"
8185
8186 #. type: Plain text
8187 #: build/C/man3/sigpause.3:58
8188 msgid "The System V version of B<sigpause>()  is standardized in POSIX.1-2001."
8189 msgstr "System V 版の B<sigpause>()  は POSIX.1-2001 で標準化されている。"
8190
8191 #.  __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
8192 #. type: Plain text
8193 #: build/C/man3/sigpause.3:75
8194 msgid ""
8195 "The classical BSD version of this function appeared in 4.2BSD.  It sets the "
8196 "process's signal mask to I<sigmask>.  UNIX 95 standardized the incompatible "
8197 "System V version of this function, which removes only the specified signal "
8198 "I<sig> from the process's signal mask.  The unfortunate situation with two "
8199 "incompatible functions with the same name was solved by the B<\\%sigsuspend>"
8200 "(2)  function, that takes a I<sigset_t *> argument (instead of an I<int>)."
8201 msgstr ""
8202 "この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナル"
8203 "マスクを I<sigmask> に設定する。 UNIX 95 では BSD 版と互換性のない System V "
8204 "版のこの関数が標準化された。 UNIX 95 版は、指定されたシグナル I<sig> をプロセ"
8205 "スのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2 つの関数"
8206 "があるという不幸な事態は、 B<\\%sigsuspend>(2)  関数によって解消された。 この"
8207 "関数は (I<int> の代わりに)  B<sigset_t *> 引き数をとる。"
8208
8209 #. type: Plain text
8210 #: build/C/man3/sigpause.3:78
8211 msgid ""
8212 "On Linux, this routine is a system call only on the Sparc (sparc64)  "
8213 "architecture."
8214 msgstr ""
8215 "Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコー"
8216 "ルとなっている。"
8217
8218 #. type: Plain text
8219 #: build/C/man3/sigpause.3:80
8220 msgid "Libc4 and libc5 only know about the BSD version."
8221 msgstr "libc4 と libc5 には BSD 版しかない。"
8222
8223 #.  For the BSD version, one usually uses a zero
8224 #.  .I sigmask
8225 #.  to indicate that no signals are to be blocked.
8226 #. type: Plain text
8227 #: build/C/man3/sigpause.3:96
8228 msgid ""
8229 "Glibc uses the BSD version if the B<_BSD_SOURCE> feature test macro is "
8230 "defined and none of B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, "
8231 "B<_GNU_SOURCE>, or B<_SVID_SOURCE> is defined.  Otherwise, the System V "
8232 "version is used."
8233 msgstr ""
8234 "機能検査マクロ B<_BSD_SOURCE> が定義され、 B<_POSIX_SOURCE>, "
8235 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, B<_SVID_SOURCE> のいず"
8236 "れも定義されていない場合、 glibc は BSD 版を使う。 それ以外の場合には、"
8237 "System V 版を使用する。"
8238
8239 #. type: Plain text
8240 #: build/C/man3/sigpause.3:104
8241 msgid ""
8242 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8243 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8244 msgstr ""
8245 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8246 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8247
8248 #. type: TH
8249 #: build/C/man2/sigpending.2:27
8250 #, no-wrap
8251 msgid "SIGPENDING"
8252 msgstr "SIGPENDING"
8253
8254 #. type: TH
8255 #: build/C/man2/sigpending.2:27
8256 #, no-wrap
8257 msgid "2008-10-04"
8258 msgstr "2008-10-04"
8259
8260 #. type: Plain text
8261 #: build/C/man2/sigpending.2:30
8262 msgid "sigpending - examine pending signals"
8263 msgstr "sigpending - 処理待ちのシグナルの検査"
8264
8265 #. type: Plain text
8266 #: build/C/man2/sigpending.2:34
8267 msgid "B<int sigpending(sigset_t *>I<set>B<);>"
8268 msgstr "B<int sigpending(sigset_t *>I<set>B<);>"
8269
8270 #. type: Plain text
8271 #: build/C/man2/sigpending.2:43
8272 msgid ""
8273 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8274 "_POSIX_SOURCE"
8275 msgstr ""
8276 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8277 "_POSIX_SOURCE"
8278
8279 #. type: Plain text
8280 #: build/C/man2/sigpending.2:51
8281 msgid ""
8282 "B<sigpending>()  returns the set of signals that are pending for delivery to "
8283 "the calling thread (i.e., the signals which have been raised while "
8284 "blocked).  The mask of pending signals is returned in I<set>."
8285 msgstr ""
8286 "B<sigpending>()  は、呼び出し元のスレッドへの配送を待っている (pending) シグ"
8287 "ナル集合 (すなわち、禁止中に発生したシグナル) を返す。 処理待ちのシグナルのマ"
8288 "スクが I<set> に格納される。"
8289
8290 #. type: Plain text
8291 #: build/C/man2/sigpending.2:54
8292 msgid "B<sigpending>()  returns 0 on success and -1 on error."
8293 msgstr "B<sigpending>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8294
8295 #. type: Plain text
8296 #: build/C/man2/sigpending.2:59
8297 msgid ""
8298 "I<set> points to memory which is not a valid part of the process address "
8299 "space."
8300 msgstr ""
8301 "I<set> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
8302
8303 #. type: Plain text
8304 #: build/C/man2/sigpending.2:70
8305 msgid ""
8306 "The set of signals that is pending for a thread is the union of the set of "
8307 "signals that is pending for that thread and the set of signals that is "
8308 "pending for the process as a whole; see B<signal>(7)."
8309 msgstr ""
8310 "あるスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体への処理待ち"
8311 "のシグナル集合と、プロセス全体への処理待ちの シグナル集合をあわせたものであ"
8312 "る。 B<signal>(7)  参照。"
8313
8314 #. type: Plain text
8315 #: build/C/man2/sigpending.2:82
8316 msgid ""
8317 "In versions of glibc up to and including 2.2.1, there is a bug in the "
8318 "wrapper function for B<sigpending>()  which means that information about "
8319 "pending real-time signals is not correctly returned."
8320 msgstr ""
8321 "バージョン 2.2.1 以前の glibc では、 B<sigpending>()  のラッパー関数に、処理"
8322 "待ちのリアルタイムシグナルに関する情報が 正しく返されないというバグがある。"
8323
8324 #. type: Plain text
8325 #: build/C/man2/sigpending.2:90
8326 msgid ""
8327 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8328 "(2), B<sigsetops>(3), B<signal>(7)"
8329 msgstr ""
8330 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8331 "(2), B<sigsetops>(3), B<signal>(7)"
8332
8333 #. type: TH
8334 #: build/C/man2/sigprocmask.2:27
8335 #, no-wrap
8336 msgid "SIGPROCMASK"
8337 msgstr "SIGPROCMASK"
8338
8339 #. type: Plain text
8340 #: build/C/man2/sigprocmask.2:30
8341 msgid "sigprocmask - examine and change blocked signals"
8342 msgstr "sigprocmask - 禁止するシグナルの確認と変更"
8343
8344 #. type: Plain text
8345 #: build/C/man2/sigprocmask.2:35
8346 msgid ""
8347 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8348 "*>I<oldset>B<);>"
8349 msgstr ""
8350 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8351 "*>I<oldset>B<);>"
8352
8353 #. type: Plain text
8354 #: build/C/man2/sigprocmask.2:44
8355 msgid ""
8356 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8357 "_POSIX_SOURCE"
8358 msgstr ""
8359 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8360 "_POSIX_SOURCE"
8361
8362 #. type: Plain text
8363 #: build/C/man2/sigprocmask.2:53
8364 msgid ""
8365 "B<sigprocmask>()  is used to fetch and/or change the signal mask of the "
8366 "calling thread.  The signal mask is the set of signals whose delivery is "
8367 "currently blocked for the caller (see also B<signal>(7)  for more details)."
8368 msgstr ""
8369 "B<sigprocmask>()  を使うと、呼び出したスレッドのシグナルマスクの取得/変更がで"
8370 "きる。 シグナルマスクは、呼び出し元に対して現在配送が禁止されているシグナル"
8371 "の 集合のことである (詳細については B<signal>(7)  も参照のこと)。"
8372
8373 #. type: Plain text
8374 #: build/C/man2/sigprocmask.2:57
8375 msgid ""
8376 "The behavior of the call is dependent on the value of I<how>, as follows."
8377 msgstr "このコールの動作は I<how> の値によって決まる:"
8378
8379 #. type: TP
8380 #: build/C/man2/sigprocmask.2:57
8381 #, no-wrap
8382 msgid "B<SIG_BLOCK>"
8383 msgstr "B<SIG_BLOCK>"
8384
8385 #. type: Plain text
8386 #: build/C/man2/sigprocmask.2:62
8387 msgid ""
8388 "The set of blocked signals is the union of the current set and the I<set> "
8389 "argument."
8390 msgstr ""
8391 "禁止されたシグナルの集合は現在の値と I<set> 引き数を結合したものとなる。"
8392
8393 #. type: TP
8394 #: build/C/man2/sigprocmask.2:62
8395 #, no-wrap
8396 msgid "B<SIG_UNBLOCK>"
8397 msgstr "B<SIG_UNBLOCK>"
8398
8399 #. type: Plain text
8400 #: build/C/man2/sigprocmask.2:68
8401 msgid ""
8402 "The signals in I<set> are removed from the current set of blocked signals.  "
8403 "It is permissible to attempt to unblock a signal which is not blocked."
8404 msgstr ""
8405 "現在禁止されているシグナルの集合から I<set> にあるシグナルを取り除く。禁止さ"
8406 "れていないシグナルを取り除こうと することも認められている。"
8407
8408 #. type: TP
8409 #: build/C/man2/sigprocmask.2:68
8410 #, no-wrap
8411 msgid "B<SIG_SETMASK>"
8412 msgstr "B<SIG_SETMASK>"
8413
8414 #. type: Plain text
8415 #: build/C/man2/sigprocmask.2:72
8416 msgid "The set of blocked signals is set to the argument I<set>."
8417 msgstr "禁止されているシグナルの集合に I<set> 引き数を設定する。"
8418
8419 #. type: Plain text
8420 #: build/C/man2/sigprocmask.2:77
8421 msgid ""
8422 "If I<oldset> is non-NULL, the previous value of the signal mask is stored in "
8423 "I<oldset>."
8424 msgstr ""
8425 "I<oldset> が NULL でなければ、シグナルマスクの今までの値を I<oldset> に格納す"
8426 "る。"
8427
8428 #. type: Plain text
8429 #: build/C/man2/sigprocmask.2:86
8430 msgid ""
8431 "If I<set> is NULL, then the signal mask is unchanged (i.e., I<how> is "
8432 "ignored), but the current value of the signal mask is nevertheless returned "
8433 "in I<oldset> (if it is not NULL)."
8434 msgstr ""
8435 "I<set> が NULL であれば、シグナルマスクは変更されない (すなわち、 I<how> は無"
8436 "視される)。 I<set> の値にかかわらず、現在のシグナルマスクの値は I<oldset> に"
8437 "入れて返される (但し、 I<oldset> が NULL でない場合)。"
8438
8439 #. type: Plain text
8440 #: build/C/man2/sigprocmask.2:91
8441 msgid ""
8442 "The use of B<sigprocmask>()  is unspecified in a multithreaded process; see "
8443 "B<pthread_sigmask>(3)."
8444 msgstr ""
8445 "マルチスレッドのプロセスで B<sigprocmask>()  を使用した場合の動作は規定されて"
8446 "いない。 B<pthread_sigmask>(3)  を参照のこと。"
8447
8448 #. type: Plain text
8449 #: build/C/man2/sigprocmask.2:94
8450 msgid "B<sigprocmask>()  returns 0 on success and -1 on error."
8451 msgstr "B<sigprocmask>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8452
8453 #. type: Plain text
8454 #: build/C/man2/sigprocmask.2:99
8455 msgid "B<EINVAL> The value specified in I<how> was invalid."
8456 msgstr "B<EINVAL> I<how> に指定された値が有効ではない。"
8457
8458 #. type: Plain text
8459 #: build/C/man2/sigprocmask.2:105
8460 msgid ""
8461 "It is not possible to block B<SIGKILL> or B<SIGSTOP>.  Attempts to do so are "
8462 "silently ignored."
8463 msgstr ""
8464 "B<SIGKILL> や B<SIGSTOP> を禁止することはできない。 禁止しようとしても黙って"
8465 "無視される。"
8466
8467 #. type: Plain text
8468 #: build/C/man2/sigprocmask.2:107
8469 msgid "Each of the threads in a process has its own signal mask."
8470 msgstr "プロセス内の各スレッドはそれぞれ専用のシグナルマスクを持つ。"
8471
8472 #. type: Plain text
8473 #: build/C/man2/sigprocmask.2:127
8474 msgid ""
8475 "If B<SIGBUS>, B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> are generated while they "
8476 "are blocked, the result is undefined, unless the signal was generated by "
8477 "B<kill>(2), B<sigqueue>(3), or B<raise>(3)."
8478 msgstr ""
8479 "シグナル B<SIGBUS>, B<SIGFPE>, B<SIGILL>, B<SIGSEGV> が禁止されている間に生成"
8480 "された場合で、 そのシグナルが B<kill>(2), B<sigqueue>(3), B<raise>(3)  によっ"
8481 "て生成されたものでないときには、 その後の動作は未定義である。"
8482
8483 #. type: Plain text
8484 #: build/C/man2/sigprocmask.2:142
8485 msgid ""
8486 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8487 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8488 "B<signal>(7)"
8489 msgstr ""
8490 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8491 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8492 "B<signal>(7)"
8493
8494 #. type: TH
8495 #: build/C/man3/sigqueue.3:26
8496 #, no-wrap
8497 msgid "SIGQUEUE"
8498 msgstr "SIGQUEUE"
8499
8500 #. type: Plain text
8501 #: build/C/man3/sigqueue.3:29
8502 msgid "sigqueue, rt_sigqueueinfo - queue a signal and data to a process"
8503 msgstr "sigqueue, rt_sigqueueinfo - シグナルとデータをプロセスに送る"
8504
8505 #. type: Plain text
8506 #: build/C/man3/sigqueue.3:33
8507 msgid ""
8508 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8509 ">I<value>B<);>"
8510 msgstr ""
8511 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8512 ">I<value>B<);>"
8513
8514 #. type: Plain text
8515 #: build/C/man3/sigqueue.3:41
8516 msgid "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8517 msgstr "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8518
8519 #. type: Plain text
8520 #: build/C/man3/sigqueue.3:53
8521 msgid ""
8522 "B<sigqueue>()  sends the signal specified in I<sig> to the process whose PID "
8523 "is given in I<pid>.  The permissions required to send a signal are the same "
8524 "as for B<kill>(2).  As with B<kill>(2), the null signal (0) can be used to "
8525 "check if a process with a given PID exists."
8526 msgstr ""
8527 "B<sigqueue>()  は I<sig> で指定されたシグナルを、PID が I<pid> であるプロセス"
8528 "に送る。 シグナルを送るのに必要な権限は B<kill>(2)  と同じである。 B<kill>"
8529 "(2)  と同様に、ヌル・シグナル (0) を使って 指定した PID のプロセスが存在する"
8530 "かをチェックすることができる。"
8531
8532 #. type: Plain text
8533 #: build/C/man3/sigqueue.3:58
8534 msgid ""
8535 "The I<value> argument is used to specify an accompanying item of data "
8536 "(either an integer or a pointer value) to be sent with the signal, and has "
8537 "the following type:"
8538 msgstr ""
8539 "I<value> 引き数はシグナルと一緒に送るデータの付属アイテムを指定する。 "
8540 "I<value> は (整数またはポインタの値であり) 以下のような型である。"
8541
8542 #. type: Plain text
8543 #: build/C/man3/sigqueue.3:65
8544 #, no-wrap
8545 msgid ""
8546 "union sigval {\n"
8547 "    int   sival_int;\n"
8548 "    void *sival_ptr;\n"
8549 "};\n"
8550 msgstr ""
8551 "union sigval {\n"
8552 "    int   sival_int;\n"
8553 "    void *sival_ptr;\n"
8554 "};\n"
8555
8556 #. type: Plain text
8557 #: build/C/man3/sigqueue.3:81
8558 msgid ""
8559 "If the receiving process has installed a handler for this signal using the "
8560 "B<SA_SIGINFO> flag to B<sigaction>(2), then it can obtain this data via the "
8561 "I<si_value> field of the I<siginfo_t> structure passed as the second "
8562 "argument to the handler.  Furthermore, the I<si_code> field of that "
8563 "structure will be set to B<SI_QUEUE>."
8564 msgstr ""
8565 "受取先のプロセスに、このシグナルに対するハンドラを (B<sigaction>(2)  に "
8566 "B<SA_SIGINFO> を指定して) インストールしておくと、 そのハンドラの第 2 引き数"
8567 "に渡される I<siginfo_t> 構造体の I<si_value> フィールドによって、このデータを"
8568 "取得できる。 さらに、この構造体の I<si_code> フィールドは B<SI_QUEUE> に設定"
8569 "される。"
8570
8571 #. type: Plain text
8572 #: build/C/man3/sigqueue.3:89
8573 msgid ""
8574 "On success, B<sigqueue>()  returns 0, indicating that the signal was "
8575 "successfully queued to the receiving process.  Otherwise -1 is returned and "
8576 "I<errno> is set to indicate the error."
8577 msgstr ""
8578 "成功した場合、 B<sigqueue>()  は 0 を返す。 これは受け取り側プロセスの待ち行"
8579 "列に シグナルが正しく入れられたことを示す。 失敗した場合は -1 が返され、 "
8580 "I<errno> がエラーを表す値に設定される。"
8581
8582 #. type: Plain text
8583 #: build/C/man3/sigqueue.3:100
8584 msgid "I<sig> was invalid."
8585 msgstr "I<sig> が不正である。"
8586
8587 #. type: Plain text
8588 #: build/C/man3/sigqueue.3:106
8589 msgid ""
8590 "The process does not have permission to send the signal to the receiving "
8591 "process.  For the required permissions, see B<kill>(2)."
8592 msgstr ""
8593 "このプロセスには、受け取り側プロセスにシグナルを送る権限がない。 必要な権限に"
8594 "ついては、 B<kill>(2)  を参照すること。"
8595
8596 #. type: Plain text
8597 #: build/C/man3/sigqueue.3:110
8598 msgid "No process has a PID matching I<pid>."
8599 msgstr "I<pid> にマッチする PID のプロセスがない。"
8600
8601 #. type: Plain text
8602 #: build/C/man3/sigqueue.3:112
8603 msgid "This system call first appeared in Linux 2.2."
8604 msgstr "このシステムコールは Linux 2.2 で初めて登場した。"
8605
8606 #. type: Plain text
8607 #: build/C/man3/sigqueue.3:122
8608 msgid ""
8609 "If this function results in the sending of a signal to the process that "
8610 "invoked it, and that signal was not blocked by the calling thread, and no "
8611 "other threads were willing to handle this signal (either by having it "
8612 "unblocked, or by waiting for it using B<sigwait>(3)), then at least some "
8613 "signal must be delivered to this thread before this function returns."
8614 msgstr ""
8615 "この関数を呼び出したプロセスにこの関数がシグナルを送ったときに、 シグナルが呼"
8616 "び出し側スレッドにブロックされず、 かつ (シグナルがブロックされなかった、また"
8617 "は B<sigwait>(3)  を使用するのを待っていることにより)  このシグナルを扱うス"
8618 "レッドが何もない場合は、 この関数がリターンする前に、少なくとも そのスレッド"
8619 "に対してシグナルが配送されていなければならない。"
8620
8621 #. type: Plain text
8622 #: build/C/man3/sigqueue.3:137
8623 msgid ""
8624 "On Linux, this function is implemented using the B<rt_sigqueueinfo>(2)  "
8625 "system call.  The system call differs in its third argument, which is the "
8626 "I<siginfo_t> structure that will be supplied to the receiving process's "
8627 "signal handler or returned by the receiving process's B<sigtimedwait>(2)  "
8628 "call.  Inside the glibc B<sigqueue>()  wrapper, this argument, I<uinfo>, is "
8629 "initialized as follows:"
8630 msgstr ""
8631 "Linux では、この関数は B<rt_sigqueueinfo>(2)  システムコールを使って実装され"
8632 "ている。 両者には 3 番目の引き数に違いがあり、 B<rt_sigqueueinfo>(2)  では 3 "
8633 "番目の引き数は I<siginfo_t> 構造体である。 I<siginfo_t> 構造体は、シグナルを"
8634 "受信するプロセスのシグナルハンドラに渡されたり、 シグナル受信プロセスの "
8635 "B<sigtimedwait>(2)  システムコールから返されたりする。 glibc の B<sigqueue>"
8636 "()  ラッパー関数内部では、 この引き数 I<uinfo> は以下のように初期化される。"
8637
8638 #. type: Plain text
8639 #: build/C/man3/sigqueue.3:145
8640 #, no-wrap
8641 msgid ""
8642 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8643 "uinfo.si_code = SI_QUEUE;\n"
8644 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8645 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8646 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8647 msgstr ""
8648 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8649 "uinfo.si_code = SI_QUEUE;\n"
8650 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8651 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8652 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8653
8654 #. type: Plain text
8655 #: build/C/man3/sigqueue.3:155
8656 msgid ""
8657 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8658 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8659 msgstr ""
8660 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8661 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8662
8663 #. type: TH
8664 #: build/C/man2/sigreturn.2:27
8665 #, no-wrap
8666 msgid "SIGRETURN"
8667 msgstr "SIGRETURN"
8668
8669 #. type: TH
8670 #: build/C/man2/sigreturn.2:27
8671 #, no-wrap
8672 msgid "2008-06-26"
8673 msgstr "2008-06-26"
8674
8675 #. type: Plain text
8676 #: build/C/man2/sigreturn.2:30
8677 msgid "sigreturn - return from signal handler and cleanup stack frame"
8678 msgstr "sigreturn - シグナル・ハンドラから返り、スタックを掃除する"
8679
8680 #. type: Plain text
8681 #: build/C/man2/sigreturn.2:32
8682 msgid "B<int sigreturn(unsigned long >I<__unused>B<);>"
8683 msgstr "B<int sigreturn(unsigned long >I<__unused>B<);>"
8684
8685 #. type: Plain text
8686 #: build/C/man2/sigreturn.2:40
8687 msgid ""
8688 "When the Linux kernel creates the stack frame for a signal handler, a call "
8689 "to B<sigreturn>()  is inserted into the stack frame so that upon return from "
8690 "the signal handler, B<sigreturn>()  will be called."
8691 msgstr ""
8692 "Linux カーネルは、 シグナル・ハンドラ用にスタック・フレームを作成する際、 "
8693 "B<sigreturn>()  をスタック・フレームに挿入し、シグナル・ハンドラが返るときに "
8694 "B<sigreturn>()  が呼ばれるようにする。"
8695
8696 #. type: Plain text
8697 #: build/C/man2/sigreturn.2:51
8698 msgid ""
8699 "This B<sigreturn>()  call undoes everything that was done\\(emchanging the "
8700 "process's signal mask, switching stacks (see B<sigaltstack>(2))\\(emin order "
8701 "to invoke the signal handler: it restores the process's signal mask, "
8702 "switches stacks, and restores the process's context (registers, processor "
8703 "flags), so that the process directly resumes execution at the point where it "
8704 "was interrupted by the signal."
8705 msgstr ""
8706 "B<sigreturn>()  は、シグナル・ハンドラを起動するために行ったことの全て \\(em "
8707 "プロセスのシグナルマスクの変更、スタックの切り替え (B<sigaltstack>(2)  参照) "
8708 "\\(em の取り消しを行う。 プロセスのシグナルマスクの復元、スタックの切り替"
8709 "え、 プロセスのコンテキスト (レジスタ、プロセッサ・フラグ) の復元を行い、 プ"
8710 "ロセスがシグナルにより割り込まれた場所からそのまま実行を 再開できるようにす"
8711 "る。"
8712
8713 #. type: Plain text
8714 #: build/C/man2/sigreturn.2:54
8715 msgid "B<sigreturn>()  never returns."
8716 msgstr "B<sigreturn>()  が返ることはない。"
8717
8718 #. type: SH
8719 #: build/C/man2/sigreturn.2:54
8720 #, no-wrap
8721 msgid "FILES"
8722 msgstr "ファイル"
8723
8724 #. type: Plain text
8725 #: build/C/man2/sigreturn.2:56
8726 msgid "/usr/src/linux/arch/i386/kernel/signal.c"
8727 msgstr "/usr/src/linux/arch/i386/kernel/signal.c"
8728
8729 #. type: Plain text
8730 #: build/C/man2/sigreturn.2:58
8731 msgid "/usr/src/linux/arch/alpha/kernel/entry.S"
8732 msgstr "/usr/src/linux/arch/alpha/kernel/entry.S"
8733
8734 #. type: Plain text
8735 #: build/C/man2/sigreturn.2:62
8736 msgid ""
8737 "B<sigreturn>()  is specific to Linux and should not be used in programs "
8738 "intended to be portable."
8739 msgstr ""
8740 "B<sigreturn>()  は Linux 特有であり、移植を意図したプログラムでは使用してはい"
8741 "けない。"
8742
8743 #. type: Plain text
8744 #: build/C/man2/sigreturn.2:72
8745 msgid ""
8746 "The B<sigreturn>()  call is used by the kernel to implement signal "
8747 "handlers.  It should B<never> be called directly.  Better yet, the specific "
8748 "use of the I<__unused> argument varies depending on the architecture."
8749 msgstr ""
8750 "B<sigreturn>()  コールは、シグナル・ハンドラを実装するためにカーネルにより使"
8751 "用される。 これを直接呼び出しては B<決して> いけない。さらに I<__unused> 引き"
8752 "数がどのように使われるかはそのアーキテクチャに依存して変化する。"
8753
8754 #. type: Plain text
8755 #: build/C/man2/sigreturn.2:77
8756 msgid "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
8757 msgstr "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
8758
8759 #. type: TH
8760 #: build/C/man3/sigset.3:24
8761 #, no-wrap
8762 msgid "SIGSET"
8763 msgstr "SIGSET"
8764
8765 #. type: Plain text
8766 #: build/C/man3/sigset.3:27
8767 msgid "sigset, sighold, sigrelse, sigignore - System V signal API"
8768 msgstr "sigset, sighold, sigrelse, sigignore - System V 版シグナル API"
8769
8770 #. type: Plain text
8771 #: build/C/man3/sigset.3:33
8772 msgid "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
8773 msgstr "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
8774
8775 #. type: Plain text
8776 #: build/C/man3/sigset.3:35
8777 msgid "B<int sighold(int >I<sig>B<);>"
8778 msgstr "B<int sighold(int >I<sig>B<);>"
8779
8780 #. type: Plain text
8781 #: build/C/man3/sigset.3:37
8782 msgid "B<int sigrelse(int >I<sig>B<);>"
8783 msgstr "B<int sigrelse(int >I<sig>B<);>"
8784
8785 #. type: Plain text
8786 #: build/C/man3/sigset.3:39
8787 msgid "B<int sigignore(int >I<sig>B<);>"
8788 msgstr "B<int sigignore(int >I<sig>B<);>"
8789
8790 #. type: Plain text
8791 #: build/C/man3/sigset.3:50
8792 msgid "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
8793 msgstr "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
8794
8795 #. type: Plain text
8796 #: build/C/man3/sigset.3:54
8797 msgid ""
8798 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8799 msgstr ""
8800 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8801
8802 #. type: Plain text
8803 #: build/C/man3/sigset.3:63
8804 msgid ""
8805 "These functions are provided in glibc as a compatibility interface for "
8806 "programs that make use of the historical System V signal API.  This API is "
8807 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
8808 "B<sigprocmask>(2), etc.)"
8809 msgstr ""
8810 "これらの関数は、昔ながらの System V 版シグナル API を使用しているプログラム "
8811 "に対して互換性のあるインタフェースを glibc で提供するものである。 この API は"
8812 "過去のものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>"
8813 "(2), B<sigprocmask>(2)  など) を使用すべきである。"
8814
8815 #. type: Plain text
8816 #: build/C/man3/sigset.3:72
8817 msgid ""
8818 "The B<sigset>()  function modifies the disposition of the signal I<sig>.  "
8819 "The I<disp> argument can be the address of a signal handler function, or one "
8820 "of the following constants:"
8821 msgstr ""
8822 "関数 B<sigset>()  はシグナル I<sig> のシグナルハンドラの動作を変更する。 "
8823 "I<disp> 引き数には、シグナルハンドラ関数のアドレスか、 以下の定数のいずれか一"
8824 "つを指定できる。"
8825
8826 #. type: TP
8827 #: build/C/man3/sigset.3:72
8828 #, no-wrap
8829 msgid "B<SIG_DFL>"
8830 msgstr "B<SIG_DFL>"
8831
8832 #. type: Plain text
8833 #: build/C/man3/sigset.3:77
8834 msgid "Reset the disposition of I<sig> to the default."
8835 msgstr "I<sig> の動作をデフォルトにリセットする。"
8836
8837 #. type: TP
8838 #: build/C/man3/sigset.3:77
8839 #, no-wrap
8840 msgid "B<SIG_IGN>"
8841 msgstr "B<SIG_IGN>"
8842
8843 #. type: Plain text
8844 #: build/C/man3/sigset.3:81
8845 msgid "Ignore I<sig>."
8846 msgstr "I<sig> を無視する。"
8847
8848 #. type: TP
8849 #: build/C/man3/sigset.3:81
8850 #, no-wrap
8851 msgid "B<SIG_HOLD>"
8852 msgstr "B<SIG_HOLD>"
8853
8854 #. type: Plain text
8855 #: build/C/man3/sigset.3:88
8856 msgid ""
8857 "Add I<sig> to the process's signal mask, but leave the disposition of I<sig> "
8858 "unchanged."
8859 msgstr ""
8860 "そのプロセスのシグナルマスクに I<sig> を追加するが、 I<sig> の動作は変更しな"
8861 "い。"
8862
8863 #. type: Plain text
8864 #: build/C/man3/sigset.3:94
8865 msgid ""
8866 "If I<disp> specifies the address of a signal handler, then I<sig> is added "
8867 "to the process's signal mask during execution of the handler."
8868 msgstr ""
8869 "I<disp> にシグナルハンドラのアドレスが指定された場合、 シグナルハンドラの実行"
8870 "中は、そのプロセスのシグナルマスクに I<sig> が追加される。"
8871
8872 #. type: Plain text
8873 #: build/C/man3/sigset.3:102
8874 msgid ""
8875 "If I<disp> was specified as a value other than B<SIG_HOLD>, then I<sig> is "
8876 "removed from the process's signal mask."
8877 msgstr ""
8878 "I<disp> に B<SIG_HOLD> 以外の値が指定された場合、 そのプロセスのシグナルマス"
8879 "クから I<sig> が削除される。"
8880
8881 #. type: Plain text
8882 #: build/C/man3/sigset.3:108 build/C/man3/sigvec.3:85
8883 msgid "The dispositions for B<SIGKILL> and B<SIGSTOP> cannot be changed."
8884 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> に対する動作は変更できない。"
8885
8886 #. type: Plain text
8887 #: build/C/man3/sigset.3:114
8888 msgid ""
8889 "The B<sighold>()  function adds I<sig> to the calling process's signal mask."
8890 msgstr ""
8891 "関数 B<sighold>()  は、呼び出し元プロセスのシグナルマスクに I<sig> を追加す"
8892 "る。"
8893
8894 #. type: Plain text
8895 #: build/C/man3/sigset.3:120
8896 msgid ""
8897 "The B<sigrelse>()  function removes I<sig> from the calling process's signal "
8898 "mask."
8899 msgstr ""
8900 "関数 B<sigrelse>()  は、呼び出し元プロセスのシグナルマスクから I<sig> を削除"
8901 "する。"
8902
8903 #. type: Plain text
8904 #: build/C/man3/sigset.3:127
8905 msgid ""
8906 "The B<sigignore>()  function sets the disposition of I<sig> to B<SIG_IGN>."
8907 msgstr "関数 B<sigignore>()  は、 I<sig> の動作を B<SIG_IGN> に設定する。"
8908
8909 #. type: Plain text
8910 #: build/C/man3/sigset.3:143
8911 msgid ""
8912 "On success, B<sigset>()  returns B<SIG_HOLD> if I<sig> was blocked before "
8913 "the call, or the signal's previous disposition if it was not blocked before "
8914 "the call.  On error, B<sigset>()  returns -1, with I<errno> set to indicate "
8915 "the error.  (But see BUGS below.)"
8916 msgstr ""
8917 "B<sigset>()  は成功すると、 呼び出し前に I<sig> がブロックされていた場合には "
8918 "B<SIG_HOLD> を返し、 ブロックされていなかった場合には 変更前のそのシグナルの"
8919 "動作を返す。 エラーの場合、 B<sigset>()  は -1 を返し、 I<errno> にエラーを示"
8920 "す値をセットする。 但し、以下の「バグ」の節も参照のこと。"
8921
8922 #. type: Plain text
8923 #: build/C/man3/sigset.3:152
8924 msgid ""
8925 "The B<sighold>(), B<sigrelse>(), and B<sigignore>()  functions return 0 on "
8926 "success; on error, these functions return -1 and set I<errno> to indicate "
8927 "the error."
8928 msgstr ""
8929 "関数 B<sighold>(), B<sigrelse>(), B<sigignore>()  は成功すると 0 を返す。エ"
8930 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
8931
8932 #. type: Plain text
8933 #: build/C/man3/sigset.3:159
8934 msgid ""
8935 "For B<sigset>()  see the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
8936 msgstr ""
8937 "B<sigset>()  に関しては、 B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」"
8938 "の節を参照。"
8939
8940 #. type: Plain text
8941 #: build/C/man3/sigset.3:166
8942 msgid ""
8943 "For B<sighold>()  and B<sigrelse>()  see the ERRORS under B<sigprocmask>(2)."
8944 msgstr ""
8945 "B<sighold>()  と B<sigrelse>()  に関しては、 B<sigprocmask>(2)  の「エラー」"
8946 "の節を参照。"
8947
8948 #. type: Plain text
8949 #: build/C/man3/sigset.3:171
8950 msgid "For B<sigignore>(), see the errors under B<sigaction>(2)."
8951 msgstr "B<sigignore>()  に関しては、 B<sigaction>(2)  の「エラー」の節を参照。"
8952
8953 #. type: Plain text
8954 #: build/C/man3/sigset.3:188
8955 msgid ""
8956 "SVr4, POSIX.1-2001.  These functions are obsolete: do not use them in new "
8957 "programs.  POSIX.1-2008 marks B<sighold>(), B<sigignore>(), B<sigpause>(), "
8958 "B<sigrelse>(), and B<sigset>()  as obsolete, recommending the use of "
8959 "B<sigaction>(2), B<sigprocmask>(2), B<pthread_sigmask>(3), and B<sigsuspend>"
8960 "(2)  instead."
8961 msgstr ""
8962 "SVr4, POSIX.1-2001.  これらの関数は廃止予定である。新しいプログラムでは使用し"
8963 "ないこと。 POSIX.1-2008 は、 B<sighold>(), B<sigignore>(), B<sigpause>(), "
8964 "B<sigrelse>(), B<sigset>()  を廃止予定としている。 代わりに、 B<sigaction>"
8965 "(2), B<sigprocmask>(2), B<pthread_sigmask>(3), B<sigsuspend>(2)  の使用が推奨"
8966 "されている。"
8967
8968 #. type: Plain text
8969 #: build/C/man3/sigset.3:190
8970 msgid "These functions appeared in glibc version 2.1."
8971 msgstr "これらの関数は glibc 2.1 で登場した。"
8972
8973 #. type: Plain text
8974 #: build/C/man3/sigset.3:196
8975 msgid ""
8976 "The I<sighandler_t> type is a GNU extension; it is only used on this page to "
8977 "make the B<sigset>()  prototype more easily readable."
8978 msgstr ""
8979 "I<sighandler_t> 型は GNU による拡張であり、この man page で B<sigset>()  のプ"
8980 "ロトタイプをより読みやすくするために使われているだけである。"
8981
8982 #. type: Plain text
8983 #: build/C/man3/sigset.3:204
8984 msgid ""
8985 "The B<sigset>()  function provides reliable signal handling semantics (as "
8986 "when calling B<sigaction>(2)  with I<sa_mask> equal to 0)."
8987 msgstr ""
8988 "関数 B<sigset>()  は信頼性のあるシグナル処理機構を提供する (I<sa_mask> を 0 "
8989 "で B<sigaction>(2)  を呼び出したときと同様)。"
8990
8991 #. type: Plain text
8992 #: build/C/man3/sigset.3:222
8993 msgid ""
8994 "On System V, the B<signal>()  function provides unreliable semantics (as "
8995 "when calling B<sigaction>(2)  with I<sa_mask> equal to I<SA_RESETHAND | "
8996 "SA_NODEFER>).  On BSD, B<signal>()  provides reliable semantics.  "
8997 "POSIX.1-2001 leaves these aspects of B<signal>()  unspecified.  See B<signal>"
8998 "(2)  for further details."
8999 msgstr ""
9000 "System V では、関数 B<signal>()  が提供する処理機構は信頼性のないものである "
9001 "(I<sa_mask> を I<SA_RESETHAND | SA_NODEFER> として B<sigaction>(2)  を呼び出"
9002 "したときと同様)。 BSD では、 B<signal>()  は信頼性のある処理機構を提供する。 "
9003 "POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままとなっている。 さら"
9004 "なる詳細については B<signal>(2)  を参照。"
9005
9006 #. type: Plain text
9007 #: build/C/man3/sigset.3:230 build/C/man3/sigvec.3:250
9008 msgid ""
9009 "In order to wait for a signal, BSD and System V both provided a function "
9010 "named B<sigpause>(3), but this function has a different argument on the two "
9011 "systems.  See B<sigpause>(3)  for details."
9012 msgstr ""
9013 "BSD と System V のどちらのシステムでも シグナルを待つために、 B<sigpause>"
9014 "(3)  という名前の関数が提供されているが、 この関数の引き数は両方のシステムで"
9015 "異なる。 詳細は B<sigpause>(3)  を参照。"
9016
9017 #. type: Plain text
9018 #: build/C/man3/sigset.3:239
9019 msgid ""
9020 "In versions of glibc before 2.2, B<sigset>()  did not unblock I<sig> if "
9021 "I<disp> was specified as a value other than B<SIG_HOLD>."
9022 msgstr ""
9023 "2.2 より前のバージョンの glibc では、 I<disp> に B<SIG_HOLD> 以外の値が指定さ"
9024 "れた場合、 I<sig> のブロック解除を行っていなかった。"
9025
9026 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1951
9027 #. type: Plain text
9028 #: build/C/man3/sigset.3:264
9029 msgid ""
9030 "In versions of glibc before 2.5, B<sigset>()  does not correctly return the "
9031 "previous disposition of the signal in two cases.  First, if I<disp> is "
9032 "specified as B<SIG_HOLD>, then a successful B<sigset>()  always returns "
9033 "B<SIG_HOLD>.  Instead, it should return the previous disposition of the "
9034 "signal (unless the signal was blocked, in which case B<SIG_HOLD> should be "
9035 "returned).  Second, if the signal is currently blocked, then the return "
9036 "value of a successful B<sigset>()  should be B<SIG_HOLD>.  Instead, the "
9037 "previous disposition of the signal is returned.  These problems have been "
9038 "fixed since glibc 2.5."
9039 msgstr ""
9040 "2.3.5 以前の全てのバージョンの glibc では、 B<sigset>()  が変更前のシグナルの"
9041 "動作を正しく返さない場合が 2つある。 一つめは、 I<disp> に B<SIG_HOLD> が指定"
9042 "されると、成功した場合 B<sigset>()  は常に B<SIG_HOLD> を返すことである。 正"
9043 "しくは、(シグナルがブロックされていなかった場合には)  変更前のシグナルの動作"
9044 "を返すべきである (シグナルがブロックされていた場合には、 B<SIG_HOLD> が返され"
9045 "る)。 もう一つは、シグナルが現在ブロックされている場合には、 成功した場合の "
9046 "B<sigset>()  の返り値は B<SIG_HOLD> になるべきであるが、実際には 変更前のシグ"
9047 "ナルの動作が返されることである。 これらの問題は glibc 2.5 以降で修正されてい"
9048 "る。"
9049
9050 #. type: Plain text
9051 #: build/C/man3/sigset.3:274
9052 msgid ""
9053 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9054 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9055 msgstr ""
9056 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9057 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9058
9059 #. type: TH
9060 #: build/C/man3/sigsetops.3:29
9061 #, no-wrap
9062 msgid "SIGSETOPS"
9063 msgstr "SIGSETOPS"
9064
9065 #. type: TH
9066 #: build/C/man3/sigsetops.3:29
9067 #, no-wrap
9068 msgid "2008-09-01"
9069 msgstr "2008-09-01"
9070
9071 #. type: Plain text
9072 #: build/C/man3/sigsetops.3:33
9073 msgid ""
9074 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX signal "
9075 "set operations."
9076 msgstr ""
9077 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX シグナル集"
9078 "合の操作"
9079
9080 #. type: Plain text
9081 #: build/C/man3/sigsetops.3:37
9082 msgid "B<int sigemptyset(sigset_t *>I<set>B<);>"
9083 msgstr "B<int sigemptyset(sigset_t *>I<set>B<);>"
9084
9085 #. type: Plain text
9086 #: build/C/man3/sigsetops.3:39
9087 msgid "B<int sigfillset(sigset_t *>I<set>B<);>"
9088 msgstr "B<int sigfillset(sigset_t *>I<set>B<);>"
9089
9090 #. type: Plain text
9091 #: build/C/man3/sigsetops.3:41
9092 msgid "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9093 msgstr "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9094
9095 #. type: Plain text
9096 #: build/C/man3/sigsetops.3:43
9097 msgid "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9098 msgstr "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9099
9100 #. type: Plain text
9101 #: build/C/man3/sigsetops.3:45
9102 msgid "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9103 msgstr "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9104
9105 #. type: Plain text
9106 #: build/C/man3/sigsetops.3:57
9107 msgid ""
9108 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9109 "B<sigismember>():"
9110 msgstr ""
9111 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9112 "B<sigismember>():"
9113
9114 #. type: Plain text
9115 #: build/C/man3/sigsetops.3:59
9116 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9117 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9118
9119 #. type: Plain text
9120 #: build/C/man3/sigsetops.3:63
9121 msgid "These functions allow the manipulation of POSIX signal sets."
9122 msgstr "これらの関数は POSIX シグナル集合(signal set)を操作するため使用する。"
9123
9124 #. type: Plain text
9125 #: build/C/man3/sigsetops.3:68
9126 msgid ""
9127 "B<sigemptyset>()  initializes the signal set given by I<set> to empty, with "
9128 "all signals excluded from the set."
9129 msgstr ""
9130 "B<sigemptyset>()  は I<set> で与えられたシグナル集合を空に初期化し、シグナル"
9131 "が一つも 含まれていない状態にする。"
9132
9133 #. type: Plain text
9134 #: build/C/man3/sigsetops.3:73
9135 msgid "B<sigfillset>()  initializes I<set> to full, including all signals."
9136 msgstr ""
9137 "B<sigfillset>()  は I<set> で与えられたシグナル集合が全てのシグナルを含むよう"
9138 "にする。"
9139
9140 #. type: Plain text
9141 #: build/C/man3/sigsetops.3:81
9142 msgid ""
9143 "B<sigaddset>()  and B<sigdelset>()  add and delete respectively signal "
9144 "I<signum> from I<set>."
9145 msgstr ""
9146 "B<sigaddset>()  と B<sigdelset>()  は I<set> に I<signum> シグナルをそれぞれ"
9147 "加えたり、削除したりする。"
9148
9149 #. type: Plain text
9150 #: build/C/man3/sigsetops.3:87
9151 msgid "B<sigismember>()  tests whether I<signum> is a member of I<set>."
9152 msgstr ""
9153 "B<sigismember>()  は I<signum> が I<set> に含まれているかどうかをテストする。"
9154
9155 #. type: Plain text
9156 #: build/C/man3/sigsetops.3:105
9157 msgid ""
9158 "Objects of type I<sigset_t> must be initialized by a call to either "
9159 "B<sigemptyset>()  or B<sigfillset>()  before being passed to the functions "
9160 "B<sigaddset>(), B<sigdelset>()  and B<sigismember>()  or the additional "
9161 "glibc functions described below (B<sigisemptyset>(), B<sigandset>(), and "
9162 "B<sigorset>()).  The results are undefined if this is not done."
9163 msgstr ""
9164 "I<sigset_t> 型のオブジェクトは、関数 B<sigaddset>(), B<sigdelset>(), "
9165 "B<sigismember>()  や後述の glibc の追加関数 (B<sigisemptyset>(), B<sigandset>"
9166 "(), B<sigorset>())  に渡す前に、 B<sigemptyset>()  か B<sigfillset>()  を呼び"
9167 "出して初期化しなければならない。 初期化しなかった場合の結果は未定義である。"
9168
9169 #. type: Plain text
9170 #: build/C/man3/sigsetops.3:112
9171 msgid ""
9172 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), and B<sigdelset>()  "
9173 "return 0 on success and -1 on error."
9174 msgstr ""
9175 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>()  は成功すれ"
9176 "ば 0 を、エラーの場合は -1 を返す。"
9177
9178 #. type: Plain text
9179 #: build/C/man3/sigsetops.3:121
9180 msgid ""
9181 "B<sigismember>()  returns 1 if I<signum> is a member of I<set>, 0 if "
9182 "I<signum> is not a member, and -1 on error."
9183 msgstr ""
9184 "B<sigismember>()  は I<signum> が I<set> に含まれていれば 1 を返し、含まれて"
9185 "いなければ 0 を返す。 エラーの場合は -1 を返す。"
9186
9187 #. type: Plain text
9188 #: build/C/man3/sigsetops.3:126
9189 msgid "I<sig> is not a valid signal."
9190 msgstr "I<sig> が有効なシグナルではない。"
9191
9192 #. type: SS
9193 #: build/C/man3/sigsetops.3:129
9194 #, no-wrap
9195 msgid "Glibc Notes"
9196 msgstr "glibc での注意"
9197
9198 #. type: Plain text
9199 #: build/C/man3/sigsetops.3:135
9200 msgid ""
9201 "If the B<_GNU_SOURCE> feature test macro is defined, then I<E<lt>signal."
9202 "hE<gt>> exposes three other functions for manipulating signal sets."
9203 msgstr ""
9204 "B<_GNU_SOURCE> 機能検査マクロが定義されていると、 I<E<lt>signal.hE<gt>> でシ"
9205 "グナル集合を操作する 3つの関数が追加で公開される。"
9206
9207 #. type: TP
9208 #: build/C/man3/sigsetops.3:135
9209 #, no-wrap
9210 msgid "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9211 msgstr "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9212
9213 #. type: Plain text
9214 #: build/C/man3/sigsetops.3:140
9215 msgid "returns 1 if I<set> contains no signals, and 0 otherwise."
9216 msgstr ""
9217 "I<set> にシグナルが一つも含まれていなければ 1 を返し、 それ以外は 0 を返す。"
9218
9219 #. type: TP
9220 #: build/C/man3/sigsetops.3:140
9221 #, no-wrap
9222 msgid "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9223 msgstr "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9224
9225 #. type: Plain text
9226 #: build/C/man3/sigsetops.3:149
9227 msgid "places the union of the sets I<left> and I<right> in I<dest>."
9228 msgstr "シグナル集合 I<left> と I<left> の和集合を I<dest> に書き込む。"
9229
9230 #. type: TP
9231 #: build/C/man3/sigsetops.3:149
9232 #, no-wrap
9233 msgid "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9234 msgstr "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9235
9236 #. type: Plain text
9237 #: build/C/man3/sigsetops.3:158
9238 msgid "places the intersection of the sets I<left> and I<right> in I<dest>."
9239 msgstr "シグナル集合 I<left> と I<left> の積集合を I<dest> に書き込む。"
9240
9241 #. type: Plain text
9242 #: build/C/man3/sigsetops.3:163
9243 msgid ""
9244 "B<sigorset>()  and B<sigandset>()  return 0 on success, and -1 on failure."
9245 msgstr ""
9246 "B<sigorset>()  と B<sigandset>()  は成功すると 0 を、失敗すると -1 を返す。"
9247
9248 #. type: Plain text
9249 #: build/C/man3/sigsetops.3:166
9250 msgid ""
9251 "These functions are nonstandard (a few other systems provide similar "
9252 "functions) and their use should be avoided in portable applications."
9253 msgstr ""
9254 "これらの関数は非標準であり、(他にも同様の関数を提供しているシステムも いくつ"
9255 "かはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき である。"
9256
9257 #. type: Plain text
9258 #: build/C/man3/sigsetops.3:171
9259 msgid "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9260 msgstr "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9261
9262 #. type: TH
9263 #: build/C/man2/sigsuspend.2:27
9264 #, no-wrap
9265 msgid "SIGSUSPEND"
9266 msgstr "SIGSUSPEND"
9267
9268 #. type: TH
9269 #: build/C/man2/sigsuspend.2:27
9270 #, no-wrap
9271 msgid "2008-08-29"
9272 msgstr "2008-08-29"
9273
9274 #. type: Plain text
9275 #: build/C/man2/sigsuspend.2:30
9276 msgid "sigsuspend - wait for a signal"
9277 msgstr "sigsuspend - シグナルを待つ"
9278
9279 #. type: Plain text
9280 #: build/C/man2/sigsuspend.2:34
9281 msgid "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9282 msgstr "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9283
9284 #. type: Plain text
9285 #: build/C/man2/sigsuspend.2:43
9286 msgid ""
9287 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9288 "_POSIX_SOURCE"
9289 msgstr ""
9290 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9291 "_POSIX_SOURCE"
9292
9293 #. type: Plain text
9294 #: build/C/man2/sigsuspend.2:51
9295 msgid ""
9296 "B<sigsuspend>()  temporarily replaces the signal mask of the calling process "
9297 "with the mask given by I<mask> and then suspends the process until delivery "
9298 "of a signal whose action is to invoke a signal handler or to terminate a "
9299 "process."
9300 msgstr ""
9301 "B<sigsuspend>()  は、呼び出し元プロセスのシグナルマスクを I<mask> で指定され"
9302 "たマスクに一時的に置き換え、 シグナルハンドラの起動もしくはプロセスの終了がア"
9303 "クションとして 設定されたシグナルが配送されるまで、そのプロセスを停止する。"
9304
9305 #. type: Plain text
9306 #: build/C/man2/sigsuspend.2:60
9307 msgid ""
9308 "If the signal terminates the process, then B<sigsuspend>()  does not "
9309 "return.  If the signal is caught, then B<sigsuspend>()  returns after the "
9310 "signal handler returns, and the signal mask is restored to the state before "
9311 "the call to B<sigsuspend>()."
9312 msgstr ""
9313 "シグナルがプロセスを終了させるものの場合、 B<sigsuspend>()  は返らない。シグ"
9314 "ナルが捕捉された場合、 シグナルハンドラの処理が終わった後に B<sigsuspend>()  "
9315 "は返り、シグナルマスクは B<sigsuspend>()  が呼び出される前の状態に復元され"
9316 "る。"
9317
9318 #. type: Plain text
9319 #: build/C/man2/sigsuspend.2:68
9320 msgid ""
9321 "It is not possible to block B<SIGKILL> or B<SIGSTOP>; specifying these "
9322 "signals in I<mask>, has no effect on the process's signal mask."
9323 msgstr ""
9324 "B<SIGKILL> と B<SIGSTOP> を禁止 (block) することはできない; これらのシグナル"
9325 "を I<mask> に指定しても、プロセスのシグナルマスクは影響を受けない。"
9326
9327 #. type: Plain text
9328 #: build/C/man2/sigsuspend.2:72
9329 msgid "B<sigsuspend>()  always returns -1, normally with the error B<EINTR>."
9330 msgstr "B<sigsuspend>()  は常に -1 を返し、通常は B<EINTR> エラーが発生する。"
9331
9332 #. type: Plain text
9333 #: build/C/man2/sigsuspend.2:77
9334 msgid ""
9335 "I<mask> points to memory which is not a valid part of the process address "
9336 "space."
9337 msgstr ""
9338 "I<mask> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
9339
9340 #. type: Plain text
9341 #: build/C/man2/sigsuspend.2:80
9342 msgid "The call was interrupted by a signal."
9343 msgstr "システムコールはシグナルにより割り込まれた。"
9344
9345 #. type: Plain text
9346 #: build/C/man2/sigsuspend.2:100
9347 msgid ""
9348 "Normally, B<sigsuspend>()  is used in conjunction with B<sigprocmask>(2)  in "
9349 "order to prevent delivery of a signal during the execution of a critical "
9350 "code section.  The caller first blocks the signals with B<sigprocmask>(2).  "
9351 "When the critical code has completed, the caller then waits for the signals "
9352 "by calling B<sigsuspend>()  with the signal mask that was returned by "
9353 "B<sigprocmask>(2)  (in the I<oldset> argument)."
9354 msgstr ""
9355 "B<sigsuspend>()  は、通常、クリティカル・コード・セクション (critical code "
9356 "section) の 実行中にシグナルが配送されるのを防止するために、 B<sigprocmask>"
9357 "(2)  と組み合わせて使用される。 まず最初に、呼び出し元は B<sigprocmask>(2)  "
9358 "を使ってシグナルを禁止する。 クリティカル・コードが完了すると、呼び出し元は "
9359 "B<sigprocmask>(2)  が (I<oldset> 引き数で) 返すシグナルマスクを指定して "
9360 "B<sigsuspend>()  を呼び出すことで、クリティカル・コード実行中に発生した シグ"
9361 "ナルを待つことができる。"
9362
9363 #. type: Plain text
9364 #: build/C/man2/sigsuspend.2:114
9365 msgid ""
9366 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9367 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9368 msgstr ""
9369 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9370 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9371
9372 #. type: TH
9373 #: build/C/man3/sigvec.3:24
9374 #, no-wrap
9375 msgid "SIGVEC"
9376 msgstr "SIGVEC"
9377
9378 #. type: Plain text
9379 #: build/C/man3/sigvec.3:27
9380 msgid "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD signal API"
9381 msgstr "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD 版シグナル API"
9382
9383 #. type: Plain text
9384 #: build/C/man3/sigvec.3:31
9385 msgid ""
9386 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9387 "*>I<ovec>B<);>"
9388 msgstr ""
9389 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9390 "*>I<ovec>B<);>"
9391
9392 #. type: Plain text
9393 #: build/C/man3/sigvec.3:33
9394 msgid "B<int sigmask(int >I<signum>B<);>"
9395 msgstr "B<int sigmask(int >I<signum>B<);>"
9396
9397 #. type: Plain text
9398 #: build/C/man3/sigvec.3:35
9399 msgid "B<int sigblock(int >I<mask>B<);>"
9400 msgstr "B<int sigblock(int >I<mask>B<);>"
9401
9402 #. type: Plain text
9403 #: build/C/man3/sigvec.3:37
9404 msgid "B<int sigsetmask(int >I<mask>B<);>"
9405 msgstr "B<int sigsetmask(int >I<mask>B<);>"
9406
9407 #. type: Plain text
9408 #: build/C/man3/sigvec.3:39
9409 msgid "B<int siggetmask(void);>"
9410 msgstr "B<int siggetmask(void);>"
9411
9412 #. type: Plain text
9413 #: build/C/man3/sigvec.3:47
9414 msgid "All functions shown above: _BSD_SOURCE"
9415 msgstr "上記の全ての関数: _BSD_SOURCE"
9416
9417 #. type: Plain text
9418 #: build/C/man3/sigvec.3:54
9419 msgid ""
9420 "These functions are provided in glibc as a compatibility interface for "
9421 "programs that make use of the historical BSD signal API.  This API is "
9422 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
9423 "B<sigprocmask>(2), etc.)"
9424 msgstr ""
9425 "これらの関数は、昔ながらの BSD 版シグナル API を使用しているプログラム に対し"
9426 "て互換性のあるインタフェースを glibc で提供するものである。 この API は過去の"
9427 "ものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>(2), "
9428 "B<sigprocmask>(2)  など) を使用すべきである。"
9429
9430 #. type: Plain text
9431 #: build/C/man3/sigvec.3:79
9432 msgid ""
9433 "The B<sigvec>()  function sets and/or gets the disposition of the signal "
9434 "I<sig> (like the POSIX B<sigaction>(2)).  If I<vec> is not NULL, it points "
9435 "to a I<sigvec> structure that defines the new disposition for I<sig>.  If "
9436 "I<ovec> is not NULL, it points to a I<sigvec> structure that is used to "
9437 "return the previous disposition of I<sig>.  To obtain the current "
9438 "disposition of I<sig> without changing it, specify NULL for I<vec>, and a "
9439 "non-NULL pointer for I<ovec>."
9440 msgstr ""
9441 "関数 B<sigvec>()  は、(POSIX の B<sigaction>(2)  と同様に) シグナル I<sig> の"
9442 "動作の設定・取得を行う。 I<vec> は、NULL 以外の場合、 I<sig> の新しい動作を定"
9443 "義した I<sigvec> 構造体へのポインタである。 I<ovec> は、NULL 以外の場合、 "
9444 "I<sig> の変更前の動作を返すために使用される I<sigvec> 構造体へのポインタであ"
9445 "る。 I<sig> の動作を変更せずに現在の動作を取得するためには、 I<vec> に NULL "
9446 "を指定し、 I<ovec> に NULL でないポインタを指定すればよい。"
9447
9448 #. type: Plain text
9449 #: build/C/man3/sigvec.3:89
9450 msgid "The I<sigvec> structure has the following form:"
9451 msgstr "I<sigvec> 構造体は以下の通りである:"
9452
9453 #. type: Plain text
9454 #: build/C/man3/sigvec.3:97
9455 #, no-wrap
9456 msgid ""
9457 "struct sigvec {\n"
9458 "    void (*sv_handler)();  /* Signal disposition */\n"
9459 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9460 "    int    sv_flags;       /* Flags */\n"
9461 "};\n"
9462 msgstr ""
9463 "struct sigvec {\n"
9464 "    void (*sv_handler)();  /* Signal disposition */\n"
9465 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9466 "    int    sv_flags;       /* Flags */\n"
9467 "};\n"
9468
9469 #. type: Plain text
9470 #: build/C/man3/sigvec.3:108
9471 msgid ""
9472 "The I<sv_handler> field specifies the disposition of the signal, and is "
9473 "either: the address of a signal handler function; or B<SIG_DFL> meaning the "
9474 "default disposition applies for the signal; or B<SIG_IGN> meaning that the "
9475 "signal is ignored."
9476 msgstr ""
9477 "I<sv_handler> フィールドはシグナルの動作を指定するもので、 シグナルハンドラ関"
9478 "数のアドレスか、 B<SIG_DFL> と B<SIG_IGN> のいずれかを指定できる。 "
9479 "B<SIG_DFL> はシグナルに適用されるデフォルトの動作を意味し、 B<SIG_IGN> はシグ"
9480 "ナルを無視することを意味する。"
9481
9482 #. type: Plain text
9483 #: build/C/man3/sigvec.3:122
9484 msgid ""
9485 "If I<sv_handler> specifies the address of a signal handler, then I<sv_mask> "
9486 "specifies a mask of signals that are to be blocked while the handler is "
9487 "executing.  In addition, the signal for which the handler is invoked is also "
9488 "blocked by default.  Attempts to block B<SIGKILL> or B<SIGSTOP> are silently "
9489 "ignored."
9490 msgstr ""
9491 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_mask> はハン"
9492 "ドラが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラを"
9493 "起動したシグナル自身はデフォルトでブロックされる。 B<SIGKILL> か B<SIGSTOP> "
9494 "をブロックしようとした場合には、黙って無視される。"
9495
9496 #. type: Plain text
9497 #: build/C/man3/sigvec.3:129
9498 msgid ""
9499 "If I<sv_handler> specifies the address of a signal handler, then the "
9500 "I<sv_flags> field specifies flags controlling what happens when the handler "
9501 "is called.  This field may contain zero or more of the following flags:"
9502 msgstr ""
9503 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_flags> フィー"
9504 "ルドはハンドラが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドに"
9505 "は、0 か、以下のフラグを 1個以上指定できる:"
9506
9507 #. type: TP
9508 #: build/C/man3/sigvec.3:129
9509 #, no-wrap
9510 msgid "B<SV_INTERRUPT>"
9511 msgstr "B<SV_INTERRUPT>"
9512
9513 #. type: Plain text
9514 #: build/C/man3/sigvec.3:137
9515 msgid ""
9516 "If the signal handler interrupts a blocking system call, then upon return "
9517 "from the handler the system call will not be restarted: instead it will fail "
9518 "with the error B<EINTR>.  If this flag is not specified, then system calls "
9519 "are restarted by default."
9520 msgstr ""
9521 "シグナルハンドラが停止中のシステムコールを中断した場合、 ハンドラから復帰して"
9522 "も、システムコールは再開されず、 エラー B<EINTR> で失敗する。 このフラグを指"
9523 "定しなかった場合、システムコールは デフォルトで再開される。"
9524
9525 #. type: TP
9526 #: build/C/man3/sigvec.3:137
9527 #, no-wrap
9528 msgid "B<SV_RESETHAND>"
9529 msgstr "B<SV_RESETHAND>"
9530
9531 #. type: Plain text
9532 #: build/C/man3/sigvec.3:146
9533 msgid ""
9534 "Reset the disposition of the signal to the default before calling the signal "
9535 "handler.  If this flag is not specified, then the handler remains "
9536 "established until explicitly removed by a later call to B<sigvec>()  or "
9537 "until the process performs an B<execve>(2)."
9538 msgstr ""
9539 "シグナルハンドラを呼び出す前にシグナルの動作を デフォルトにリセットする。 こ"
9540 "のフラグを指定しなかった場合、もう一度 B<sigvec>()  を呼び出して明示的に削除"
9541 "されるか、プロセスが B<execve>(2)  を実行するまで、ハンドラは設定されたままと"
9542 "なる。"
9543
9544 #. type: TP
9545 #: build/C/man3/sigvec.3:146
9546 #, no-wrap
9547 msgid "B<SV_ONSTACK>"
9548 msgstr "B<SV_ONSTACK>"
9549
9550 #. type: Plain text
9551 #: build/C/man3/sigvec.3:153
9552 msgid ""
9553 "Handle the signal on the alternate signal stack (historically established "
9554 "under BSD using the obsolete B<sigstack>()  function; the POSIX replacement "
9555 "is B<sigaltstack>(2))."
9556 msgstr ""
9557 "代替シグナルスタック上でシグナルハンドラを実行する (歴史的に、BSD では代替シ"
9558 "グナルスタックは廃止された関数 B<sigstack>()  を使って設定する。POSIX では、"
9559 "代わりに B<sigaltstack>(2)  を使用する)。"
9560
9561 #. type: Plain text
9562 #: build/C/man3/sigvec.3:163
9563 msgid ""
9564 "The B<sigmask>()  function constructs and returns a \"signal mask\" for "
9565 "I<signum>.  For example, we can initialize the I<vec.sv_mask> field given to "
9566 "B<sigvec>()  using code such as the following:"
9567 msgstr ""
9568 "関数 B<sigmask>()  は I<signum> に対する「シグナルマスク」を構成して返す。 例"
9569 "えば、以下のようなコードを使うと、 B<sigvec>()  に渡す I<vec.sv_mask> を初期"
9570 "化できる。"
9571
9572 #. type: Plain text
9573 #: build/C/man3/sigvec.3:168
9574 #, no-wrap
9575 msgid ""
9576 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9577 "                /* Block SIGQUIT and SIGABRT during\n"
9578 "                   handler execution */\n"
9579 msgstr ""
9580 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9581 "                /* Block SIGQUIT and SIGABRT during\n"
9582 "                   handler execution */\n"
9583
9584 #. type: Plain text
9585 #: build/C/man3/sigvec.3:183
9586 msgid ""
9587 "The B<sigblock>()  function adds the signals in I<mask> to the process's "
9588 "signal mask (like POSIX I<sigprocmask(SIG_BLOCK)>), and returns the "
9589 "process's previous signal mask.  Attempts to block B<SIGKILL> or B<SIGSTOP> "
9590 "are silently ignored."
9591 msgstr ""
9592 "B<sigblock>()  関数は、 I<mask> にあるシグナルをプロセスのシグナルマスクに追"
9593 "加し (POSIX の I<sigprocmask(SIG_BLOCK)> と同様)、変更前のプロセスのシグナル"
9594 "マスクを返す。 B<SIGKILL> や B<SIGSTOP> をブロックしようとした場合には、黙っ"
9595 "て無視される。"
9596
9597 #. type: Plain text
9598 #: build/C/man3/sigvec.3:191
9599 msgid ""
9600 "The B<sigsetmask>()  function sets the process's signal mask to the value "
9601 "given in I<mask> (like POSIX I<sigprocmask(SIG_SETMASK)>), and returns the "
9602 "process's previous signal mask."
9603 msgstr ""
9604 "B<sigsetmask>()  関数はプロセスのシグナルマスクを I<mask> で指定された値に設"
9605 "定し (POSIX の I<sigprocmask(SIG_SETMASK)> と同様)、変更前のプロセスのシグナ"
9606 "ルマスクを返す。"
9607
9608 #. type: Plain text
9609 #: build/C/man3/sigvec.3:197
9610 msgid ""
9611 "The B<siggetmask>()  function returns the process's current signal mask.  "
9612 "This call is equivalent to I<sigblock(0)>."
9613 msgstr ""
9614 "B<siggetmask>()  関数はプロセスの現在のシグナルマスクを返す。この関数は "
9615 "I<sigblock(0)> と等価である。"
9616
9617 #. type: Plain text
9618 #: build/C/man3/sigvec.3:203
9619 msgid ""
9620 "The B<sigvec>()  function returns 0 on success; on error, it returns -1 and "
9621 "sets I<errno> to indicate the error."
9622 msgstr ""
9623 "B<sigvec>()  関数は成功すると 0 を返す。エラーの場合、-1 を返し、 I<errno> に"
9624 "エラーを示す値をセットする。"
9625
9626 #. type: Plain text
9627 #: build/C/man3/sigvec.3:209
9628 msgid ""
9629 "The B<sigblock>()  and B<sigsetmask>()  functions return the previous signal "
9630 "mask."
9631 msgstr "B<sigblock>()  と B<sigsetmask>()  は変更前のシグナルマスクを返す。"
9632
9633 #. type: Plain text
9634 #: build/C/man3/sigvec.3:214
9635 msgid "The B<sigmask>()  function returns the signal mask for I<signum>."
9636 msgstr "B<sigmask>()  関数は I<signum> のシグナルマスクを返す。"
9637
9638 #. type: Plain text
9639 #: build/C/man3/sigvec.3:219
9640 msgid "See the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
9641 msgstr "B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」の節を参照。"
9642
9643 #. type: Plain text
9644 #: build/C/man3/sigvec.3:225
9645 msgid ""
9646 "All of these functions were in 4.3BSD, except B<siggetmask>(), whose origin "
9647 "is unclear.  These functions are obsolete: do not use them in new programs."
9648 msgstr ""
9649 "これらの関数のうち B<siggetmask>()  以外の全ては 4.3BSD にあった。 "
9650 "B<siggetmask>()  の出自ははっきりしない。 これらの関数は廃止予定であり、新し"
9651 "いプログラムでは使用しないこと。"
9652
9653 #. type: Plain text
9654 #: build/C/man3/sigvec.3:242
9655 msgid ""
9656 "On 4.3BSD, the B<signal>()  function provided reliable semantics (as when "
9657 "calling B<sigvec>()  with I<vec.sv_mask> equal to 0).  On System V, B<signal>"
9658 "()  provides unreliable semantics.  POSIX.1-2001 leaves these aspects of "
9659 "B<signal>()  unspecified.  See B<signal>(2)  for further details."
9660 msgstr ""
9661 "4.3BSD では、信頼性のあるシグナル処理機構を提供する (I<vec.sv_mask> を 0 で "
9662 "B<sigvec>()  を呼び出したときと同様)。 System V が提供する処理機構は信頼性の"
9663 "ないものである。 POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままと"
9664 "なっている。 さらなる詳細については B<signal>(2)  を参照。"
9665
9666 #. type: Plain text
9667 #: build/C/man3/sigvec.3:260
9668 msgid ""
9669 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9670 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9671 msgstr ""
9672 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9673 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9674
9675 #. type: TH
9676 #: build/C/man3/sigwait.3:24
9677 #, no-wrap
9678 msgid "SIGWAIT"
9679 msgstr "SIGWAIT"
9680
9681 #. type: TH
9682 #: build/C/man3/sigwait.3:24
9683 #, no-wrap
9684 msgid "2010-09-10"
9685 msgstr "2010-09-10"
9686
9687 #. type: Plain text
9688 #: build/C/man3/sigwait.3:27
9689 msgid "sigwait - wait for a signal"
9690 msgstr "sigwait - シグナルを待つ"
9691
9692 #. type: Plain text
9693 #: build/C/man3/sigwait.3:32
9694 #, no-wrap
9695 msgid "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9696 msgstr "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9697
9698 #. type: Plain text
9699 #: build/C/man3/sigwait.3:42
9700 msgid ""
9701 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9702 msgstr ""
9703 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9704
9705 #. type: Plain text
9706 #: build/C/man3/sigwait.3:53
9707 msgid ""
9708 "The B<sigwait>()  function suspends execution of the calling thread until "
9709 "the delivery of one of the signals specified in the signal set I<set>.  The "
9710 "function accepts the signal (removes it from the pending list of signals), "
9711 "and returns the signal number in I<sig>."
9712 msgstr ""
9713 "B<sigwait>()  関数は、シグナル集合 I<set> で指定されたシグナルの一つが配送さ"
9714 "れるまで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け"
9715 "取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグ"
9716 "ナル番号を I<sig> に格納して返す。"
9717
9718 #. type: Plain text
9719 #: build/C/man3/sigwait.3:59
9720 msgid ""
9721 "The operation of B<sigwait>()  is the same as B<sigwaitinfo>(2), except that:"
9722 msgstr ""
9723 "B<sigwait>()  の動作は B<sigwaitinfo>(2)  と同じだが、以下の点が異なる。"
9724
9725 #. type: Plain text
9726 #: build/C/man3/sigwait.3:64
9727 msgid ""
9728 "B<sigwait>()  only returns the signal number, rather than a I<siginfo_t> "
9729 "structure describing the signal."
9730 msgstr ""
9731 "B<sigwait>()  は、シグナルの内容を表す I<siginfo_t> 構造体を返すのではなく、"
9732 "単にシグナル番号を返す。"
9733
9734 #. type: Plain text
9735 #: build/C/man3/sigwait.3:66
9736 msgid "The return values of the two functions are different."
9737 msgstr "返り値が B<sigwaitinfo>(2)  とは異なる。"
9738
9739 #. type: Plain text
9740 #: build/C/man3/sigwait.3:71
9741 msgid ""
9742 "On success, B<sigwait>()  returns 0.  On error, it returns a positive error "
9743 "number (listed in ERRORS)."
9744 msgstr ""
9745 "成功すると、 B<sigwait>()  は 0 を返す。 エラーの場合、(「エラー」の節のリス"
9746 "トにある) 正のエラー番号を返す。"
9747
9748 #.  Does not occur for glibc.
9749 #. type: Plain text
9750 #: build/C/man3/sigwait.3:77
9751 msgid "I<set> contains an invalid signal number."
9752 msgstr "I<set> に無効なシグナル番号が入っている。"
9753
9754 #. type: Plain text
9755 #: build/C/man3/sigwait.3:83
9756 msgid "B<sigwait>()  is implemented using B<sigtimedwait>(2)."
9757 msgstr "B<sigwait>()  は B<sigtimedwait>(2)  を使って実装されている。"
9758
9759 #. type: SH
9760 #: build/C/man3/sigwait.3:83
9761 #, no-wrap
9762 msgid "EXAMPLES"
9763 msgstr "例"
9764
9765 #. type: Plain text
9766 #: build/C/man3/sigwait.3:86
9767 msgid "See B<pthread_sigmask>(3)."
9768 msgstr "B<pthread_sigmask>(3)  を参照。"
9769
9770 #. type: Plain text
9771 #: build/C/man3/sigwait.3:94
9772 msgid ""
9773 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
9774 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
9775 msgstr ""
9776 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
9777 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
9778
9779 #. type: TH
9780 #: build/C/man2/sigwaitinfo.2:23
9781 #, no-wrap
9782 msgid "SIGWAITINFO"
9783 msgstr "SIGWAITINFO"
9784
9785 #. type: TH
9786 #: build/C/man2/sigwaitinfo.2:23
9787 #, no-wrap
9788 msgid "2011-10-03"
9789 msgstr "2011-10-03"
9790
9791 #. type: Plain text
9792 #: build/C/man2/sigwaitinfo.2:26
9793 msgid "sigwaitinfo, sigtimedwait - synchronously wait for queued signals"
9794 msgstr "sigwaitinfo, sigtimedwait - キューに入れられたシグナルを同期して待つ"
9795
9796 #. type: Plain text
9797 #: build/C/man2/sigwaitinfo.2:31
9798 #, no-wrap
9799 msgid "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
9800 msgstr "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
9801
9802 #. type: Plain text
9803 #: build/C/man2/sigwaitinfo.2:34
9804 #, no-wrap
9805 msgid ""
9806 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
9807 "B<                 const struct timespec *>I<timeout>B<);>\n"
9808 msgstr ""
9809 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
9810 "B<                 const struct timespec *>I<timeout>B<);>\n"
9811
9812 #. type: Plain text
9813 #: build/C/man2/sigwaitinfo.2:44
9814 msgid "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
9815 msgstr ""
9816 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
9817
9818 #. type: Plain text
9819 #: build/C/man2/sigwaitinfo.2:54
9820 msgid ""
9821 "B<sigwaitinfo>()  suspends execution of the calling thread until one of the "
9822 "signals in I<set> is delivered.  (If one of the signals in I<set> is already "
9823 "pending for the calling thread, B<sigwaitinfo>()  will return immediately "
9824 "with information about that signal.)"
9825 msgstr ""
9826 "B<sigwaitinfo>()  は I<set> のうちのどれかのシグナルが配送されるまで、 呼び出"
9827 "しスレッドの実行を一時停止する (呼び出しスレッドに対して I<set> のうちのどれ"
9828 "かのシグナルが既に待機中 (pending) である場合、 B<sigwaitinfo>()  はそのシグ"
9829 "ナルの情報を返してすぐに戻る)。"
9830
9831 #. type: Plain text
9832 #: build/C/man2/sigwaitinfo.2:66
9833 msgid ""
9834 "B<sigwaitinfo>()  removes the delivered signal from the set of pending "
9835 "signals and returns the signal number as its function result.  If the "
9836 "I<info> argument is not NULL, then it returns a structure of type "
9837 "I<siginfo_t> (see B<sigaction>(2))  containing information about the signal."
9838 msgstr ""
9839 "B<sigwaitinfo>()  は配送されたシグナルを待機中のシグナルの集合から削除し、 関"
9840 "数の結果としてシグナル番号を返す。 I<info> 引き数が NULL でない場合、配送され"
9841 "たシグナルの情報が入った I<siginfo_t> 型 (B<sigaction>(2)  を参照) の構造体を"
9842 "返す。"
9843
9844 #. type: Plain text
9845 #: build/C/man2/sigwaitinfo.2:72
9846 msgid ""
9847 "Signals returned via B<sigwaitinfo>()  are delivered in the usual order; see "
9848 "B<signal>(7)  for further details."
9849 msgstr ""
9850 "B<sigwaitinfo>()  で返されるシグナルは、通常の順番で配送される。 詳細は "
9851 "B<signal>(7)  を参照すること。"
9852
9853 #. type: Plain text
9854 #: build/C/man2/sigwaitinfo.2:81
9855 msgid ""
9856 "B<sigtimedwait>()  operates in exactly the same way as B<sigwaitinfo>()  "
9857 "except that it has an additional argument, I<timeout>, which enables an "
9858 "upper bound to be placed on the time for which the thread is suspended.  "
9859 "This argument is of the following type:"
9860 msgstr ""
9861 "B<sigtimedwait>()  は、 B<sigwaitinfo>()  と次の点を除いて全く同じように動作"
9862 "する。 この関数にはもう 1 つの引き数 I<timeout> があり、スレッドが一時停止す"
9863 "る時間の上限を定めることができる。 この引き数の型は以下のとおりである:"
9864
9865 #. type: Plain text
9866 #: build/C/man2/sigwaitinfo.2:88
9867 #, no-wrap
9868 msgid ""
9869 "struct timespec {\n"
9870 "    long    tv_sec;         /* seconds */\n"
9871 "    long    tv_nsec;        /* nanoseconds */\n"
9872 "}\n"
9873 msgstr ""
9874 "struct timespec {\n"
9875 "    long    tv_sec;         /* 秒 */\n"
9876 "    long    tv_nsec;        /* ナノ秒 */\n"
9877 "}\n"
9878
9879 #. type: Plain text
9880 #: build/C/man2/sigwaitinfo.2:98
9881 msgid ""
9882 "If both fields of this structure are specified as 0, a poll is performed: "
9883 "B<sigtimedwait>()  returns immediately, either with information about a "
9884 "signal that was pending for the caller, or with an error if none of the "
9885 "signals in I<set> was pending."
9886 msgstr ""
9887 "この構造体の 2 つのフィールドがともに 0 の場合、ポーリングが行われる: "
9888 "B<sigtimedwait>()  は、呼び出し側プロセスに対して 待機しているシグナルの情報"
9889 "を返して戻るか、 I<set> のうちのどのシグナルも待機していない場合はエラーを返"
9890 "して戻る。"
9891
9892 #. type: Plain text
9893 #: build/C/man2/sigwaitinfo.2:107
9894 msgid ""
9895 "On success, both B<sigwaitinfo>()  and B<sigtimedwait>()  return a signal "
9896 "number (i.e., a value greater than zero).  On failure both calls return -1, "
9897 "with I<errno> set to indicate the error."
9898 msgstr ""
9899 "成功した場合、 B<sigwaitinfo>()  と B<sigtimedwait>()  はシグナル番号 (すなわ"
9900 "ち 0 より大きい数) を返す。 失敗した場合、2 つの関数は -1 を返し、 I<errno> "
9901 "はエラーを表す値に設定される。"
9902
9903 #. type: Plain text
9904 #: build/C/man2/sigwaitinfo.2:116
9905 msgid ""
9906 "No signal in I<set> was delivered within the I<timeout> period specified to "
9907 "B<sigtimedwait>()."
9908 msgstr ""
9909 "I<set> のうちのどのシグナルも B<sigtimedwait>()  に指定された I<timeout> の期"
9910 "間内に配送されなかった。"
9911
9912 #. type: Plain text
9913 #: build/C/man2/sigwaitinfo.2:122
9914 msgid ""
9915 "The wait was interrupted by a signal handler; see B<signal>(7).  (This "
9916 "handler was for a signal other than one of those in I<set>.)"
9917 msgstr ""
9918 "シグナル待ちがシグナルハンドラによって中断 (interrupt) された (このハンドラ"
9919 "は I<set> にあるシグナル以外のものである)。 B<signal>(7)  参照。"
9920
9921 #. type: Plain text
9922 #: build/C/man2/sigwaitinfo.2:126
9923 msgid "I<timeout> was invalid."
9924 msgstr "I<timeout> が不正である。"
9925
9926 #. type: Plain text
9927 #: build/C/man2/sigwaitinfo.2:145
9928 msgid ""
9929 "In normal usage, the calling program blocks the signals in I<set> via a "
9930 "prior call to B<sigprocmask>(2)  (so that the default disposition for these "
9931 "signals does not occur if they are delivered between successive calls to "
9932 "B<sigwaitinfo>()  or B<sigtimedwait>())  and does not establish handlers for "
9933 "these signals.  In a multithreaded program, the signal should be blocked in "
9934 "all threads to prevent the signal being delivered to a thread other than the "
9935 "one calling B<sigwaitinfo>()  or B<sigtimedwait>())."
9936 msgstr ""
9937 "通常の使用法では、呼び出し側プロセスはこれらの関数より先に B<sigprocmask>"
9938 "(2)  の呼び出すことにより I<set> に含まれるシグナルをブロックし (そのためにこ"
9939 "れらのシグナルがこの後に続く B<sigwaitinfo>()  や B<sigtimedwait>()  の呼び出"
9940 "しの間に配送された場合には、 デフォルトの配置は行われず)、 これらのシグナルに"
9941 "対するハンドラは設定しない。 マルチスレッドプログラムでは、 B<sigwaitinfo>"
9942 "()  や B<sigtimedwait>()  を呼び出したスレッド以外のスレッドにそのシグナルが"
9943 "配送されないように、 全てのスレッドで該当シグナルをブロックすべきである。"
9944
9945 #. type: Plain text
9946 #: build/C/man2/sigwaitinfo.2:150
9947 msgid ""
9948 "The set of signals that is pending for a given thread is the union of the "
9949 "set of signals that is pending specifically for that thread and the set of "
9950 "signals that is pending for the process as a whole (see B<signal>(7))."
9951 msgstr ""
9952 "指定されたスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体宛ての"
9953 "処理待ちのシグナル集合と、プロセス全体宛ての 処理待ちのシグナル集合をあわせた"
9954 "ものである (B<signal>(7)  参照)。"
9955
9956 #. type: Plain text
9957 #: build/C/man2/sigwaitinfo.2:156
9958 msgid "Attempts to wait for B<SIGKILL> and B<SIGSTOP> are silently ignored."
9959 msgstr "B<SIGKILL> と B<SIGSTOP> を待とうとした場合、黙って無視される。"
9960
9961 #. type: Plain text
9962 #: build/C/man2/sigwaitinfo.2:165
9963 msgid ""
9964 "If multiple threads of a process are blocked waiting for the same signal(s) "
9965 "in B<sigwaitinfo>()  or B<sigtimedwait>(), then exactly one of the threads "
9966 "will actually receive the signal if it is delivered to the process as a "
9967 "whole; which of the threads receives the signal is indeterminate."
9968 msgstr ""
9969 "一つのプロセス内の複数のスレッドが B<sigwaitinfo>()  や B<sigtimedwait>()  で"
9970 "同じシグナルを待って停止した場合、 プロセス全体宛てのシグナルが配送されると、"
9971 "複数のスレッドのうち一つだけが 実際にそのシグナルを受信することになる。 どの"
9972 "スレッドがシグナルを受信するかは決まっていない。"
9973
9974 #. type: Plain text
9975 #: build/C/man2/sigwaitinfo.2:174
9976 msgid ""
9977 "POSIX leaves the meaning of a NULL value for the I<timeout> argument of "
9978 "B<sigtimedwait>()  unspecified, permitting the possibility that this has the "
9979 "same meaning as a call to B<sigwaitinfo>(), and indeed this is what is done "
9980 "on Linux."
9981 msgstr ""
9982 "POSIX では B<sigtimedwait>()  の引き数 I<timeout> の値を NULL にした場合の意"
9983 "味を未定義としている。 B<sigwaitinfo>()  を呼び出したのと同じ意味としてもよい"
9984 "ことになっており、 実際 Linux ではこのように動作する。"
9985
9986 #. type: Plain text
9987 #: build/C/man2/sigwaitinfo.2:179
9988 msgid ""
9989 "On Linux, B<sigwaitinfo>()  is a library function implemented on top of "
9990 "B<sigtimedwait>()."
9991 msgstr ""
9992 "Linux では、 B<sigwaitinfo>()  は B<sigtimedwait>()  を用いて実装されたライブ"
9993 "ラリ関数である。"
9994
9995 #. type: Plain text
9996 #: build/C/man2/sigwaitinfo.2:191
9997 msgid ""
9998 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
9999 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10000 "(7), B<time>(7)"
10001 msgstr ""
10002 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10003 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10004 "(7), B<time>(7)"
10005
10006 #. type: TH
10007 #: build/C/man3/sysv_signal.3:23
10008 #, no-wrap
10009 msgid "SYSV_SIGNAL"
10010 msgstr "SYSV_SIGNAL"
10011
10012 #. type: TH
10013 #: build/C/man3/sysv_signal.3:23
10014 #, no-wrap
10015 msgid "2007-05-04"
10016 msgstr "2007-05-04"
10017
10018 #. type: Plain text
10019 #: build/C/man3/sysv_signal.3:26
10020 msgid "sysv_signal - signal handling with System V semantics"
10021 msgstr "sysv_signal - System V 方式のシグナル処理"
10022
10023 #. type: Plain text
10024 #: build/C/man3/sysv_signal.3:28
10025 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
10026 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
10027
10028 #. type: Plain text
10029 #: build/C/man3/sysv_signal.3:34
10030 msgid ""
10031 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10032 msgstr ""
10033 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10034
10035 #. type: Plain text
10036 #: build/C/man3/sysv_signal.3:39
10037 msgid ""
10038 "The B<sysv_signal>()  function takes the same arguments, and performs the "
10039 "same task, as B<signal>(2)."
10040 msgstr ""
10041 "B<sysv_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
10042 "る。"
10043
10044 #. type: Plain text
10045 #: build/C/man3/sysv_signal.3:49
10046 msgid ""
10047 "However B<sysv_signal>()  provides the System V unreliable signal semantics, "
10048 "that is: a) the disposition of the signal is reset to the default when the "
10049 "handler is invoked; b) delivery of further instances of the signal is not "
10050 "blocked while the signal handler is executing; and c) if the handler "
10051 "interrupts (certain) blocking system calls, then the system call is not "
10052 "automatically restarted."
10053 msgstr ""
10054 "しかしながら、 B<sysv_signal>()  は System V の信頼性に欠けるシグナル処理方式"
10055 "を提供している。 信頼性に欠けるシグナル処理方式は以下の特徴を持つ。 a) ハンド"
10056 "ラが起動されると、シグナルの処理方法 (disposition) が デフォルトにリセットさ"
10057 "れる、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナルの配送が "
10058 "ブロックされない、 c) ハンドラが停止中の (blocking している) システムコールを"
10059 "中断した場合、 自動的に再開されないシステムコールがある。"
10060
10061 #. type: Plain text
10062 #: build/C/man3/sysv_signal.3:55
10063 msgid ""
10064 "The B<sysv_signal>()  function returns the previous value of the signal "
10065 "handler, or B<SIG_ERR> on error."
10066 msgstr ""
10067 "B<sysv_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
10068 "B<SIG_ERR> を返す。"
10069
10070 #. type: Plain text
10071 #: build/C/man3/sysv_signal.3:60
10072 msgid "This function is nonstandard."
10073 msgstr "この関数は非標準である。"
10074
10075 #. type: Plain text
10076 #: build/C/man3/sysv_signal.3:66
10077 msgid ""
10078 "Use of B<sysv_signal>()  should be avoided; use B<sigaction>(2)  instead."
10079 msgstr ""
10080 "B<sysv_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使う"
10081 "こと。"
10082
10083 #. type: Plain text
10084 #: build/C/man3/sysv_signal.3:77
10085 msgid ""
10086 "On older Linux systems, B<sysv_signal>()  and B<signal>(2)  were "
10087 "equivalent.  But on newer systems, B<signal>(2)  provides reliable signal "
10088 "semantics; see B<signal>(2)  for details."
10089 msgstr ""
10090 "以前の Linux システムでは、 B<sysv_signal>()  と B<signal>(2)  は等価であっ"
10091 "た。しかし、新しめのシステムでは、 B<signal>(2)  は信頼性のあるシグナル処理方"
10092 "式を提供している。 詳細は B<signal>(2)  を参照。"
10093
10094 #. type: Plain text
10095 #: build/C/man3/sysv_signal.3:90
10096 msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10097 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10098
10099 #. type: TH
10100 #: build/C/man2/timer_create.2:29
10101 #, no-wrap
10102 msgid "TIMER_CREATE"
10103 msgstr "TIMER_CREATE"
10104
10105 #. type: TH
10106 #: build/C/man2/timer_create.2:29
10107 #, no-wrap
10108 msgid "2010-09-27"
10109 msgstr "2010-09-27"
10110
10111 #. type: Plain text
10112 #: build/C/man2/timer_create.2:32
10113 msgid "timer_create - create a POSIX per-process timer"
10114 msgstr "timer_create - create a POSIX per-process timer"
10115
10116 #. type: Plain text
10117 #: build/C/man2/timer_create.2:36
10118 #, no-wrap
10119 msgid ""
10120 "B<#include E<lt>signal.hE<gt>>\n"
10121 "B<#include E<lt>time.hE<gt>>\n"
10122 msgstr ""
10123 "B<#include E<lt>signal.hE<gt>>\n"
10124 "B<#include E<lt>time.hE<gt>>\n"
10125
10126 #. type: Plain text
10127 #: build/C/man2/timer_create.2:39
10128 #, no-wrap
10129 msgid ""
10130 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10131 "B<                 timer_t *>I<timerid>B<);>\n"
10132 msgstr ""
10133 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10134 "B<                 timer_t *>I<timerid>B<);>\n"
10135
10136 #. type: Plain text
10137 #: build/C/man2/timer_create.2:42 build/C/man2/timer_delete.2:34
10138 #: build/C/man2/timer_getoverrun.2:34 build/C/man2/timer_settime.2:38
10139 msgid "Link with I<-lrt>."
10140 msgstr "Link with I<-lrt>."
10141
10142 #. type: Plain text
10143 #: build/C/man2/timer_create.2:50
10144 msgid "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10145 msgstr "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10146
10147 #. type: Plain text
10148 #: build/C/man2/timer_create.2:58
10149 msgid ""
10150 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10151 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10152 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10153 "is deleted.  The new timer is initially disarmed."
10154 msgstr ""
10155 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10156 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10157 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10158 "is deleted.  The new timer is initially disarmed."
10159
10160 #. type: Plain text
10161 #: build/C/man2/timer_create.2:63
10162 msgid ""
10163 "The I<clockid> argument specifies the clock that the new timer uses to "
10164 "measure time.  It can be specified as one of the following values:"
10165 msgstr ""
10166 "The I<clockid> argument specifies the clock that the new timer uses to "
10167 "measure time.  It can be specified as one of the following values:"
10168
10169 #. type: TP
10170 #: build/C/man2/timer_create.2:63
10171 #, no-wrap
10172 msgid "B<CLOCK_REALTIME>"
10173 msgstr "B<CLOCK_REALTIME>"
10174
10175 #. type: Plain text
10176 #: build/C/man2/timer_create.2:66
10177 msgid "A settable system-wide real-time clock."
10178 msgstr "A settable system-wide real-time clock."
10179
10180 #. type: TP
10181 #: build/C/man2/timer_create.2:66
10182 #, no-wrap
10183 msgid "B<CLOCK_MONOTONIC>"
10184 msgstr "B<CLOCK_MONOTONIC>"
10185
10186 #.  Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
10187 #.  in 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
10188 #. type: Plain text
10189 #: build/C/man2/timer_create.2:73
10190 msgid ""
10191 "A nonsettable monotonically increasing clock that measures time from some "
10192 "unspecified point in the past that does not change after system startup."
10193 msgstr ""
10194 "A nonsettable monotonically increasing clock that measures time from some "
10195 "unspecified point in the past that does not change after system startup."
10196
10197 #. type: TP
10198 #: build/C/man2/timer_create.2:73
10199 #, no-wrap
10200 msgid "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10201 msgstr "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10202
10203 #. type: Plain text
10204 #: build/C/man2/timer_create.2:77
10205 msgid ""
10206 "A clock that measures (user and system) CPU time consumed by (all of the "
10207 "threads in) the calling process."
10208 msgstr ""
10209 "A clock that measures (user and system) CPU time consumed by (all of the "
10210 "threads in) the calling process."
10211
10212 #. type: TP
10213 #: build/C/man2/timer_create.2:77
10214 #, no-wrap
10215 msgid "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10216 msgstr "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10217
10218 #.  The CLOCK_MONOTONIC_RAW that was added in 2.6.28 can't be used
10219 #.  to create a timer -- mtk, Feb 2009
10220 #. type: Plain text
10221 #: build/C/man2/timer_create.2:83
10222 msgid ""
10223 "A clock that measures (user and system) CPU time consumed by the calling "
10224 "thread."
10225 msgstr ""
10226 "A clock that measures (user and system) CPU time consumed by the calling "
10227 "thread."
10228
10229 #. type: Plain text
10230 #: build/C/man2/timer_create.2:92
10231 msgid ""
10232 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10233 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10234 "(3)."
10235 msgstr ""
10236 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10237 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10238 "(3)."
10239
10240 #. type: Plain text
10241 #: build/C/man2/timer_create.2:101
10242 msgid ""
10243 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10244 "the caller should be notified when the timer expires.  For the definition "
10245 "and general details of this structure, see B<sigevent>(7)."
10246 msgstr ""
10247 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10248 "the caller should be notified when the timer expires.  For the definition "
10249 "and general details of this structure, see B<sigevent>(7)."
10250
10251 #. type: Plain text
10252 #: build/C/man2/timer_create.2:105
10253 msgid "The I<sevp.sigev_notify> field can have the following values:"
10254 msgstr "The I<sevp.sigev_notify> field can have the following values:"
10255
10256 #. type: Plain text
10257 #: build/C/man2/timer_create.2:110
10258 msgid ""
10259 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10260 "can be monitored using B<timer_gettime>(2)."
10261 msgstr ""
10262 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10263 "can be monitored using B<timer_gettime>(2)."
10264
10265 #. type: Plain text
10266 #: build/C/man2/timer_create.2:128
10267 msgid ""
10268 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10269 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10270 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10271 "most one signal is queued to the process for a given timer; see "
10272 "B<timer_getoverrun>(2)  for more details."
10273 msgstr ""
10274 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10275 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10276 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10277 "most one signal is queued to the process for a given timer; see "
10278 "B<timer_getoverrun>(2)  for more details."
10279
10280 #. type: Plain text
10281 #: build/C/man2/timer_create.2:136
10282 msgid ""
10283 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10284 "start function of a new thread.  See B<sigevent>(7)  for details."
10285 msgstr ""
10286 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10287 "start function of a new thread.  See B<sigevent>(7)  for details."
10288
10289 #. type: Plain text
10290 #: build/C/man2/timer_create.2:150
10291 msgid ""
10292 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10293 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10294 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10295 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10296 "(2).  This flag is only intended for use by threading libraries."
10297 msgstr ""
10298 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10299 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10300 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10301 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10302 "(2).  This flag is only intended for use by threading libraries."
10303
10304 #. type: Plain text
10305 #: build/C/man2/timer_create.2:165
10306 msgid ""
10307 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10308 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10309 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10310 msgstr ""
10311 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10312 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10313 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10314
10315 #. type: Plain text
10316 #: build/C/man2/timer_create.2:173
10317 msgid ""
10318 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10319 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10320 "indicate the error."
10321 msgstr ""
10322 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10323 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10324 "indicate the error."
10325
10326 #. type: Plain text
10327 #: build/C/man2/timer_create.2:177
10328 msgid "Temporary error during kernel allocation of timer structures."
10329 msgstr "Temporary error during kernel allocation of timer structures."
10330
10331 #. type: Plain text
10332 #: build/C/man2/timer_create.2:185
10333 msgid ""
10334 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10335 "invalid."
10336 msgstr ""
10337 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10338 "invalid."
10339
10340 #.  glibc layer: malloc()
10341 #. type: Plain text
10342 #: build/C/man2/timer_create.2:189
10343 msgid "Could not allocate memory."
10344 msgstr "Could not allocate memory."
10345
10346 #. type: Plain text
10347 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
10348 #: build/C/man2/timer_getoverrun.2:94
10349 msgid "This system call is available since Linux 2.6."
10350 msgstr "This system call is available since Linux 2.6."
10351
10352 #. type: Plain text
10353 #: build/C/man2/timer_create.2:196
10354 msgid "A program may create multiple interval timers using B<timer_create>()."
10355 msgstr "A program may create multiple interval timers using B<timer_create>()."
10356
10357 #. type: Plain text
10358 #: build/C/man2/timer_create.2:201
10359 msgid ""
10360 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10361 "deleted during an B<execve>(2)."
10362 msgstr ""
10363 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10364 "deleted during an B<execve>(2)."
10365
10366 #. type: Plain text
10367 #: build/C/man2/timer_create.2:209
10368 msgid ""
10369 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10370 "using B<timer_create>().  Consequently, the number of timers is limited by "
10371 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10372 msgstr ""
10373 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10374 "using B<timer_create>().  Consequently, the number of timers is limited by "
10375 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10376
10377 #. type: Plain text
10378 #: build/C/man2/timer_create.2:214
10379 msgid ""
10380 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10381 "(interval) timers\".  The POSIX timers API consists of the following "
10382 "interfaces:"
10383 msgstr ""
10384 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10385 "(interval) timers\".  The POSIX timers API consists of the following "
10386 "interfaces:"
10387
10388 #. type: Plain text
10389 #: build/C/man2/timer_create.2:217
10390 msgid "B<timer_create>(): Create a timer."
10391 msgstr "B<timer_create>(): Create a timer."
10392
10393 #. type: Plain text
10394 #: build/C/man2/timer_create.2:220
10395 msgid "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10396 msgstr "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10397
10398 #. type: Plain text
10399 #: build/C/man2/timer_create.2:224
10400 msgid ""
10401 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10402 "timer, along with the interval setting of the timer."
10403 msgstr ""
10404 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10405 "timer, along with the interval setting of the timer."
10406
10407 #. type: Plain text
10408 #: build/C/man2/timer_create.2:227
10409 msgid ""
10410 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10411 "expiration."
10412 msgstr ""
10413 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10414 "expiration."
10415
10416 #. type: Plain text
10417 #: build/C/man2/timer_create.2:230
10418 msgid "B<timer_delete>(2): Disarm and delete a timer."
10419 msgstr "B<timer_delete>(2): Disarm and delete a timer."
10420
10421 #. type: Plain text
10422 #: build/C/man2/timer_create.2:233
10423 msgid ""
10424 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10425 "particular:"
10426 msgstr ""
10427 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10428 "particular:"
10429
10430 #. type: Plain text
10431 #: build/C/man2/timer_create.2:237
10432 msgid ""
10433 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10434 "than the kernel."
10435 msgstr ""
10436 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10437 "than the kernel."
10438
10439 #.  See the glibc source file kernel-posix-timers.h for the structure
10440 #.  that glibc uses to map userspace timer IDs to kernel timer IDs
10441 #.  The kernel-level timer ID is exposed via siginfo.si_tid.
10442 #. type: Plain text
10443 #: build/C/man2/timer_create.2:243
10444 msgid ""
10445 "The timer IDs presented at user level are maintained by glibc, which maps "
10446 "these IDs to the timer IDs employed by the kernel."
10447 msgstr ""
10448 "The timer IDs presented at user level are maintained by glibc, which maps "
10449 "these IDs to the timer IDs employed by the kernel."
10450
10451 #. type: Plain text
10452 #: build/C/man2/timer_create.2:251
10453 msgid ""
10454 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10455 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10456 "timers only) using POSIX threads, and current glibc falls back to this "
10457 "implementation on systems running pre-2.6 Linux kernels."
10458 msgstr ""
10459 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10460 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10461 "timers only) using POSIX threads, and current glibc falls back to this "
10462 "implementation on systems running pre-2.6 Linux kernels."
10463
10464 #. type: Plain text
10465 #: build/C/man2/timer_create.2:263
10466 msgid ""
10467 "The program below takes two arguments: a sleep period in seconds, and a "
10468 "timer frequency in nanoseconds.  The program establishes a handler for the "
10469 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10470 "that expires with the given frequency, sleeps for the specified number of "
10471 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10472 "expired at least once while the program slept, the signal handler will be "
10473 "invoked, and the handler displays some information about the timer "
10474 "notification.  The program terminates after one invocation of the signal "
10475 "handler."
10476 msgstr ""
10477 "The program below takes two arguments: a sleep period in seconds, and a "
10478 "timer frequency in nanoseconds.  The program establishes a handler for the "
10479 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10480 "that expires with the given frequency, sleeps for the specified number of "
10481 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10482 "expired at least once while the program slept, the signal handler will be "
10483 "invoked, and the handler displays some information about the timer "
10484 "notification.  The program terminates after one invocation of the signal "
10485 "handler."
10486
10487 #. type: Plain text
10488 #: build/C/man2/timer_create.2:268
10489 msgid ""
10490 "In the following example run, the program sleeps for 1 second, after "
10491 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10492 "signal is unblocked and delivered, there have been around ten million "
10493 "overruns."
10494 msgstr ""
10495 "In the following example run, the program sleeps for 1 second, after "
10496 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10497 "signal is unblocked and delivered, there have been around ten million "
10498 "overruns."
10499
10500 #. type: Plain text
10501 #: build/C/man2/timer_create.2:280
10502 #, no-wrap
10503 msgid ""
10504 "$ B<./a.out 1 100>\n"
10505 "Establishing handler for signal 34\n"
10506 "Blocking signal 34\n"
10507 "timer ID is 0x804c008\n"
10508 "Sleeping for 1 seconds\n"
10509 "Unblocking signal 34\n"
10510 "Caught signal 34\n"
10511 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10512 "    overrun count = 10004886\n"
10513 msgstr ""
10514 "$ B<./a.out 1 100>\n"
10515 "Establishing handler for signal 34\n"
10516 "Blocking signal 34\n"
10517 "timer ID is 0x804c008\n"
10518 "Sleeping for 1 seconds\n"
10519 "Unblocking signal 34\n"
10520 "Caught signal 34\n"
10521 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10522 "    overrun count = 10004886\n"
10523
10524 #. type: SS
10525 #: build/C/man2/timer_create.2:282
10526 #, no-wrap
10527 msgid "Program Source"
10528 msgstr "Program Source"
10529
10530 #. type: Plain text
10531 #: build/C/man2/timer_create.2:290
10532 #, no-wrap
10533 msgid ""
10534 "#include E<lt>stdlib.hE<gt>\n"
10535 "#include E<lt>unistd.hE<gt>\n"
10536 "#include E<lt>stdio.hE<gt>\n"
10537 "#include E<lt>signal.hE<gt>\n"
10538 "#include E<lt>time.hE<gt>\n"
10539 msgstr ""
10540 "#include E<lt>stdlib.hE<gt>\n"
10541 "#include E<lt>unistd.hE<gt>\n"
10542 "#include E<lt>stdio.hE<gt>\n"
10543 "#include E<lt>signal.hE<gt>\n"
10544 "#include E<lt>time.hE<gt>\n"
10545
10546 #. type: Plain text
10547 #: build/C/man2/timer_create.2:293
10548 #, no-wrap
10549 msgid ""
10550 "#define CLOCKID CLOCK_REALTIME\n"
10551 "#define SIG SIGRTMIN\n"
10552 msgstr ""
10553 "#define CLOCKID CLOCK_REALTIME\n"
10554 "#define SIG SIGRTMIN\n"
10555
10556 #. type: Plain text
10557 #: build/C/man2/timer_create.2:296
10558 #, no-wrap
10559 msgid ""
10560 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10561 "                        } while (0)\n"
10562 msgstr ""
10563 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10564 "                        } while (0)\n"
10565
10566 #. type: Plain text
10567 #: build/C/man2/timer_create.2:302
10568 #, no-wrap
10569 msgid ""
10570 "static void\n"
10571 "print_siginfo(siginfo_t *si)\n"
10572 "{\n"
10573 "    timer_t *tidp;\n"
10574 "    int or;\n"
10575 msgstr ""
10576 "static void\n"
10577 "print_siginfo(siginfo_t *si)\n"
10578 "{\n"
10579 "    timer_t *tidp;\n"
10580 "    int or;\n"
10581
10582 #. type: Plain text
10583 #: build/C/man2/timer_create.2:304
10584 #, no-wrap
10585 msgid "    tidp = si-E<gt>si_value.sival_ptr;\n"
10586 msgstr "    tidp = si-E<gt>si_value.sival_ptr;\n"
10587
10588 #. type: Plain text
10589 #: build/C/man2/timer_create.2:307
10590 #, no-wrap
10591 msgid ""
10592 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10593 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10594 msgstr ""
10595 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10596 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10597
10598 #. type: Plain text
10599 #: build/C/man2/timer_create.2:314
10600 #, no-wrap
10601 msgid ""
10602 "    or = timer_getoverrun(*tidp);\n"
10603 "    if (or == -1)\n"
10604 "        errExit(\"timer_getoverrun\");\n"
10605 "    else\n"
10606 "        printf(\"    overrun count = %d\\en\", or);\n"
10607 "}\n"
10608 msgstr ""
10609 "    or = timer_getoverrun(*tidp);\n"
10610 "    if (or == -1)\n"
10611 "        errExit(\"timer_getoverrun\");\n"
10612 "    else\n"
10613 "        printf(\"    overrun count = %d\\en\", or);\n"
10614 "}\n"
10615
10616 #. type: Plain text
10617 #: build/C/man2/timer_create.2:321
10618 #, no-wrap
10619 msgid ""
10620 "static void\n"
10621 "handler(int sig, siginfo_t *si, void *uc)\n"
10622 "{\n"
10623 "    /* Note: calling printf() from a signal handler is not\n"
10624 "       strictly correct, since printf() is not async-signal-safe;\n"
10625 "       see signal(7) */\n"
10626 msgstr ""
10627 "static void\n"
10628 "handler(int sig, siginfo_t *si, void *uc)\n"
10629 "{\n"
10630 "    /* Note: calling printf() from a signal handler is not\n"
10631 "       strictly correct, since printf() is not async-signal-safe;\n"
10632 "       see signal(7) */\n"
10633
10634 #. type: Plain text
10635 #: build/C/man2/timer_create.2:326
10636 #, no-wrap
10637 msgid ""
10638 "    printf(\"Caught signal %d\\en\", sig);\n"
10639 "    print_siginfo(si);\n"
10640 "    signal(sig, SIG_IGN);\n"
10641 "}\n"
10642 msgstr ""
10643 "    printf(\"Caught signal %d\\en\", sig);\n"
10644 "    print_siginfo(si);\n"
10645 "    signal(sig, SIG_IGN);\n"
10646 "}\n"
10647
10648 #. type: Plain text
10649 #: build/C/man2/timer_create.2:336
10650 #, no-wrap
10651 msgid ""
10652 "int\n"
10653 "main(int argc, char *argv[])\n"
10654 "{\n"
10655 "    timer_t timerid;\n"
10656 "    struct sigevent sev;\n"
10657 "    struct itimerspec its;\n"
10658 "    long long freq_nanosecs;\n"
10659 "    sigset_t mask;\n"
10660 "    struct sigaction sa;\n"
10661 msgstr ""
10662 "int\n"
10663 "main(int argc, char *argv[])\n"
10664 "{\n"
10665 "    timer_t timerid;\n"
10666 "    struct sigevent sev;\n"
10667 "    struct itimerspec its;\n"
10668 "    long long freq_nanosecs;\n"
10669 "    sigset_t mask;\n"
10670 "    struct sigaction sa;\n"
10671
10672 #. type: Plain text
10673 #: build/C/man2/timer_create.2:342
10674 #, no-wrap
10675 msgid ""
10676 "    if (argc != 3) {\n"
10677 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10678 "                argv[0]);\n"
10679 "        exit(EXIT_FAILURE);\n"
10680 "    }\n"
10681 msgstr ""
10682 "    if (argc != 3) {\n"
10683 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10684 "                argv[0]);\n"
10685 "        exit(EXIT_FAILURE);\n"
10686 "    }\n"
10687
10688 #. type: Plain text
10689 #: build/C/man2/timer_create.2:344
10690 #, no-wrap
10691 msgid "    /* Establish handler for timer signal */\n"
10692 msgstr "    /* Establish handler for timer signal */\n"
10693
10694 #. type: Plain text
10695 #: build/C/man2/timer_create.2:351
10696 #, no-wrap
10697 msgid ""
10698 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10699 "    sa.sa_flags = SA_SIGINFO;\n"
10700 "    sa.sa_sigaction = handler;\n"
10701 "    sigemptyset(&sa.sa_mask);\n"
10702 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10703 "        errExit(\"sigaction\");\n"
10704 msgstr ""
10705 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10706 "    sa.sa_flags = SA_SIGINFO;\n"
10707 "    sa.sa_sigaction = handler;\n"
10708 "    sigemptyset(&sa.sa_mask);\n"
10709 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10710 "        errExit(\"sigaction\");\n"
10711
10712 #. type: Plain text
10713 #: build/C/man2/timer_create.2:353
10714 #, no-wrap
10715 msgid "    /* Block timer signal temporarily */\n"
10716 msgstr "    /* Block timer signal temporarily */\n"
10717
10718 #. type: Plain text
10719 #: build/C/man2/timer_create.2:359
10720 #, no-wrap
10721 msgid ""
10722 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10723 "    sigemptyset(&mask);\n"
10724 "    sigaddset(&mask, SIG);\n"
10725 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10726 "        errExit(\"sigprocmask\");\n"
10727 msgstr ""
10728 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10729 "    sigemptyset(&mask);\n"
10730 "    sigaddset(&mask, SIG);\n"
10731 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10732 "        errExit(\"sigprocmask\");\n"
10733
10734 #. type: Plain text
10735 #: build/C/man2/timer_create.2:361
10736 #, no-wrap
10737 msgid "    /* Create the timer */\n"
10738 msgstr "    /* Create the timer */\n"
10739
10740 #. type: Plain text
10741 #: build/C/man2/timer_create.2:367
10742 #, no-wrap
10743 msgid ""
10744 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
10745 "    sev.sigev_signo = SIG;\n"
10746 "    sev.sigev_value.sival_ptr = &timerid;\n"
10747 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
10748 "        errExit(\"timer_create\");\n"
10749 msgstr ""
10750 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
10751 "    sev.sigev_signo = SIG;\n"
10752 "    sev.sigev_value.sival_ptr = &timerid;\n"
10753 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
10754 "        errExit(\"timer_create\");\n"
10755
10756 #. type: Plain text
10757 #: build/C/man2/timer_create.2:369
10758 #, no-wrap
10759 msgid "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
10760 msgstr "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
10761
10762 #. type: Plain text
10763 #: build/C/man2/timer_create.2:371
10764 #, no-wrap
10765 msgid "    /* Start the timer */\n"
10766 msgstr "    /* Start the timer */\n"
10767
10768 #. type: Plain text
10769 #: build/C/man2/timer_create.2:377
10770 #, no-wrap
10771 msgid ""
10772 "    freq_nanosecs = atoll(argv[2]);\n"
10773 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
10774 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
10775 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
10776 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
10777 msgstr ""
10778 "    freq_nanosecs = atoll(argv[2]);\n"
10779 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
10780 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
10781 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
10782 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
10783
10784 #. type: Plain text
10785 #: build/C/man2/timer_create.2:380
10786 #, no-wrap
10787 msgid ""
10788 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
10789 "         errExit(\"timer_settime\");\n"
10790 msgstr ""
10791 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
10792 "         errExit(\"timer_settime\");\n"
10793
10794 #. type: Plain text
10795 #: build/C/man2/timer_create.2:383
10796 #, no-wrap
10797 msgid ""
10798 "    /* Sleep for a while; meanwhile, the timer may expire\n"
10799 "       multiple times */\n"
10800 msgstr ""
10801 "    /* Sleep for a while; meanwhile, the timer may expire\n"
10802 "       multiple times */\n"
10803
10804 #. type: Plain text
10805 #: build/C/man2/timer_create.2:386
10806 #, no-wrap
10807 msgid ""
10808 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
10809 "    sleep(atoi(argv[1]));\n"
10810 msgstr ""
10811 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
10812 "    sleep(atoi(argv[1]));\n"
10813
10814 #. type: Plain text
10815 #: build/C/man2/timer_create.2:389
10816 #, no-wrap
10817 msgid ""
10818 "    /* Unlock the timer signal, so that timer notification\n"
10819 "       can be delivered */\n"
10820 msgstr ""
10821 "    /* Unlock the timer signal, so that timer notification\n"
10822 "       can be delivered */\n"
10823
10824 #. type: Plain text
10825 #: build/C/man2/timer_create.2:393
10826 #, no-wrap
10827 msgid ""
10828 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
10829 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
10830 "        errExit(\"sigprocmask\");\n"
10831 msgstr ""
10832 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
10833 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
10834 "        errExit(\"sigprocmask\");\n"
10835
10836 #. type: Plain text
10837 #: build/C/man2/timer_create.2:396 build/C/man2/timerfd_create.2:533
10838 #, no-wrap
10839 msgid ""
10840 "    exit(EXIT_SUCCESS);\n"
10841 "}\n"
10842 msgstr ""
10843 "    exit(EXIT_SUCCESS);\n"
10844 "}\n"
10845
10846 #. type: Plain text
10847 #: build/C/man2/timer_create.2:410
10848 msgid ""
10849 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
10850 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
10851 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
10852 "B<time>(7)"
10853 msgstr ""
10854 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
10855 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
10856 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
10857 "B<time>(7)"
10858
10859 #. type: TH
10860 #: build/C/man2/timer_delete.2:23
10861 #, no-wrap
10862 msgid "TIMER_DELETE"
10863 msgstr "TIMER_DELETE"
10864
10865 #. type: TH
10866 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
10867 #: build/C/man2/timer_settime.2:23
10868 #, no-wrap
10869 msgid "2009-02-20"
10870 msgstr "2009-02-20"
10871
10872 #. type: Plain text
10873 #: build/C/man2/timer_delete.2:26
10874 msgid "timer_delete - delete a POSIX per-process timer"
10875 msgstr "timer_delete - delete a POSIX per-process timer"
10876
10877 #. type: Plain text
10878 #: build/C/man2/timer_delete.2:29 build/C/man2/timer_getoverrun.2:29
10879 #: build/C/man2/timer_settime.2:30
10880 #, no-wrap
10881 msgid "B<#include E<lt>time.hE<gt>>\n"
10882 msgstr "B<#include E<lt>time.hE<gt>>\n"
10883
10884 #. type: Plain text
10885 #: build/C/man2/timer_delete.2:31
10886 #, no-wrap
10887 msgid "B<int timer_delete(timer_t >I<timerid>B<);>\n"
10888 msgstr "B<int timer_delete(timer_t >I<timerid>B<);>\n"
10889
10890 #. type: Plain text
10891 #: build/C/man2/timer_delete.2:42
10892 msgid "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10893 msgstr "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10894
10895 #. type: Plain text
10896 #: build/C/man2/timer_delete.2:50
10897 msgid ""
10898 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
10899 "the timer was armed at the time of this call, it is disarmed before being "
10900 "deleted.  The treatment of any pending signal generated by the deleted timer "
10901 "is unspecified."
10902 msgstr ""
10903 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
10904 "the timer was armed at the time of this call, it is disarmed before being "
10905 "deleted.  The treatment of any pending signal generated by the deleted timer "
10906 "is unspecified."
10907
10908 #. type: Plain text
10909 #: build/C/man2/timer_delete.2:57
10910 msgid ""
10911 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
10912 "I<errno> is set to indicate the error."
10913 msgstr ""
10914 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
10915 "I<errno> is set to indicate the error."
10916
10917 #. type: Plain text
10918 #: build/C/man2/timer_delete.2:62 build/C/man2/timer_getoverrun.2:92
10919 msgid "I<timerid> is not a valid timer ID."
10920 msgstr "I<timerid> is not a valid timer ID."
10921
10922 #. type: Plain text
10923 #: build/C/man2/timer_delete.2:72
10924 msgid ""
10925 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
10926 "B<timer_settime>(2), B<time>(7)"
10927 msgstr ""
10928 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
10929 "B<timer_settime>(2), B<time>(7)"
10930
10931 #. type: TH
10932 #: build/C/man2/timer_getoverrun.2:23
10933 #, no-wrap
10934 msgid "TIMER_GETOVERRUN"
10935 msgstr "TIMER_GETOVERRUN"
10936
10937 #. type: Plain text
10938 #: build/C/man2/timer_getoverrun.2:26
10939 msgid "timer_getoverrun - get overrun count for a POSIX per-process timer"
10940 msgstr "timer_getoverrun - get overrun count for a POSIX per-process timer"
10941
10942 #. type: Plain text
10943 #: build/C/man2/timer_getoverrun.2:31
10944 #, no-wrap
10945 msgid "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
10946 msgstr "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
10947
10948 #. type: Plain text
10949 #: build/C/man2/timer_getoverrun.2:42
10950 msgid "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10951 msgstr "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10952
10953 #. type: Plain text
10954 #: build/C/man2/timer_getoverrun.2:53
10955 msgid ""
10956 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
10957 "to by I<timerid>.  An application can use the overrun count to accurately "
10958 "calculate the number of timer expirations that would have occurred over a "
10959 "given time interval.  Timer overruns can occur both when receiving "
10960 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
10961 "(B<SIGEV_THREAD>)."
10962 msgstr ""
10963 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
10964 "to by I<timerid>.  An application can use the overrun count to accurately "
10965 "calculate the number of timer expirations that would have occurred over a "
10966 "given time interval.  Timer overruns can occur both when receiving "
10967 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
10968 "(B<SIGEV_THREAD>)."
10969
10970 #. type: Plain text
10971 #: build/C/man2/timer_getoverrun.2:73
10972 msgid ""
10973 "When expiration notifications are delivered via a signal, overruns can occur "
10974 "as follows.  Regardless of whether or not a real-time signal is used for "
10975 "timer notifications, the system queues at most one signal per timer.  (This "
10976 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
10977 "signal for each timer expiration, could easily result in overflowing the "
10978 "allowed limits for queued signals on the system.)  Because of system "
10979 "scheduling delays, or because the signal may be temporarily blocked, there "
10980 "can be a delay between the time when the notification signal is generated "
10981 "and the time when it is delivered (e.g., caught by a signal handler) or "
10982 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
10983 "expirations may occur.  The timer overrun count is the number of additional "
10984 "timer expirations that occurred between the time when the signal was "
10985 "generated and when it was delivered or accepted."
10986 msgstr ""
10987 "When expiration notifications are delivered via a signal, overruns can occur "
10988 "as follows.  Regardless of whether or not a real-time signal is used for "
10989 "timer notifications, the system queues at most one signal per timer.  (This "
10990 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
10991 "signal for each timer expiration, could easily result in overflowing the "
10992 "allowed limits for queued signals on the system.)  Because of system "
10993 "scheduling delays, or because the signal may be temporarily blocked, there "
10994 "can be a delay between the time when the notification signal is generated "
10995 "and the time when it is delivered (e.g., caught by a signal handler) or "
10996 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
10997 "expirations may occur.  The timer overrun count is the number of additional "
10998 "timer expirations that occurred between the time when the signal was "
10999 "generated and when it was delivered or accepted."
11000
11001 #. type: Plain text
11002 #: build/C/man2/timer_getoverrun.2:79
11003 msgid ""
11004 "Timer overruns can also occur when expiration notifications are delivered "
11005 "via invocation of a thread, since there may be an arbitrary delay between an "
11006 "expiration of the timer and the invocation of the notification thread, and "
11007 "in that delay interval, additional timer expirations may occur"
11008 msgstr ""
11009 "Timer overruns can also occur when expiration notifications are delivered "
11010 "via invocation of a thread, since there may be an arbitrary delay between an "
11011 "expiration of the timer and the invocation of the notification thread, and "
11012 "in that delay interval, additional timer expirations may occur"
11013
11014 #. type: Plain text
11015 #: build/C/man2/timer_getoverrun.2:87
11016 msgid ""
11017 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11018 "specified timer; this count may be 0 if no overruns have occurred.  On "
11019 "failure, -1 is returned, and I<errno> is set to indicate the error."
11020 msgstr ""
11021 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11022 "specified timer; this count may be 0 if no overruns have occurred.  On "
11023 "failure, -1 is returned, and I<errno> is set to indicate the error."
11024
11025 #. type: Plain text
11026 #: build/C/man2/timer_getoverrun.2:108
11027 msgid ""
11028 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11029 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11030 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11031 "application to avoid the overhead of making a system call to obtain the "
11032 "overrun count, but is a nonportable extension to POSIX.1-2001."
11033 msgstr ""
11034 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11035 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11036 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11037 "application to avoid the overhead of making a system call to obtain the "
11038 "overrun count, but is a nonportable extension to POSIX.1-2001."
11039
11040 #.  FIXME . Austin bug filed, 11 Feb 09
11041 #. type: Plain text
11042 #: build/C/man2/timer_getoverrun.2:112
11043 msgid ""
11044 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11045 "notifications using signals."
11046 msgstr ""
11047 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11048 "notifications using signals."
11049
11050 #.  Bug filed: http://bugzilla.kernel.org/show_bug.cgi?id=12665
11051 #.  http://thread.gmane.org/gmane.linux.kernel/113276/
11052 #. type: Plain text
11053 #: build/C/man2/timer_getoverrun.2:125
11054 msgid ""
11055 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11056 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11057 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11058 "not implement this feature: instead, if the timer overrun value exceeds the "
11059 "maximum representable integer, the counter cycles, starting once more from "
11060 "low values."
11061 msgstr ""
11062 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11063 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11064 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11065 "not implement this feature: instead, if the timer overrun value exceeds the "
11066 "maximum representable integer, the counter cycles, starting once more from "
11067 "low values."
11068
11069 #. type: Plain text
11070 #: build/C/man2/timer_getoverrun.2:128 build/C/man2/timer_settime.2:208
11071 msgid "See B<timer_create>(2)."
11072 msgstr "See B<timer_create>(2)."
11073
11074 #. type: Plain text
11075 #: build/C/man2/timer_getoverrun.2:138
11076 msgid ""
11077 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11078 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11079 "B<time>(7)"
11080 msgstr ""
11081 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11082 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11083 "B<time>(7)"
11084
11085 #. type: TH
11086 #: build/C/man2/timer_settime.2:23
11087 #, no-wrap
11088 msgid "TIMER_SETTIME"
11089 msgstr "TIMER_SETTIME"
11090
11091 #. type: Plain text
11092 #: build/C/man2/timer_settime.2:27
11093 msgid ""
11094 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11095 "process timer"
11096 msgstr ""
11097 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11098 "process timer"
11099
11100 #. type: Plain text
11101 #: build/C/man2/timer_settime.2:35
11102 #, no-wrap
11103 msgid ""
11104 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11105 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11106 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11107 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11108 msgstr ""
11109 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11110 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11111 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11112 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11113
11114 #. type: Plain text
11115 #: build/C/man2/timer_settime.2:47
11116 msgid ""
11117 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11118 msgstr ""
11119 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11120
11121 #. type: Plain text
11122 #: build/C/man2/timer_settime.2:60
11123 msgid ""
11124 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11125 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11126 "initial value and the new interval for the timer.  The I<itimerspec> "
11127 "structure is defined as follows:"
11128 msgstr ""
11129 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11130 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11131 "initial value and the new interval for the timer.  The I<itimerspec> "
11132 "structure is defined as follows:"
11133
11134 #. type: Plain text
11135 #: build/C/man2/timer_settime.2:67 build/C/man2/timerfd_create.2:127
11136 #, no-wrap
11137 msgid ""
11138 "struct timespec {\n"
11139 "    time_t tv_sec;                /* Seconds */\n"
11140 "    long   tv_nsec;               /* Nanoseconds */\n"
11141 "};\n"
11142 msgstr ""
11143 "struct timespec {\n"
11144 "    time_t tv_sec;                /* Seconds */\n"
11145 "    long   tv_nsec;               /* Nanoseconds */\n"
11146 "};\n"
11147
11148 #. type: Plain text
11149 #: build/C/man2/timer_settime.2:72
11150 #, no-wrap
11151 msgid ""
11152 "struct itimerspec {\n"
11153 "    struct timespec it_interval;  /* Timer interval */\n"
11154 "    struct timespec it_value;     /* Initial expiration */\n"
11155 "};\n"
11156 msgstr ""
11157 "struct itimerspec {\n"
11158 "    struct timespec it_interval;  /* Timer interval */\n"
11159 "    struct timespec it_value;     /* Initial expiration */\n"
11160 "};\n"
11161
11162 #. type: Plain text
11163 #: build/C/man2/timer_settime.2:84
11164 msgid ""
11165 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11166 "structure that allows a time value to be specified in seconds and "
11167 "nanoseconds.  These time values are measured according to the clock that was "
11168 "specified when the timer was created by B<timer_create>(2)"
11169 msgstr ""
11170 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11171 "structure that allows a time value to be specified in seconds and "
11172 "nanoseconds.  These time values are measured according to the clock that was "
11173 "specified when the timer was created by B<timer_create>(2)"
11174
11175 #. type: Plain text
11176 #: build/C/man2/timer_settime.2:98
11177 msgid ""
11178 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11179 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11180 "setting it to initially expire at the given time.  (If the timer was already "
11181 "armed, then the previous settings are overwritten.)  If I<new_value-"
11182 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11183 "the timer is disarmed."
11184 msgstr ""
11185 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11186 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11187 "setting it to initially expire at the given time.  (If the timer was already "
11188 "armed, then the previous settings are overwritten.)  If I<new_value-"
11189 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11190 "the timer is disarmed."
11191
11192 #. type: Plain text
11193 #: build/C/man2/timer_settime.2:110
11194 msgid ""
11195 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11196 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11197 "an armed timer expires, the timer is reloaded from the value specified in "
11198 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11199 "zero value then the timer expires just once, at the time specified by "
11200 "I<it_value>."
11201 msgstr ""
11202 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11203 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11204 "an armed timer expires, the timer is reloaded from the value specified in "
11205 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11206 "zero value then the timer expires just once, at the time specified by "
11207 "I<it_value>."
11208
11209 #.  By experiment: the overrun count is set correctly, for CLOCK_REALTIME.
11210 #. type: Plain text
11211 #: build/C/man2/timer_settime.2:131
11212 msgid ""
11213 "By default, the initial expiration time specified in I<new_value-"
11214 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11215 "clock at the time of the call.  This can be modified by specifying "
11216 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11217 "interpreted as an absolute value as measured on the timer's clock; that is, "
11218 "the timer will expire when the clock value reaches the value specified by "
11219 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11220 "passed, then the timer expires immediately, and the overrun count (see "
11221 "B<timer_getoverrun>(2))  will be set correctly."
11222 msgstr ""
11223 "By default, the initial expiration time specified in I<new_value-"
11224 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11225 "clock at the time of the call.  This can be modified by specifying "
11226 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11227 "interpreted as an absolute value as measured on the timer's clock; that is, "
11228 "the timer will expire when the clock value reaches the value specified by "
11229 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11230 "passed, then the timer expires immediately, and the overrun count (see "
11231 "B<timer_getoverrun>(2))  will be set correctly."
11232
11233 #.  Similar remarks might apply with respect to process and thread CPU time
11234 #.  clocks, but these clocks are not currently (2.6.28) settable on Linux.
11235 #. type: Plain text
11236 #: build/C/man2/timer_settime.2:141
11237 msgid ""
11238 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11239 "timer based on that clock is armed, then the expiration of the timer will be "
11240 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11241 "effect on relative timers based on that clock."
11242 msgstr ""
11243 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11244 "timer based on that clock is armed, then the expiration of the timer will be "
11245 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11246 "effect on relative timers based on that clock."
11247
11248 #. type: Plain text
11249 #: build/C/man2/timer_settime.2:149
11250 msgid ""
11251 "If I<old_value> is not NULL, then it returns the previous interval of the "
11252 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11253 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11254 msgstr ""
11255 "If I<old_value> is not NULL, then it returns the previous interval of the "
11256 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11257 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11258
11259 #. type: Plain text
11260 #: build/C/man2/timer_settime.2:169
11261 msgid ""
11262 "B<timer_gettime>()  returns the time until next expiration, and the "
11263 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11264 "I<curr_value>.  The time remaining until the next timer expiration is "
11265 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11266 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11267 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11268 "the timer is currently disarmed.  The timer interval is returned in "
11269 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11270 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11271 msgstr ""
11272 "B<timer_gettime>()  returns the time until next expiration, and the "
11273 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11274 "I<curr_value>.  The time remaining until the next timer expiration is "
11275 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11276 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11277 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11278 "the timer is currently disarmed.  The timer interval is returned in "
11279 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11280 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11281
11282 #. type: Plain text
11283 #: build/C/man2/timer_settime.2:178
11284 msgid ""
11285 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11286 "-1 is returned, and I<errno> is set to indicate the error."
11287 msgstr ""
11288 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11289 "-1 is returned, and I<errno> is set to indicate the error."
11290
11291 #. type: Plain text
11292 #: build/C/man2/timer_settime.2:180
11293 msgid "These functions may fail with the following errors:"
11294 msgstr "These functions may fail with the following errors:"
11295
11296 #. type: Plain text
11297 #: build/C/man2/timer_settime.2:187
11298 msgid "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11299 msgstr "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11300
11301 #.  FIXME . eventually: invalid value in flags
11302 #. type: Plain text
11303 #: build/C/man2/timer_settime.2:192
11304 msgid "I<timerid> is invalid."
11305 msgstr "I<timerid> is invalid."
11306
11307 #. type: Plain text
11308 #: build/C/man2/timer_settime.2:195
11309 msgid "B<timer_settime>()  may fail with the following errors:"
11310 msgstr "B<timer_settime>()  may fail with the following errors:"
11311
11312 #. type: Plain text
11313 #: build/C/man2/timer_settime.2:201
11314 msgid ""
11315 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11316 "negative or greater than 999,999,999."
11317 msgstr ""
11318 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11319 "negative or greater than 999,999,999."
11320
11321 #. type: Plain text
11322 #: build/C/man2/timer_settime.2:203
11323 msgid "These system calls are available since Linux 2.6."
11324 msgstr "These system calls are available since Linux 2.6."
11325
11326 #. type: Plain text
11327 #: build/C/man2/timer_settime.2:212
11328 msgid "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11329 msgstr "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11330
11331 #. type: TH
11332 #: build/C/man2/timerfd_create.2:20
11333 #, no-wrap
11334 msgid "TIMERFD_CREATE"
11335 msgstr "TIMERFD_CREATE"
11336
11337 #. type: TH
11338 #: build/C/man2/timerfd_create.2:20
11339 #, fuzzy, no-wrap
11340 #| msgid "2011-09-18"
11341 msgid "2011-09-14"
11342 msgstr "2011-09-18"
11343
11344 #. type: Plain text
11345 #: build/C/man2/timerfd_create.2:24
11346 msgid ""
11347 "timerfd_create, timerfd_settime, timerfd_gettime - timers that notify via "
11348 "file descriptors"
11349 msgstr ""
11350 "timerfd_create, timerfd_settime, timerfd_gettime - ファイルディスクリプタ経由"
11351 "で通知するタイマー"
11352
11353 #. type: Plain text
11354 #: build/C/man2/timerfd_create.2:27
11355 #, no-wrap
11356 msgid "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11357 msgstr "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11358
11359 #. type: Plain text
11360 #: build/C/man2/timerfd_create.2:29
11361 #, no-wrap
11362 msgid "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11363 msgstr "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11364
11365 #. type: Plain text
11366 #: build/C/man2/timerfd_create.2:33
11367 #, no-wrap
11368 msgid ""
11369 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11370 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11371 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11372 msgstr ""
11373 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11374 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11375 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11376
11377 #. type: Plain text
11378 #: build/C/man2/timerfd_create.2:35
11379 #, no-wrap
11380 msgid "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11381 msgstr "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11382
11383 #. type: Plain text
11384 #: build/C/man2/timerfd_create.2:48
11385 msgid ""
11386 "These system calls create and operate on a timer that delivers timer "
11387 "expiration notifications via a file descriptor.  They provide an alternative "
11388 "to the use of B<setitimer>(2)  or B<timer_create>(2), with the advantage "
11389 "that the file descriptor may be monitored by B<select>(2), B<poll>(2), and "
11390 "B<epoll>(7)."
11391 msgstr ""
11392 "これらのシステムコールは、満了通知をファイルディスクリプタ経由で配送する タイ"
11393 "マーの生成と操作を行う。 これらは、 B<setitimer>(2)  や B<timer_create>(2)  "
11394 "を用いる方法の代わりとなるものであり、このファイルディスクリプタを B<select>"
11395 "(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
11396
11397 #. type: Plain text
11398 #: build/C/man2/timerfd_create.2:60
11399 msgid ""
11400 "The use of these three system calls is analogous to the use of "
11401 "B<timer_create>(2), B<timer_settime>(2), and B<timer_gettime>(2).  (There is "
11402 "no analog of B<timer_getoverrun>(2), since that functionality is provided by "
11403 "B<read>(2), as described below.)"
11404 msgstr ""
11405 "これらのシステムコールを使うのは、それぞれ B<timer_create>(2), "
11406 "B<timer_settime>(2), B<timer_gettime>(2)  を使うのと同様である "
11407 "(B<timer_getoverrun>(2)  に対応するものはなく、以下で説明するように この機能"
11408 "は B<read>(2)  により提供される)。"
11409
11410 #. type: SS
11411 #: build/C/man2/timerfd_create.2:60
11412 #, no-wrap
11413 msgid "timerfd_create()"
11414 msgstr "timerfd_create()"
11415
11416 #. type: Plain text
11417 #: build/C/man2/timerfd_create.2:79
11418 msgid ""
11419 "B<timerfd_create>()  creates a new timer object, and returns a file "
11420 "descriptor that refers to that timer.  The I<clockid> argument specifies the "
11421 "clock that is used to mark the progress of the timer, and must be either "
11422 "B<CLOCK_REALTIME> or B<CLOCK_MONOTONIC>.  B<CLOCK_REALTIME> is a settable "
11423 "system-wide clock.  B<CLOCK_MONOTONIC> is a nonsettable clock that is not "
11424 "affected by discontinuous changes in the system clock (e.g., manual changes "
11425 "to system time).  The current value of each of these clocks can be retrieved "
11426 "using B<clock_gettime>(2)."
11427 msgstr ""
11428 "B<timerfd_create>()  は新規のタイマーオブジェクトを生成し、そのタイマーを参照"
11429 "するファイル ディスクリプタを返す。 I<clockid> 引き数は、タイマーの進捗を管理"
11430 "するためのクロックを指定するもので、 B<CLOCK_REALTIME> か B<CLOCK_MONOTONIC> "
11431 "のいずれかでなければならない。 B<CLOCK_REALTIME> はシステム全体で使用されるク"
11432 "ロックで、このクロックは変更可能である。 B<CLOCK_MONOTONIC> は変更されること"
11433 "のないクロックで、(システム時刻の手動での変更などの)  システムクロックの不連"
11434 "続な変化の影響を受けない。 これらのクロックの現在の値は B<clock_gettime>(2)  "
11435 "を使って取得できる。"
11436
11437 #. type: Plain text
11438 #: build/C/man2/timerfd_create.2:84
11439 msgid ""
11440 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
11441 "I<flags> to change the behavior of B<timerfd_create>():"
11442 msgstr ""
11443 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
11444 "ることで、 B<timerfd_create>()  の振舞いを変更することができる。"
11445
11446 #. type: TP
11447 #: build/C/man2/timerfd_create.2:84
11448 #, no-wrap
11449 msgid "B<TFD_NONBLOCK>"
11450 msgstr "B<TFD_NONBLOCK>"
11451
11452 #. type: TP
11453 #: build/C/man2/timerfd_create.2:92
11454 #, no-wrap
11455 msgid "B<TFD_CLOEXEC>"
11456 msgstr "B<TFD_CLOEXEC>"
11457
11458 #. type: Plain text
11459 #: build/C/man2/timerfd_create.2:106
11460 msgid ""
11461 "In Linux versions up to and including 2.6.26, I<flags> must be specified as "
11462 "zero."
11463 msgstr ""
11464 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
11465 "しなければならない。"
11466
11467 #. type: SS
11468 #: build/C/man2/timerfd_create.2:106
11469 #, no-wrap
11470 msgid "timerfd_settime()"
11471 msgstr "timerfd_settime()"
11472
11473 #. type: Plain text
11474 #: build/C/man2/timerfd_create.2:111
11475 msgid ""
11476 "B<timerfd_settime>()  arms (starts) or disarms (stops)  the timer referred "
11477 "to by the file descriptor I<fd>."
11478 msgstr ""
11479 "B<timerfd_settime>()  は、ファイルディスクリプタ I<fd> により参照されるタイ"
11480 "マーを開始したり停止したりする。"
11481
11482 #. type: Plain text
11483 #: build/C/man2/timerfd_create.2:120
11484 msgid ""
11485 "The I<new_value> argument specifies the initial expiration and interval for "
11486 "the timer.  The I<itimer> structure used for this argument contains two "
11487 "fields, each of which is in turn a structure of type I<timespec>:"
11488 msgstr ""
11489 "I<new_value> 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 "
11490 "(interval) を 指定する。この引き数で使用されている I<itimerspec> 構造体には "
11491 "2 つのフィールドがあり、各フィールドは I<timespec> 型の構造体である。"
11492
11493 #. type: Plain text
11494 #: build/C/man2/timerfd_create.2:132
11495 #, no-wrap
11496 msgid ""
11497 "struct itimerspec {\n"
11498 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11499 "    struct timespec it_value;     /* Initial expiration */\n"
11500 "};\n"
11501 msgstr ""
11502 "struct itimerspec {\n"
11503 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11504 "    struct timespec it_value;     /* Initial expiration */\n"
11505 "};\n"
11506
11507 #. type: Plain text
11508 #: build/C/man2/timerfd_create.2:144
11509 msgid ""
11510 "I<new_value.it_value> specifies the initial expiration of the timer, in "
11511 "seconds and nanoseconds.  Setting either field of I<new_value.it_value> to a "
11512 "nonzero value arms the timer.  Setting both fields of I<new_value.it_value> "
11513 "to zero disarms the timer."
11514 msgstr ""
11515 "I<new_value.it_value> はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 "
11516 "I<new_value.it_value> のフィールドのうち少なくとも一方に 0 以外の値を設定する"
11517 "と、 タイマーが開始される。 両方のフィールドに 0 を設定すると、タイマーが停止"
11518 "する。"
11519
11520 #. type: Plain text
11521 #: build/C/man2/timerfd_create.2:153
11522 msgid ""
11523 "Setting one or both fields of I<new_value.it_interval> to nonzero values "
11524 "specifies the period, in seconds and nanoseconds, for repeated timer "
11525 "expirations after the initial expiration.  If both fields of I<new_value."
11526 "it_interval> are zero, the timer expires just once, at the time specified by "
11527 "I<new_value.it_value>."
11528 msgstr ""
11529 "I<new_value.it_interval> はタイマーの一回目の満了後に繰り返しタイマーの満了間"
11530 "隔を、秒とナノ秒で指定する。 I<new_value.it_interval> のフィールドのうち少な"
11531 "くとも一方に 0 以外の値を設定すると、 繰り返しタイマーが有効になる。 両方の"
11532 "フィールドに 0 を設定した場合、タイマーは I<new_value.it_value> で指定された"
11533 "時間後に、一回だけ満了して停止する。"
11534
11535 #. type: Plain text
11536 #: build/C/man2/timerfd_create.2:169
11537 #, fuzzy
11538 #| msgid ""
11539 #| "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11540 #| "it_interval> specifies a time relative to the current value of the clock "
11541 #| "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11542 #| "timer (I<new_value.it_value> specifies an absolute time for the clock "
11543 #| "specified by I<clockid>; that is, the timer will expire when the value of "
11544 #| "that clock reaches the value specified in I<new_value.it_value>)."
11545 msgid ""
11546 "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11547 "it_value> specifies a time relative to the current value of the clock "
11548 "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11549 "timer (I<new_value.it_value> specifies an absolute time for the clock "
11550 "specified by I<clockid>; that is, the timer will expire when the value of "
11551 "that clock reaches the value specified in I<new_value.it_value>)."
11552 msgstr ""
11553 "I<flags> 引き数には 0 か B<TFD_TIMER_ABSTIME> を指定する。 0 は相対時刻タイ"
11554 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11555 "の現在の値からの相対的な時刻を指定する。 B<TFD_TIMER_ABSTIME> は絶対時刻タイ"
11556 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11557 "の絶対時刻を指定する。つまり、 クロックの値が I<new_value.it_interval> で指定"
11558 "された時刻に達したら、タイマーが満了する。"
11559
11560 #. type: Plain text
11561 #: build/C/man2/timerfd_create.2:180
11562 #, fuzzy
11563 #| msgid ""
11564 #| "The I<old_value> argument returns a structure containing the setting of "
11565 #| "the timer that was current at the time of the call; see the description "
11566 #| "of B<timerfd_gettime>()  following."
11567 msgid ""
11568 "If the I<old_value> argument is not NULL, then the I<itimerspec> structure "
11569 "that it points to is used to return the setting of the timer that was "
11570 "current at the time of the call; see the description of B<timerfd_gettime>"
11571 "()  following."
11572 msgstr ""
11573 "I<old_value> 引き数を通じて、 B<timerfd_settime>()  を呼び出した時点でのタイ"
11574 "マーの設定を保持した構造体が返される。 下記の B<timerfd_gettime>()  の説明を"
11575 "参照。"
11576
11577 #. type: SS
11578 #: build/C/man2/timerfd_create.2:180
11579 #, no-wrap
11580 msgid "timerfd_gettime()"
11581 msgstr "timerfd_gettime()"
11582
11583 #. type: Plain text
11584 #: build/C/man2/timerfd_create.2:189
11585 msgid ""
11586 "B<timerfd_gettime>()  returns, in I<curr_value>, an I<itimerspec> structure "
11587 "that contains the current setting of the timer referred to by the file "
11588 "descriptor I<fd>."
11589 msgstr ""
11590 "B<timerfd_gettime>()  は、ファイルディスクリプタ I<fd> で参照されるタイマーの"
11591 "現在の設定が入った I<itimerspec> 構造体を、 I<curr_value> に格納して返す。"
11592
11593 #. type: Plain text
11594 #: build/C/man2/timerfd_create.2:199
11595 msgid ""
11596 "The I<it_value> field returns the amount of time until the timer will next "
11597 "expire.  If both fields of this structure are zero, then the timer is "
11598 "currently disarmed.  This field always contains a relative value, regardless "
11599 "of whether the B<TFD_TIMER_ABSTIME> flag was specified when setting the "
11600 "timer."
11601 msgstr ""
11602 "I<it_value> フィールドは、タイマーが次に満了するまでの残り時間を返す。 この構"
11603 "造体の両方のフィールドが 0 であれば、タイマーは現在停止している。 タイマー設"
11604 "定時に B<TFD_TIMER_ABSTIME> フラグが指定されたかに関わらず、このフィールドは"
11605 "常に相対値が格納される。"
11606
11607 #. type: Plain text
11608 #: build/C/man2/timerfd_create.2:206
11609 msgid ""
11610 "The I<it_interval> field returns the interval of the timer.  If both fields "
11611 "of this structure are zero, then the timer is set to expire just once, at "
11612 "the time specified by I<curr_value.it_value>."
11613 msgstr ""
11614 "I<it_interval> フィールドは、タイマーの間隔を返す。 この構造体の両方のフィー"
11615 "ルドが 0 であれば、タイマーは I<new_value.it_value> で指定された時間後に一回"
11616 "だけ満了して停止するように設定されている。"
11617
11618 #. type: SS
11619 #: build/C/man2/timerfd_create.2:206
11620 #, no-wrap
11621 msgid "Operating on a timer file descriptor"
11622 msgstr "タイマー・ファイルディスクリプタに対する操作"
11623
11624 #. type: Plain text
11625 #: build/C/man2/timerfd_create.2:210
11626 msgid ""
11627 "The file descriptor returned by B<timerfd_create>()  supports the following "
11628 "operations:"
11629 msgstr ""
11630 "B<timerfd_create>()  が返すファイルディスクリプタは以下の操作をサポートしてい"
11631 "る。"
11632
11633 #. type: Plain text
11634 #: build/C/man2/timerfd_create.2:224
11635 msgid ""
11636 "If the timer has already expired one or more times since its settings were "
11637 "last modified using B<timerfd_settime>(), or since the last successful "
11638 "B<read>(2), then the buffer given to B<read>(2)  returns an unsigned 8-byte "
11639 "integer (I<uint64_t>)  containing the number of expirations that have "
11640 "occurred.  (The returned value is in host byte order, i.e., the native byte "
11641 "order for integers on the host machine.)"
11642 msgstr ""
11643 "B<timerfd_settime>()  を使ってタイマーの設定が最後変更されて以降、または "
11644 "B<read>(2)  の呼び出しに最後に成功して以降に、タイマーの満了が一回以上発生し"
11645 "ていれば、 B<read>(2)  に渡されたバッファに、タイマー満了回数を示す 8 バイト"
11646 "の unsigned 型の整数 (I<uint64_t>)  が返される (返される値はホストバイトオー"
11647 "ダ、つまりそのホストマシンにおける 整数の通常のバイトオーダである)。"
11648
11649 #. type: Plain text
11650 #: build/C/man2/timerfd_create.2:237
11651 msgid ""
11652 "If no timer expirations have occurred at the time of the B<read>(2), then "
11653 "the call either blocks until the next timer expiration, or fails with the "
11654 "error B<EAGAIN> if the file descriptor has been made nonblocking (via the "
11655 "use of the B<fcntl>(2)  B<F_SETFL> operation to set the B<O_NONBLOCK> flag)."
11656 msgstr ""
11657 "B<read>(2)  を行った時点でタイマーの満了が発生していなければ、 B<read>(2)  は"
11658 "停止 (block) する、もしくはファイルディスクリプタが 非停止 (nonblocking) に設"
11659 "定されている場合はエラー B<EAGAIN> で失敗する (非停止モードにするには、 "
11660 "B<fcntl>(2)  の B<F_SETFL> 命令で B<O_NONBLOCK> フラグをセットする)。"
11661
11662 #. type: Plain text
11663 #: build/C/man2/timerfd_create.2:243
11664 msgid ""
11665 "A B<read>(2)  will fail with the error B<EINVAL> if the size of the supplied "
11666 "buffer is less than 8 bytes."
11667 msgstr ""
11668 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
11669 "B<EINVAL> で失敗する。"
11670
11671 #. type: Plain text
11672 #: build/C/man2/timerfd_create.2:254
11673 msgid ""
11674 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
11675 "B<poll>(2)  B<POLLIN> flag)  if one or more timer expirations have occurred."
11676 msgstr ""
11677 "一つ以上のタイマー満了が発生していれば、 ファイルディスクリプタは読み出し可能"
11678 "となる (B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラ"
11679 "グ)。"
11680
11681 #. type: Plain text
11682 #: build/C/man2/timerfd_create.2:261
11683 msgid ""
11684 "The file descriptor also supports the other file-descriptor multiplexing "
11685 "APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
11686 msgstr ""
11687 "このファイルディスクリプタは、他のファイルディスクリプタ多重 API である "
11688 "B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
11689
11690 #. type: Plain text
11691 #: build/C/man2/timerfd_create.2:268
11692 msgid ""
11693 "When the file descriptor is no longer required it should be closed.  When "
11694 "all file descriptors associated with the same timer object have been closed, "
11695 "the timer is disarmed and its resources are freed by the kernel."
11696 msgstr ""
11697 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
11698 "る。 同じ timer オブジェクトに関連付けられたファイルディスクリプタが全て ク"
11699 "ローズされると、そのタイマーは解除され、 そのオブジェクト用の資源がカーネルに"
11700 "より解放される。"
11701
11702 #. type: Plain text
11703 #: build/C/man2/timerfd_create.2:280
11704 msgid ""
11705 "After a B<fork>(2), the child inherits a copy of the file descriptor created "
11706 "by B<timerfd_create>().  The file descriptor refers to the same underlying "
11707 "timer object as the corresponding file descriptor in the parent, and B<read>"
11708 "(2)s in the child will return information about expirations of the timer."
11709 msgstr ""
11710 "B<fork>(2)  が行われると、子プロセスは B<timerfd_create>()  により生成された"
11711 "ファイルディスクリプタのコピーを 継承する。そのファイルディスクリプタは、親プ"
11712 "ロセスの対応する ファイルディスクリプタと同じタイマーオブジェクトを参照してお"
11713 "り、 子プロセスの B<read>(2)  でも同じタイマーの満了に関する情報が返される。"
11714
11715 #. type: Plain text
11716 #: build/C/man2/timerfd_create.2:286
11717 msgid ""
11718 "A file descriptor created by B<timerfd_create>()  is preserved across "
11719 "B<execve>(2), and continues to generate timer expirations if the timer was "
11720 "armed."
11721 msgstr ""
11722 "B<execve>(2)  の前後で B<timerfd_create>()  により生成されたファイルディスク"
11723 "リプタは保持され、 タイマーが開始されていた場合にはタイマーの満了が発生し続け"
11724 "る。"
11725
11726 #. type: Plain text
11727 #: build/C/man2/timerfd_create.2:293
11728 msgid ""
11729 "On success, B<timerfd_create>()  returns a new file descriptor.  On error, "
11730 "-1 is returned and I<errno> is set to indicate the error."
11731 msgstr ""
11732 "成功すると、 B<timerfd_create>()  は新しいファイルディスクリプタを返す。 エ"
11733 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11734
11735 #. type: Plain text
11736 #: build/C/man2/timerfd_create.2:301
11737 msgid ""
11738 "B<timerfd_settime>()  and B<timerfd_gettime>()  return 0 on success; on "
11739 "error they return -1, and set I<errno> to indicate the error."
11740 msgstr ""
11741 "B<timerfd_settime>()  と B<timerfd_gettime>()  は成功すると 0 を返す。 エラー"
11742 "の場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11743
11744 #. type: Plain text
11745 #: build/C/man2/timerfd_create.2:304
11746 msgid "B<timerfd_create>()  can fail with the following errors:"
11747 msgstr "B<timerfd_create>()  は以下のエラーで失敗する可能性がある。"
11748
11749 #. type: Plain text
11750 #: build/C/man2/timerfd_create.2:312
11751 msgid ""
11752 "The I<clockid> argument is neither B<CLOCK_MONOTONIC> nor B<CLOCK_REALTIME>;"
11753 msgstr ""
11754 "I<clockid> 引き数が B<CLOCK_MONOTONIC> でも B<CLOCK_REALTIME> でもない。"
11755
11756 #. type: Plain text
11757 #: build/C/man2/timerfd_create.2:332
11758 msgid "There was insufficient kernel memory to create the timer."
11759 msgstr "タイマーを作成するのに十分なカーネルメモリがなかった。"
11760
11761 #. type: Plain text
11762 #: build/C/man2/timerfd_create.2:337
11763 msgid ""
11764 "B<timerfd_settime>()  and B<timerfd_gettime>()  can fail with the following "
11765 "errors:"
11766 msgstr ""
11767 "B<timerfd_settime>()  と B<timerfd_gettime>()  は以下のエラーで失敗する可能性"
11768 "がある。"
11769
11770 #. type: Plain text
11771 #: build/C/man2/timerfd_create.2:341
11772 msgid "I<fd> is not a valid file descriptor."
11773 msgstr "I<fd> が有効なファイルディスクリプタでない。"
11774
11775 #. type: Plain text
11776 #: build/C/man2/timerfd_create.2:352
11777 msgid "I<fd> is not a valid timerfd file descriptor."
11778 msgstr "I<fd> が有効な timerfd ファイルディスクリプタでない。"
11779
11780 #. type: Plain text
11781 #: build/C/man2/timerfd_create.2:355
11782 msgid "B<timerfd_settime>()  can also fail with the following errors:"
11783 msgstr "B<timerfd_settime>()  は以下のエラーで失敗することもある。"
11784
11785 #. type: Plain text
11786 #: build/C/man2/timerfd_create.2:361
11787 msgid ""
11788 "I<new_value> is not properly initialized (one of the I<tv_nsec> falls "
11789 "outside the range zero to 999,999,999)."
11790 msgstr ""
11791 "I<new_value> が適切に初期化されていない (I<tv_nsec> の一つが 0 から "
11792 "999,999,999 までの範囲に入っていない)。"
11793
11794 #.  This case only checked since 2.6.29, and 2.2.2[78].some-stable-version.
11795 #.  In older kernel versions, no check was made for invalid flags.
11796 #. type: Plain text
11797 #: build/C/man2/timerfd_create.2:367
11798 msgid "I<flags> is invalid."
11799 msgstr "I<flags> が無効である。"
11800
11801 #. type: Plain text
11802 #: build/C/man2/timerfd_create.2:370
11803 msgid ""
11804 "These system calls are available on Linux since kernel 2.6.25.  Library "
11805 "support is provided by glibc since version 2.8."
11806 msgstr ""
11807 "これらのシステムコールはカーネル 2.6.25 以降の Linux で利用可能である。 ライ"
11808 "ブラリ側のサポートはバージョン 2.8 以降の glibc で提供されている。"
11809
11810 #. type: Plain text
11811 #: build/C/man2/timerfd_create.2:381
11812 msgid ""
11813 "The following program creates a timer and then monitors its progress.  The "
11814 "program accepts up to three command-line arguments.  The first argument "
11815 "specifies the number of seconds for the initial expiration of the timer.  "
11816 "The second argument specifies the interval for the timer, in seconds.  The "
11817 "third argument specifies the number of times the program should allow the "
11818 "timer to expire before terminating.  The second and third command-line "
11819 "arguments are optional."
11820 msgstr ""
11821 "以下のプログラムは、タイマーを作成し、その進捗をモニターするものである。 この"
11822 "プログラムは最大で 3 個のコマンドライン引き数を取り、 第一引き数ではタイマー"
11823 "の満了時間の初期値 (秒数単位) を、 第二引き数ではタイマーの間隔 (秒数単位) "
11824 "を、 第三引き数ではタイマーが何回満了したらプログラムが終了するかを指定す"
11825 "る。 第二引き数と第三引き数は省略可能である。"
11826
11827 #. type: Plain text
11828 #: build/C/man2/timerfd_create.2:383 build/C/man2/wait.2:541
11829 msgid "The following shell session demonstrates the use of the program:"
11830 msgstr "以下のシェルのセッションはこのプログラムの使用例を示したものである。"
11831
11832 #. type: Plain text
11833 #: build/C/man2/timerfd_create.2:398
11834 #, no-wrap
11835 msgid ""
11836 "$B< a.out 3 1 100>\n"
11837 "0.000: timer started\n"
11838 "3.000: read: 1; total=1\n"
11839 "4.000: read: 1; total=2\n"
11840 "B<^Z >                 # type control-Z to suspend the program\n"
11841 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
11842 "$ B<fg>                # Resume execution after a few seconds\n"
11843 "a.out 3 1 100\n"
11844 "9.660: read: 5; total=7\n"
11845 "10.000: read: 1; total=8\n"
11846 "11.000: read: 1; total=9\n"
11847 "B<^C >                 # type control-C to suspend the program\n"
11848 msgstr ""
11849 "$B< a.out 3 1 100>\n"
11850 "0.000: timer started\n"
11851 "3.000: read: 1; total=1\n"
11852 "4.000: read: 1; total=2\n"
11853 "B<^Z >                 # type control-Z to suspend the program\n"
11854 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
11855 "$ B<fg>                # Resume execution after a few seconds\n"
11856 "a.out 3 1 100\n"
11857 "9.660: read: 5; total=7\n"
11858 "10.000: read: 1; total=8\n"
11859 "11.000: read: 1; total=9\n"
11860 "B<^C >                 # type control-C to suspend the program\n"
11861
11862 #.  The commented out code here is what we currently need until
11863 #.  the required stuff is in glibc
11864 #. /* Link with -lrt */
11865 #. #define _GNU_SOURCE
11866 #. #include <sys/syscall.h>
11867 #. #include <unistd.h>
11868 #. #include <time.h>
11869 #. #if defined(__i386__)
11870 #. #define __NR_timerfd_create 322
11871 #. #define __NR_timerfd_settime 325
11872 #. #define __NR_timerfd_gettime 326
11873 #. #endif
11874 #. static int
11875 #. timerfd_create(int clockid, int flags)
11876 #. {
11877 #.     return syscall(__NR_timerfd_create, clockid, flags);
11878 #. }
11879 #. static int
11880 #. timerfd_settime(int fd, int flags, struct itimerspec *new_value,
11881 #.         struct itimerspec *curr_value)
11882 #. {
11883 #.     return syscall(__NR_timerfd_settime, fd, flags, new_value,
11884 #.                    curr_value);
11885 #. }
11886 #. static int
11887 #. timerfd_gettime(int fd, struct itimerspec *curr_value)
11888 #. {
11889 #.     return syscall(__NR_timerfd_gettime, fd, curr_value);
11890 #. }
11891 #. #define TFD_TIMER_ABSTIME (1 << 0)
11892 #. ////////////////////////////////////////////////////////////
11893 #. type: Plain text
11894 #: build/C/man2/timerfd_create.2:447
11895 #, no-wrap
11896 msgid ""
11897 "#include E<lt>sys/timerfd.hE<gt>\n"
11898 "#include E<lt>time.hE<gt>\n"
11899 "#include E<lt>unistd.hE<gt>\n"
11900 "#include E<lt>stdlib.hE<gt>\n"
11901 "#include E<lt>stdio.hE<gt>\n"
11902 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
11903 msgstr ""
11904 "#include E<lt>sys/timerfd.hE<gt>\n"
11905 "#include E<lt>time.hE<gt>\n"
11906 "#include E<lt>unistd.hE<gt>\n"
11907 "#include E<lt>stdlib.hE<gt>\n"
11908 "#include E<lt>stdio.hE<gt>\n"
11909 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
11910
11911 #. type: Plain text
11912 #: build/C/man2/timerfd_create.2:450
11913 #, no-wrap
11914 msgid ""
11915 "#define handle_error(msg) \\e\n"
11916 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
11917 msgstr ""
11918 "#define handle_error(msg) \\e\n"
11919 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
11920
11921 #. type: Plain text
11922 #: build/C/man2/timerfd_create.2:458
11923 #, no-wrap
11924 msgid ""
11925 "static void\n"
11926 "print_elapsed_time(void)\n"
11927 "{\n"
11928 "    static struct timespec start;\n"
11929 "    struct timespec curr;\n"
11930 "    static int first_call = 1;\n"
11931 "    int secs, nsecs;\n"
11932 msgstr ""
11933 "static void\n"
11934 "print_elapsed_time(void)\n"
11935 "{\n"
11936 "    static struct timespec start;\n"
11937 "    struct timespec curr;\n"
11938 "    static int first_call = 1;\n"
11939 "    int secs, nsecs;\n"
11940
11941 #. type: Plain text
11942 #: build/C/man2/timerfd_create.2:464
11943 #, no-wrap
11944 msgid ""
11945 "    if (first_call) {\n"
11946 "        first_call = 0;\n"
11947 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
11948 "            handle_error(\"clock_gettime\");\n"
11949 "    }\n"
11950 msgstr ""
11951 "    if (first_call) {\n"
11952 "        first_call = 0;\n"
11953 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
11954 "            handle_error(\"clock_gettime\");\n"
11955 "    }\n"
11956
11957 #. type: Plain text
11958 #: build/C/man2/timerfd_create.2:467
11959 #, no-wrap
11960 msgid ""
11961 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
11962 "        handle_error(\"clock_gettime\");\n"
11963 msgstr ""
11964 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
11965 "        handle_error(\"clock_gettime\");\n"
11966
11967 #. type: Plain text
11968 #: build/C/man2/timerfd_create.2:476
11969 #, no-wrap
11970 msgid ""
11971 "    secs = curr.tv_sec - start.tv_sec;\n"
11972 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
11973 "    if (nsecs E<lt> 0) {\n"
11974 "        secs--;\n"
11975 "        nsecs += 1000000000;\n"
11976 "    }\n"
11977 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
11978 "}\n"
11979 msgstr ""
11980 "    secs = curr.tv_sec - start.tv_sec;\n"
11981 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
11982 "    if (nsecs E<lt> 0) {\n"
11983 "        secs--;\n"
11984 "        nsecs += 1000000000;\n"
11985 "    }\n"
11986 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
11987 "}\n"
11988
11989 #. type: Plain text
11990 #: build/C/man2/timerfd_create.2:485
11991 #, no-wrap
11992 msgid ""
11993 "int\n"
11994 "main(int argc, char *argv[])\n"
11995 "{\n"
11996 "    struct itimerspec new_value;\n"
11997 "    int max_exp, fd;\n"
11998 "    struct timespec now;\n"
11999 "    uint64_t exp, tot_exp;\n"
12000 "    ssize_t s;\n"
12001 msgstr ""
12002 "int\n"
12003 "main(int argc, char *argv[])\n"
12004 "{\n"
12005 "    struct itimerspec new_value;\n"
12006 "    int max_exp, fd;\n"
12007 "    struct timespec now;\n"
12008 "    uint64_t exp, tot_exp;\n"
12009 "    ssize_t s;\n"
12010
12011 #. type: Plain text
12012 #: build/C/man2/timerfd_create.2:491
12013 #, no-wrap
12014 msgid ""
12015 "    if ((argc != 2) && (argc != 4)) {\n"
12016 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12017 "                argv[0]);\n"
12018 "        exit(EXIT_FAILURE);\n"
12019 "    }\n"
12020 msgstr ""
12021 "    if ((argc != 2) && (argc != 4)) {\n"
12022 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12023 "                argv[0]);\n"
12024 "        exit(EXIT_FAILURE);\n"
12025 "    }\n"
12026
12027 #. type: Plain text
12028 #: build/C/man2/timerfd_create.2:494
12029 #, no-wrap
12030 msgid ""
12031 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12032 "        handle_error(\"clock_gettime\");\n"
12033 msgstr ""
12034 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12035 "        handle_error(\"clock_gettime\");\n"
12036
12037 #. type: Plain text
12038 #: build/C/man2/timerfd_create.2:497
12039 #, no-wrap
12040 msgid ""
12041 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12042 "       expiration and interval as specified in command line */\n"
12043 msgstr ""
12044 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12045 "       expiration and interval as specified in command line */\n"
12046
12047 #. type: Plain text
12048 #: build/C/man2/timerfd_create.2:508
12049 #, no-wrap
12050 msgid ""
12051 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12052 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12053 "    if (argc == 2) {\n"
12054 "        new_value.it_interval.tv_sec = 0;\n"
12055 "        max_exp = 1;\n"
12056 "    } else {\n"
12057 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12058 "        max_exp = atoi(argv[3]);\n"
12059 "    }\n"
12060 "    new_value.it_interval.tv_nsec = 0;\n"
12061 msgstr ""
12062 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12063 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12064 "    if (argc == 2) {\n"
12065 "        new_value.it_interval.tv_sec = 0;\n"
12066 "        max_exp = 1;\n"
12067 "    } else {\n"
12068 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12069 "        max_exp = atoi(argv[3]);\n"
12070 "    }\n"
12071 "    new_value.it_interval.tv_nsec = 0;\n"
12072
12073 #. type: Plain text
12074 #: build/C/man2/timerfd_create.2:512
12075 #, no-wrap
12076 msgid ""
12077 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12078 "    if (fd == -1)\n"
12079 "        handle_error(\"timerfd_create\");\n"
12080 msgstr ""
12081 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12082 "    if (fd == -1)\n"
12083 "        handle_error(\"timerfd_create\");\n"
12084
12085 #. type: Plain text
12086 #: build/C/man2/timerfd_create.2:515
12087 #, no-wrap
12088 msgid ""
12089 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12090 "        handle_error(\"timerfd_settime\");\n"
12091 msgstr ""
12092 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12093 "        handle_error(\"timerfd_settime\");\n"
12094
12095 #. type: Plain text
12096 #: build/C/man2/timerfd_create.2:518
12097 #, no-wrap
12098 msgid ""
12099 "    print_elapsed_time();\n"
12100 "    printf(\"timer started\\en\");\n"
12101 msgstr ""
12102 "    print_elapsed_time();\n"
12103 "    printf(\"timer started\\en\");\n"
12104
12105 #. type: Plain text
12106 #: build/C/man2/timerfd_create.2:523
12107 #, no-wrap
12108 msgid ""
12109 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12110 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12111 "        if (s != sizeof(uint64_t))\n"
12112 "            handle_error(\"read\");\n"
12113 msgstr ""
12114 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12115 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12116 "        if (s != sizeof(uint64_t))\n"
12117 "            handle_error(\"read\");\n"
12118
12119 #. type: Plain text
12120 #: build/C/man2/timerfd_create.2:530
12121 #, no-wrap
12122 msgid ""
12123 "        tot_exp += exp;\n"
12124 "        print_elapsed_time();\n"
12125 "        printf(\"read: %llu; total=%llu\\en\",\n"
12126 "                (unsigned long long) exp,\n"
12127 "                (unsigned long long) tot_exp);\n"
12128 "    }\n"
12129 msgstr ""
12130 "        tot_exp += exp;\n"
12131 "        print_elapsed_time();\n"
12132 "        printf(\"read: %llu; total=%llu\\en\",\n"
12133 "                (unsigned long long) exp,\n"
12134 "                (unsigned long long) tot_exp);\n"
12135 "    }\n"
12136
12137 #.  2.6.29
12138 #. type: Plain text
12139 #: build/C/man2/timerfd_create.2:540
12140 msgid ""
12141 "Currently, B<timerfd_create>()  supports fewer types of clock IDs than "
12142 "B<timer_create>(2)."
12143 msgstr ""
12144 "現在のところ、 B<timerfd_create>()  が対応している clockid の種類は "
12145 "B<timer_create>(2)  よりも少ない。"
12146
12147 #. type: Plain text
12148 #: build/C/man2/timerfd_create.2:552
12149 msgid ""
12150 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12151 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12152 "(2), B<epoll>(7), B<time>(7)"
12153 msgstr ""
12154 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12155 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12156 "(2), B<epoll>(7), B<time>(7)"
12157
12158 #. type: TH
12159 #: build/C/man2/tkill.2:29
12160 #, no-wrap
12161 msgid "TKILL"
12162 msgstr "TKILL"
12163
12164 #. type: Plain text
12165 #: build/C/man2/tkill.2:32
12166 msgid "tkill, tgkill - send a signal to a thread"
12167 msgstr "tkill, tgkill - スレッドにシグナルを送る"
12168
12169 #. type: Plain text
12170 #: build/C/man2/tkill.2:35
12171 #, no-wrap
12172 msgid "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12173 msgstr "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12174
12175 #. type: Plain text
12176 #: build/C/man2/tkill.2:37
12177 #, no-wrap
12178 msgid "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12179 msgstr "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12180
12181 #. type: Plain text
12182 #: build/C/man2/tkill.2:51
12183 msgid ""
12184 "B<tgkill>()  sends the signal I<sig> to the thread with the thread ID I<tid> "
12185 "in the thread group I<tgid>.  (By contrast, B<kill>(2)  can only be used to "
12186 "send a signal to a process (i.e., thread group)  as a whole, and the signal "
12187 "will be delivered to an arbitrary thread within that process.)"
12188 msgstr ""
12189 "B<tgkill>()  はスレッド・グループ I<tgid> に属するスレッド ID が I<tid> のス"
12190 "レッドにシグナル I<sig> を送る。 (これに対し、 B<kill>(2)  は一つのプロセス "
12191 "(すなわち、スレッド・グループ) にまとめてシグナルを 送るのにだけ利用できる。 "
12192 "B<kill>(2)  で送信されたシグナルはプロセス内の任意のスレッドに配送される。)"
12193
12194 #. type: Plain text
12195 #: build/C/man2/tkill.2:59
12196 msgid ""
12197 "B<tkill>()  is an obsolete predecessor to B<tgkill>().  It only allows the "
12198 "target thread ID to be specified, which may result in the wrong thread being "
12199 "signaled if a thread terminates and its thread ID is recycled.  Avoid using "
12200 "this system call."
12201 msgstr ""
12202 "B<tkill>()  はもう使われなくなった B<tgkill>()  の先祖である。 B<tkill>()  で"
12203 "はシグナルの送り先のスレッド ID しか指定できない。 そのため、スレッドが終了し"
12204 "て、そのスレッド ID が再利用される場合に、 意図しないスレッドにシグナルが送ら"
12205 "れる可能性がある。 このシステムコールの使用は避けること。"
12206
12207 #. type: Plain text
12208 #: build/C/man2/tkill.2:66
12209 msgid ""
12210 "If I<tgid> is specified as -1, B<tgkill>()  is equivalent to B<tkill>()."
12211 msgstr ""
12212 "I<tgid> に -1 が指定された場合、 B<tgkill>()  は B<tkill>()  と等価である。"
12213
12214 #. type: Plain text
12215 #: build/C/man2/tkill.2:69
12216 msgid ""
12217 "These are the raw system call interfaces, meant for internal thread library "
12218 "use."
12219 msgstr ""
12220 "これらはシステムコールへの直接のインターフェースであり、 スレッド・ライブラリ"
12221 "内部での使用を意図したものである。"
12222
12223 #. type: Plain text
12224 #: build/C/man2/tkill.2:77
12225 msgid "An invalid thread ID, thread group ID, or signal was specified."
12226 msgstr "指定されたスレッド ID、スレッドグループ ID、シグナルが不正であった。"
12227
12228 #. type: Plain text
12229 #: build/C/man2/tkill.2:82
12230 msgid "Permission denied.  For the required permissions, see B<kill>(2)."
12231 msgstr ""
12232 "許可がなかった。どのような許可が必要かについては、 B<kill>(2)  を参照のこと。"
12233
12234 #. type: Plain text
12235 #: build/C/man2/tkill.2:85
12236 msgid "No process with the specified thread ID (and thread group ID) exists."
12237 msgstr ""
12238 "指定されたスレッドID (とスレッド・グループID) を持つプロセスが存在しない。"
12239
12240 #. type: Plain text
12241 #: build/C/man2/tkill.2:90
12242 msgid ""
12243 "B<tkill>()  is supported since Linux 2.4.19 / 2.5.4.  B<tgkill>()  was added "
12244 "in Linux 2.5.75."
12245 msgstr ""
12246 "B<tkill>()  は Linux 2.4.19 / 2.5.4 以降でサポートされ、 B<tgkill>()  は "
12247 "Linux 2.5.75 で追加された。"
12248
12249 #. type: Plain text
12250 #: build/C/man2/tkill.2:96
12251 msgid ""
12252 "B<tkill>()  and B<tgkill>()  are Linux-specific and should not be used in "
12253 "programs that are intended to be portable."
12254 msgstr ""
12255 "B<tkill>()  と B<tgkill>()  は Linux 固有であり、 移植を想定したプログラムで"
12256 "は使用すべきではない。"
12257
12258 #. type: Plain text
12259 #: build/C/man2/tkill.2:102
12260 msgid ""
12261 "See the description of B<CLONE_THREAD> in B<clone>(2)  for an explanation of "
12262 "thread groups."
12263 msgstr ""
12264 "スレッド・グループの説明については B<clone>(2)  の B<CLONE_THREAD> の説明を参"
12265 "照のこと。"
12266
12267 #. type: Plain text
12268 #: build/C/man2/tkill.2:105
12269 msgid ""
12270 "Glibc does not provide wrappers for these system calls; call them using "
12271 "B<syscall>(2)."
12272 msgstr ""
12273 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
12274 "B<syscall>(2)  を使って呼び出すこと。"
12275
12276 #. type: Plain text
12277 #: build/C/man2/tkill.2:110
12278 msgid "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12279 msgstr "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12280
12281 #. type: TH
12282 #: build/C/man2/wait.2:50
12283 #, no-wrap
12284 msgid "WAIT"
12285 msgstr "WAIT"
12286
12287 #. type: Plain text
12288 #: build/C/man2/wait.2:53
12289 msgid "wait, waitpid, waitid - wait for process to change state"
12290 msgstr "wait, waitpid, waitid - プロセスの状態変化を待つ"
12291
12292 #. type: Plain text
12293 #: build/C/man2/wait.2:55
12294 msgid "B<#include E<lt>sys/types.hE<gt>>"
12295 msgstr "B<#include E<lt>sys/types.hE<gt>>"
12296
12297 #. type: Plain text
12298 #: build/C/man2/wait.2:57
12299 msgid "B<#include E<lt>sys/wait.hE<gt>>"
12300 msgstr "B<#include E<lt>sys/wait.hE<gt>>"
12301
12302 #. type: Plain text
12303 #: build/C/man2/wait.2:59
12304 msgid "B<pid_t wait(int *>I<status>B<);>"
12305 msgstr "B<pid_t wait(int *>I<status>B<);>"
12306
12307 #. type: Plain text
12308 #: build/C/man2/wait.2:61
12309 msgid ""
12310 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12311 msgstr ""
12312 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12313
12314 #. type: Plain text
12315 #: build/C/man2/wait.2:64
12316 msgid ""
12317 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12318 "int >I<options>B<);>"
12319 msgstr ""
12320 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12321 "int >I<options>B<);>"
12322
12323 #. type: Plain text
12324 #: build/C/man2/wait.2:73
12325 msgid "B<waitid>():"
12326 msgstr "B<waitid>():"
12327
12328 #. type: Plain text
12329 #: build/C/man2/wait.2:77
12330 msgid ""
12331 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12332 "_XOPEN_SOURCE_EXTENDED"
12333 msgstr ""
12334 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12335 "_XOPEN_SOURCE_EXTENDED"
12336
12337 #. type: Plain text
12338 #: build/C/man2/wait.2:92
12339 msgid ""
12340 "All of these system calls are used to wait for state changes in a child of "
12341 "the calling process, and obtain information about the child whose state has "
12342 "changed.  A state change is considered to be: the child terminated; the "
12343 "child was stopped by a signal; or the child was resumed by a signal.  In the "
12344 "case of a terminated child, performing a wait allows the system to release "
12345 "the resources associated with the child; if a wait is not performed, then "
12346 "the terminated child remains in a \"zombie\" state (see NOTES below)."
12347 msgstr ""
12348 "これらのシステムコールはいずれも、呼び出し元プロセスの子プロセスの 状態変化を"
12349 "待ち、状態が変化したその子プロセスの情報を取得するのに 使用される。 状態変化"
12350 "とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、 "
12351 "シグナルによる子プロセスの再開。 子プロセスが終了した場合は、wait を実行する"
12352 "ことで、 システムがその子プロセスに関連するリソースを解放できるようになる。 "
12353 "wait が実行されなかった場合には、終了した子プロセスは 「ゾンビ」状態で残り続"
12354 "ける (下記の注意の章を参照のこと)。"
12355
12356 #. type: Plain text
12357 #: build/C/man2/wait.2:104
12358 msgid ""
12359 "If a child has already changed state, then these calls return immediately.  "
12360 "Otherwise they block until either a child changes state or a signal handler "
12361 "interrupts the call (assuming that system calls are not automatically "
12362 "restarted using the B<SA_RESTART> flag of B<sigaction>(2)).  In the "
12363 "remainder of this page, a child whose state has changed and which has not "
12364 "yet been waited upon by one of these system calls is termed I<waitable>."
12365 msgstr ""
12366 "子プロセスの状態変化がすでに発生していた場合、これらのコールは すぐに復帰す"
12367 "る。それ以外の場合は、子プロセスの状態変化が起こるか、 シグナルハンドラにより"
12368 "システムコールが中断されるまで、 停止 (block) する (後者は、 B<sigaction>"
12369 "(2)  の B<SA_RESTART> フラグによりシステムコールが自動的に再スタートするよう"
12370 "になっていない 場合の動作である)。 以下の説明では、状態変化が起こったがこれら"
12371 "のシステムコールのいずれかに よって待たれていない子プロセスを I<waitable> (待"
12372 "ち可能) と呼ぶ。"
12373
12374 #. type: SS
12375 #: build/C/man2/wait.2:104
12376 #, no-wrap
12377 msgid "wait() and waitpid()"
12378 msgstr "wait() と waitpid()"
12379
12380 #. type: Plain text
12381 #: build/C/man2/wait.2:112
12382 msgid ""
12383 "The B<wait>()  system call suspends execution of the calling process until "
12384 "one of its children terminates.  The call I<wait(&status)> is equivalent to:"
12385 msgstr ""
12386 "B<wait>()  システムコールは、子プロセスのいずれかが終了するまで 呼び出し元の"
12387 "プロセスの実行を一時停止する。 呼び出し I<wait(&status)> は以下と等価である:"
12388
12389 #. type: Plain text
12390 #: build/C/man2/wait.2:115
12391 #, no-wrap
12392 msgid "    waitpid(-1, &status, 0);\n"
12393 msgstr "    waitpid(-1, &status, 0);\n"
12394
12395 #. type: Plain text
12396 #: build/C/man2/wait.2:129
12397 msgid ""
12398 "The B<waitpid>()  system call suspends execution of the calling process "
12399 "until a child specified by I<pid> argument has changed state.  By default, "
12400 "B<waitpid>()  waits only for terminated children, but this behavior is "
12401 "modifiable via the I<options> argument, as described below."
12402 msgstr ""
12403 "B<waitpid>()  システムコールは、 I<pid> 引き数で指定した子プロセスの状態変化"
12404 "が起こるまで、 呼び出し元のプロセスの実行を一時停止する。デフォルトでは、 "
12405 "B<waitpid>()  は子プロセスの終了だけを待つが、この動作は I<options> 引き数に"
12406 "より変更可能である。"
12407
12408 #. type: Plain text
12409 #: build/C/man2/wait.2:133
12410 msgid "The value of I<pid> can be:"
12411 msgstr "I<pid> に指定できる値は以下の通り:"
12412
12413 #. type: IP
12414 #: build/C/man2/wait.2:133
12415 #, no-wrap
12416 msgid "E<lt> -1"
12417 msgstr "E<lt> -1"
12418
12419 #. type: Plain text
12420 #: build/C/man2/wait.2:137
12421 msgid ""
12422 "meaning wait for any child process whose process group ID is equal to the "
12423 "absolute value of I<pid>."
12424 msgstr ""
12425 "プロセスグループID が I<pid> の絶対値に等しい子プロセスのいずれかが終了するま"
12426 "でを待つ。"
12427
12428 #. type: IP
12429 #: build/C/man2/wait.2:137
12430 #, no-wrap
12431 msgid "-1"
12432 msgstr "-1"
12433
12434 #. type: Plain text
12435 #: build/C/man2/wait.2:139
12436 msgid "meaning wait for any child process."
12437 msgstr "子プロセスのどれかが終了するまで待つ。"
12438
12439 #. type: IP
12440 #: build/C/man2/wait.2:139
12441 #, no-wrap
12442 msgid "0"
12443 msgstr "0"
12444
12445 #. type: Plain text
12446 #: build/C/man2/wait.2:142
12447 msgid ""
12448 "meaning wait for any child process whose process group ID is equal to that "
12449 "of the calling process."
12450 msgstr ""
12451 "プロセスグループID が呼び出したプロセスのものと等しい 子プロセスを待つ。"
12452
12453 #. type: IP
12454 #: build/C/man2/wait.2:142
12455 #, no-wrap
12456 msgid "E<gt> 0"
12457 msgstr "E<gt> 0"
12458
12459 #. type: Plain text
12460 #: build/C/man2/wait.2:146
12461 msgid ""
12462 "meaning wait for the child whose process ID is equal to the value of I<pid>."
12463 msgstr "プロセスID が I<pid> に等しい子プロセスを待つ。"
12464
12465 #. type: Plain text
12466 #: build/C/man2/wait.2:150
12467 msgid ""
12468 "The value of I<options> is an OR of zero or more of the following constants:"
12469 msgstr "I<options> の値は次の定数の 0 個以上の論理和である:"
12470
12471 #. type: TP
12472 #: build/C/man2/wait.2:150 build/C/man2/wait.2:279
12473 #, no-wrap
12474 msgid "B<WNOHANG>"
12475 msgstr "B<WNOHANG>"
12476
12477 #. type: Plain text
12478 #: build/C/man2/wait.2:153
12479 msgid "return immediately if no child has exited."
12480 msgstr "状態変化が起こった子プロセスがない場合にすぐに復帰する。"
12481
12482 #. type: TP
12483 #: build/C/man2/wait.2:153
12484 #, no-wrap
12485 msgid "B<WUNTRACED>"
12486 msgstr "B<WUNTRACED>"
12487
12488 #. type: Plain text
12489 #: build/C/man2/wait.2:162
12490 msgid ""
12491 "also return if a child has stopped (but not traced via B<ptrace>(2)).  "
12492 "Status for I<traced> children which have stopped is provided even if this "
12493 "option is not specified."
12494 msgstr ""
12495 "子プロセスが停止した場合にも復帰する (子プロセスが B<ptrace>(2)  でトレースさ"
12496 "れている場合は除く)。 このオプションが指定されていない場合でも、停止したプロ"
12497 "セスが 「トレース (traced)」されていれば、子プロセスの状態が報告される。"
12498
12499 #. type: TP
12500 #: build/C/man2/wait.2:162
12501 #, no-wrap
12502 msgid "B<WCONTINUED> (since Linux 2.6.10)"
12503 msgstr "B<WCONTINUED> (Linux 2.6.10 以降)"
12504
12505 #. type: Plain text
12506 #: build/C/man2/wait.2:166
12507 msgid ""
12508 "also return if a stopped child has been resumed by delivery of B<SIGCONT>."
12509 msgstr "停止した子プロセスが B<SIGCONT> の配送により再開した場合にも復帰する。"
12510
12511 #. type: Plain text
12512 #: build/C/man2/wait.2:168
12513 msgid "(For Linux-only options, see below.)"
12514 msgstr "(Linux 専用オプションについては後述する)"
12515
12516 #. type: Plain text
12517 #: build/C/man2/wait.2:182
12518 msgid ""
12519 "If I<status> is not NULL, B<wait>()  and B<waitpid>()  store status "
12520 "information in the I<int> to which it points.  This integer can be inspected "
12521 "with the following macros (which take the integer itself as an argument, not "
12522 "a pointer to it, as is done in B<wait>()  and B<waitpid>()!):"
12523 msgstr ""
12524 "I<status> が NULL でなければ、 B<wait>()  や B<waitpid>()  は I<status> で指"
12525 "す I<int> に状態情報を格納する。 この整数は以下のマクロを使って検査できる。 "
12526 "(これらのマクロの引き数には、 B<wait>()  や B<waitpid>()  が書き込んだ整数そ"
12527 "のものを指定する。ポインタではない!)"
12528
12529 #. type: TP
12530 #: build/C/man2/wait.2:182
12531 #, no-wrap
12532 msgid "B<WIFEXITED(>I<status>B<)>"
12533 msgstr "B<WIFEXITED(>I<status>B<)>"
12534
12535 #. type: Plain text
12536 #: build/C/man2/wait.2:190
12537 msgid ""
12538 "returns true if the child terminated normally, that is, by calling B<exit>"
12539 "(3)  or B<_exit>(2), or by returning from main()."
12540 msgstr ""
12541 "子プロセスが正常に終了した場合に真を返す。 「正常に」とは、 B<exit>(3)  か "
12542 "B<_exit>(2)  が呼び出された場合、もしくは main() から復帰した場合である。"
12543
12544 #. type: TP
12545 #: build/C/man2/wait.2:190
12546 #, no-wrap
12547 msgid "B<WEXITSTATUS(>I<status>B<)>"
12548 msgstr "B<WEXITSTATUS(>I<status>B<)>"
12549
12550 #. type: Plain text
12551 #: build/C/man2/wait.2:203
12552 msgid ""
12553 "returns the exit status of the child.  This consists of the least "
12554 "significant 8 bits of the I<status> argument that the child specified in a "
12555 "call to B<exit>(3)  or B<_exit>(2)  or as the argument for a return "
12556 "statement in main().  This macro should only be employed if B<WIFEXITED> "
12557 "returned true."
12558 msgstr ""
12559 "子プロセスの終了ステータスを返す。 終了ステータスは I<status> 引き数の下位 8"
12560 "ビットで構成されており、 B<exit>(3)  や B<_exit>(2)  の呼び出し時に渡された"
12561 "値、もしくは main() の return 文の 引き数として指定された値である。 このマク"
12562 "ロを使用するのは B<WIFEXITED> が真を返した場合だけにすべきである。"
12563
12564 #. type: TP
12565 #: build/C/man2/wait.2:203
12566 #, no-wrap
12567 msgid "B<WIFSIGNALED(>I<status>B<)>"
12568 msgstr "B<WIFSIGNALED(>I<status>B<)>"
12569
12570 #. type: Plain text
12571 #: build/C/man2/wait.2:206
12572 msgid "returns true if the child process was terminated by a signal."
12573 msgstr "子プロセスがシグナルにより終了した場合に真を返す。"
12574
12575 #. type: TP
12576 #: build/C/man2/wait.2:206
12577 #, no-wrap
12578 msgid "B<WTERMSIG(>I<status>B<)>"
12579 msgstr "B<WTERMSIG(>I<status>B<)>"
12580
12581 #. type: Plain text
12582 #: build/C/man2/wait.2:213
12583 msgid ""
12584 "returns the number of the signal that caused the child process to "
12585 "terminate.  This macro should only be employed if B<WIFSIGNALED> returned "
12586 "true."
12587 msgstr ""
12588 "子プロセス終了の原因となったシグナルの番号を返す。 このマクロを使用するのは "
12589 "B<WIFSIGNALED> が真を返した場合だけにすべきである。"
12590
12591 #. type: TP
12592 #: build/C/man2/wait.2:213
12593 #, no-wrap
12594 msgid "B<WCOREDUMP(>I<status>B<)>"
12595 msgstr "B<WCOREDUMP(>I<status>B<)>"
12596
12597 #. type: Plain text
12598 #: build/C/man2/wait.2:222
12599 msgid ""
12600 "returns true if the child produced a core dump.  This macro should only be "
12601 "employed if B<WIFSIGNALED> returned true.  This macro is not specified in "
12602 "POSIX.1-2001 and is not available on some UNIX implementations (e.g., AIX, "
12603 "SunOS).  Only use this enclosed in #ifdef WCOREDUMP ... #endif."
12604 msgstr ""
12605 "子プロセスがコアダンプを生成した場合に真を返す。 このマクロを使用するのは "
12606 "B<WIFSIGNALED> が真を返した場合だけにすべきである。 このマクロは "
12607 "POSIX.1-2001 では規定されておらず、 (AIX, SunOS などの) いくつかの UNIX の実"
12608 "装では利用できない。 必ず #ifdef WCOREDUMP ... #endif で括って使用すること。"
12609
12610 #. type: TP
12611 #: build/C/man2/wait.2:222
12612 #, no-wrap
12613 msgid "B<WIFSTOPPED(>I<status>B<)>"
12614 msgstr "B<WIFSTOPPED(>I<status>B<)>"
12615
12616 #. type: Plain text
12617 #: build/C/man2/wait.2:229
12618 msgid ""
12619 "returns true if the child process was stopped by delivery of a signal; this "
12620 "is only possible if the call was done using B<WUNTRACED> or when the child "
12621 "is being traced (see B<ptrace>(2))."
12622 msgstr ""
12623 "子プロセスがシグナルの配送により停止した場合に真を返す。 これが真になるのは、"
12624 "システムコールが B<WUNTRACED> を指定して呼び出された場合か、子プロセスがト"
12625 "レースされている場合 (B<ptrace>(2)  参照) だけである。"
12626
12627 #. type: TP
12628 #: build/C/man2/wait.2:229
12629 #, no-wrap
12630 msgid "B<WSTOPSIG(>I<status>B<)>"
12631 msgstr "B<WSTOPSIG(>I<status>B<)>"
12632
12633 #. type: Plain text
12634 #: build/C/man2/wait.2:235
12635 msgid ""
12636 "returns the number of the signal which caused the child to stop.  This macro "
12637 "should only be employed if B<WIFSTOPPED> returned true."
12638 msgstr ""
12639 "子プロセスを停止させたシグナルの番号を返す。 このマクロを使用するのは "
12640 "B<WIFSTOPPED> が 0 以外を返した場合だけにすべきである。"
12641
12642 #. type: TP
12643 #: build/C/man2/wait.2:235
12644 #, no-wrap
12645 msgid "B<WIFCONTINUED(>I<status>B<)>"
12646 msgstr "B<WIFCONTINUED(>I<status>B<)>"
12647
12648 #. type: Plain text
12649 #: build/C/man2/wait.2:240
12650 msgid ""
12651 "(since Linux 2.6.10)  returns true if the child process was resumed by "
12652 "delivery of B<SIGCONT>."
12653 msgstr ""
12654 "(Linux 2.6.10 以降)  子プロセスが B<SIGCONT> の配送により再開した場合に真を返"
12655 "す。"
12656
12657 #. type: SS
12658 #: build/C/man2/wait.2:240
12659 #, no-wrap
12660 msgid "waitid()"
12661 msgstr "waitid()"
12662
12663 #. type: Plain text
12664 #: build/C/man2/wait.2:245
12665 msgid ""
12666 "The B<waitid>()  system call (available since Linux 2.6.9) provides more "
12667 "precise control over which child state changes to wait for."
12668 msgstr ""
12669 "B<waitid>()  システムコール (Linux 2.6.9 以降で利用可能) を使うと、 子プロセ"
12670 "スのどの状態変化を待つかについてより細かな制御ができる。"
12671
12672 #. type: Plain text
12673 #: build/C/man2/wait.2:251
12674 msgid ""
12675 "The I<idtype> and I<id> arguments select the child(ren) to wait for, as "
12676 "follows:"
12677 msgstr "引き数 I<idtype> と I<id> でどの子プロセスを待つかを選択する:"
12678
12679 #. type: IP
12680 #: build/C/man2/wait.2:251
12681 #, no-wrap
12682 msgid "I<idtype> == B<P_PID>"
12683 msgstr "I<idtype> == B<P_PID>"
12684
12685 #. type: Plain text
12686 #: build/C/man2/wait.2:254
12687 msgid "Wait for the child whose process ID matches I<id>."
12688 msgstr "プロセスID が I<id> と一致する子プロセスを待つ。"
12689
12690 #. type: IP
12691 #: build/C/man2/wait.2:254
12692 #, no-wrap
12693 msgid "I<idtype> == B<P_PGID>"
12694 msgstr "I<idtype> == B<P_PGID>"
12695
12696 #. type: Plain text
12697 #: build/C/man2/wait.2:257
12698 msgid "Wait for any child whose process group ID matches I<id>."
12699 msgstr "プロセスグループID が I<id> と一致する子プロセスを待つ。"
12700
12701 #. type: IP
12702 #: build/C/man2/wait.2:257
12703 #, no-wrap
12704 msgid "I<idtype> == B<P_ALL>"
12705 msgstr "I<idtype> == B<P_ALL>"
12706
12707 #. type: Plain text
12708 #: build/C/man2/wait.2:261
12709 msgid "Wait for any child; I<id> is ignored."
12710 msgstr "子プロセス全部を対象に待つ。 I<id> は無視される。"
12711
12712 #. type: Plain text
12713 #: build/C/man2/wait.2:265
12714 msgid ""
12715 "The child state changes to wait for are specified by ORing one or more of "
12716 "the following flags in I<options>:"
12717 msgstr ""
12718 "子プロセスのどの状態変化を待つかは以下のフラグで指定する (I<options> には 1個"
12719 "以上のフラグの論理和をとって指定する):"
12720
12721 #. type: TP
12722 #: build/C/man2/wait.2:265
12723 #, no-wrap
12724 msgid "B<WEXITED>"
12725 msgstr "B<WEXITED>"
12726
12727 #. type: Plain text
12728 #: build/C/man2/wait.2:268
12729 msgid "Wait for children that have terminated."
12730 msgstr "子プロセスの終了を待つ。"
12731
12732 #. type: TP
12733 #: build/C/man2/wait.2:268
12734 #, no-wrap
12735 msgid "B<WSTOPPED>"
12736 msgstr "B<WSTOPPED>"
12737
12738 #. type: Plain text
12739 #: build/C/man2/wait.2:271
12740 msgid "Wait for children that have been stopped by delivery of a signal."
12741 msgstr "子プロセスがシグナルの配送により停止するのを待つ。"
12742
12743 #. type: TP
12744 #: build/C/man2/wait.2:271
12745 #, no-wrap
12746 msgid "B<WCONTINUED>"
12747 msgstr "B<WCONTINUED>"
12748
12749 #. type: Plain text
12750 #: build/C/man2/wait.2:276
12751 msgid ""
12752 "Wait for (previously stopped) children that have been resumed by delivery of "
12753 "B<SIGCONT>."
12754 msgstr "(停止していた) 子プロセスが B<SIGCONT> が配送されて再開するのを待つ。"
12755
12756 #. type: Plain text
12757 #: build/C/man2/wait.2:279
12758 msgid "The following flags may additionally be ORed in I<options>:"
12759 msgstr "さらに以下のフラグを論理和の形で I<options> に指定できる:"
12760
12761 #. type: Plain text
12762 #: build/C/man2/wait.2:283
12763 msgid "As for B<waitpid>()."
12764 msgstr "B<waitpid>()  と同様。"
12765
12766 #. type: TP
12767 #: build/C/man2/wait.2:283
12768 #, no-wrap
12769 msgid "B<WNOWAIT>"
12770 msgstr "B<WNOWAIT>"
12771
12772 #. type: Plain text
12773 #: build/C/man2/wait.2:287
12774 msgid ""
12775 "Leave the child in a waitable state; a later wait call can be used to again "
12776 "retrieve the child status information."
12777 msgstr ""
12778 "waitable 状態のプロセスをそのままにする。この後で wait コールを 使って、同じ"
12779 "子プロセスの状態情報をもう一度取得することができる。"
12780
12781 #. type: Plain text
12782 #: build/C/man2/wait.2:294
12783 msgid ""
12784 "Upon successful return, B<waitid>()  fills in the following fields of the "
12785 "I<siginfo_t> structure pointed to by I<infop>:"
12786 msgstr ""
12787 "成功した場合には、 B<waitid>()  は I<infop> が指す I<siginfo_t> 構造体の以下"
12788 "のフィールドを設定する:"
12789
12790 #. type: Plain text
12791 #: build/C/man2/wait.2:297
12792 msgid "The process ID of the child."
12793 msgstr "子プロセスのプロセスID。"
12794
12795 #. type: Plain text
12796 #: build/C/man2/wait.2:301
12797 msgid ""
12798 "The real user ID of the child.  (This field is not set on most other "
12799 "implementations.)"
12800 msgstr ""
12801 "子プロセスの実ユーザID (このフィールドは他のほとんどの実装では設定されない)。"
12802
12803 #. type: Plain text
12804 #: build/C/man2/wait.2:305
12805 msgid "Always set to B<SIGCHLD>."
12806 msgstr "常に B<SIGCHLD> が設定される。"
12807
12808 #. type: TP
12809 #: build/C/man2/wait.2:305
12810 #, no-wrap
12811 msgid "I<si_status>"
12812 msgstr "I<si_status>"
12813
12814 #. type: Plain text
12815 #: build/C/man2/wait.2:315
12816 msgid ""
12817 "Either the exit status of the child, as given to B<_exit>(2)  (or B<exit>"
12818 "(3)), or the signal that caused the child to terminate, stop, or continue.  "
12819 "The I<si_code> field can be used to determine how to interpret this field."
12820 msgstr ""
12821 "B<_exit>(2)  (か B<exit>(3))  に指定された子プロセスの終了ステータス、もしく"
12822 "は 子プロセスの終了、停止、再開の原因となったシグナルが設定される。 この"
12823 "フィールドをどう解釈するかは、 I<si_code> フィールドを参照して決めることがで"
12824 "きる。"
12825
12826 #. type: Plain text
12827 #: build/C/man2/wait.2:332
12828 msgid ""
12829 "Set to one of: B<CLD_EXITED> (child called B<_exit>(2)); B<CLD_KILLED> "
12830 "(child killed by signal); B<CLD_DUMPED> (child killed by signal, and dumped "
12831 "core); B<CLD_STOPPED> (child stopped by signal); B<CLD_TRAPPED> (traced "
12832 "child has trapped); or B<CLD_CONTINUED> (child continued by B<SIGCONT>)."
12833 msgstr ""
12834 "以下のいずれかが設定される: B<CLD_EXITED> (子プロセスが B<_exit>(2)  を呼び出"
12835 "した); B<CLD_KILLED> (シグナルにより子プロセスが kill された); B<CLD_DUMPED> "
12836 "(シグナルにより子プロセスが kill され、コア・ダンプが行われた); "
12837 "B<CLD_STOPPED> (シグナルにより子プロセスが停止した); B<CLD_TRAPPED> (トレース"
12838 "されていた子プロセスがトラップを受信した); B<CLD_CONTINUED> (B<SIGCONT> によ"
12839 "り子プロセスが再開された)。"
12840
12841 #.  POSIX.1-2001 leaves this possibility unspecified; most
12842 #.  implementations (including Linux) zero out the structure
12843 #.  in this case, but at at least one implementation (AIX 5.1)
12844 #.  does not -- MTK Nov 04
12845 #. type: Plain text
12846 #: build/C/man2/wait.2:354
12847 msgid ""
12848 "If B<WNOHANG> was specified in I<options> and there were no children in a "
12849 "waitable state, then B<waitid>()  returns 0 immediately and the state of the "
12850 "I<siginfo_t> structure pointed to by I<infop> is unspecified.  To "
12851 "distinguish this case from that where a child was in a waitable state, zero "
12852 "out the I<si_pid> field before the call and check for a nonzero value in "
12853 "this field after the call returns."
12854 msgstr ""
12855 "B<WNOHANG> が I<options> に指定されていて、 waitable 状態の子プロセスがなかっ"
12856 "た場合には、 B<waitid>()  はすぐに 0 を返す。このとき、 I<infop> が指す "
12857 "I<siginfo_t> 構造体の内容は不定である。 この場合を waitable 状態の子プロセス"
12858 "があった場合と区別するには、 B<waitid>()  を呼び出す前に I<si_pid> を 0 にし"
12859 "ておき、コールが復帰した後でこのフィールドが 0 以外の値かどうか をチェックす"
12860 "ればよい。"
12861
12862 #. type: Plain text
12863 #: build/C/man2/wait.2:358
12864 msgid ""
12865 "B<wait>(): on success, returns the process ID of the terminated child; on "
12866 "error, -1 is returned."
12867 msgstr ""
12868 "B<wait>(): 成功すると、終了した子プロセスのプロセスID を返す。 エラーの場合 "
12869 "-1 を返す。"
12870
12871 #. type: Plain text
12872 #: build/C/man2/wait.2:367
12873 msgid ""
12874 "B<waitpid>(): on success, returns the process ID of the child whose state "
12875 "has changed; if B<WNOHANG> was specified and one or more child(ren) "
12876 "specified by I<pid> exist, but have not yet changed state, then 0 is "
12877 "returned.  On error, -1 is returned."
12878 msgstr ""
12879 "B<waitpid>(): 成功すると、状態が変化した子プロセスのプロセスID を返す。 "
12880 "B<WNOHANG> が指定されていて、 I<pid> で指示された子プロセスが一つ以上存在する"
12881 "が、どの子プロセスでも 状態変化が起こっていなかった場合は、 0 を返す。 エラー"
12882 "の場合 -1 を返す。"
12883
12884 #.  FIXME: As reported by Vegard Nossum, if infop is NULL, then waitid()
12885 #.  returns the PID of the child.  Either this is a bug, or it is intended
12886 #.  behavior that needs to be documented.  See my Jan 2009 LKML mail
12887 #.  "waitid() return value strangeness when infop is NULL".
12888 #. type: Plain text
12889 #: build/C/man2/wait.2:383
12890 msgid ""
12891 "B<waitid>(): returns 0 on success or if B<WNOHANG> was specified and no child"
12892 "(ren) specified by I<id> has yet changed state; on error, -1 is returned.  "
12893 "Each of these calls sets I<errno> to an appropriate value in the case of an "
12894 "error."
12895 msgstr ""
12896 "B<waitid>(): 成功すると 0 を返す。 B<WNOHANG> が指定されていて、 I<pid> で指"
12897 "示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。 エラーの"
12898 "場合 -1 を返す。 エラーの場合、これらのシステムコールはいずれも I<errno> に適"
12899 "切な値を設定する。"
12900
12901 #. type: TP
12902 #: build/C/man2/wait.2:384 build/C/man2/wait.2:389
12903 #, no-wrap
12904 msgid "B<ECHILD>"
12905 msgstr "B<ECHILD>"
12906
12907 #. type: Plain text
12908 #: build/C/man2/wait.2:389
12909 msgid ""
12910 "(for B<wait>())  The calling process does not have any unwaited-for children."
12911 msgstr ""
12912 "(B<wait>()  の場合)  呼び出し元プロセスには、wait を行っていない子プロセスは"
12913 "ない。"
12914
12915 #. type: Plain text
12916 #: build/C/man2/wait.2:409
12917 msgid ""
12918 "(for B<waitpid>()  or B<waitid>())  The process specified by I<pid> "
12919 "(B<waitpid>())  or I<idtype> and I<id> (B<waitid>())  does not exist or is "
12920 "not a child of the calling process.  (This can happen for one's own child if "
12921 "the action for B<SIGCHLD> is set to B<SIG_IGN>.  See also the I<Linux Notes> "
12922 "section about threads.)"
12923 msgstr ""
12924 "(B<waitpid>()  か B<waitid>()  の場合)  I<pid> (B<waitpid>())  か I<idtype> "
12925 "と I<id> (B<waitid>())  で指定したプロセスが存在しないか、呼び出し元プロセス"
12926 "の子プロセスでない (B<SIGCHLD> の動作に B<SIG_IGN> を設定した場合には、自分自"
12927 "身の子プロセスでも起こりうる。 スレッドに関しては「Linux での注意」の節も参照"
12928 "すること)。"
12929
12930 #. type: Plain text
12931 #: build/C/man2/wait.2:416
12932 msgid ""
12933 "B<WNOHANG> was not set and an unblocked signal or a B<SIGCHLD> was caught; "
12934 "see B<signal>(7)."
12935 msgstr ""
12936 "B<WNOHANG> が設定されておらず、禁止 (block) されていないシグナルや "
12937 "B<SIGCHLD> を受信した。 B<signal>(7)  参照。"
12938
12939 #. type: Plain text
12940 #: build/C/man2/wait.2:421
12941 msgid "The I<options> argument was invalid."
12942 msgstr "I<options> 引き数が不正である。"
12943
12944 #. type: Plain text
12945 #: build/C/man2/wait.2:436
12946 msgid ""
12947 "A child that terminates, but has not been waited for becomes a \"zombie\".  "
12948 "The kernel maintains a minimal set of information about the zombie process "
12949 "(PID, termination status, resource usage information)  in order to allow the "
12950 "parent to later perform a wait to obtain information about the child.  As "
12951 "long as a zombie is not removed from the system via a wait, it will consume "
12952 "a slot in the kernel process table, and if this table fills, it will not be "
12953 "possible to create further processes.  If a parent process terminates, then "
12954 "its \"zombie\" children (if any)  are adopted by B<init>(8), which "
12955 "automatically performs a wait to remove the zombies."
12956 msgstr ""
12957 "終了したが、wait されていない子プロセスは「ゾンビ」になる。 後で親プロセスが "
12958 "wait を実行して子プロセスについての情報を取得できるように、 カーネルはゾンビ"
12959 "プロセスについて最小限の情報 (PID、終了ステータス、 リソース使用状況) を保持"
12960 "する。 ゾンビプロセスは、 wait によってシステムから削除されない限り、 カーネ"
12961 "ルのプロセステーブルの 1 エントリを消費する。このプロセステーブルが 一杯にな"
12962 "ると、新たにプロセスを作ることができなくなる。 親プロセスが終了すると、その親"
12963 "プロセスの「ゾンビ」の 子プロセスは (もしあれば)  B<init>(8)  の養子となる。 "
12964 "B<init>(8)  は wait を自動的に実行し、ゾンビを削除する。"
12965
12966 #. type: Plain text
12967 #: build/C/man2/wait.2:477
12968 msgid ""
12969 "POSIX.1-2001 specifies that if the disposition of B<SIGCHLD> is set to "
12970 "B<SIG_IGN> or the B<SA_NOCLDWAIT> flag is set for B<SIGCHLD> (see "
12971 "B<sigaction>(2)), then children that terminate do not become zombies and a "
12972 "call to B<wait>()  or B<waitpid>()  will block until all children have "
12973 "terminated, and then fail with I<errno> set to B<ECHILD>.  (The original "
12974 "POSIX standard left the behavior of setting B<SIGCHLD> to B<SIG_IGN> "
12975 "unspecified.  Note that even though the default disposition of B<SIGCHLD> is "
12976 "\"ignore\", explicitly setting the disposition to B<SIG_IGN> results in "
12977 "different treatment of zombie process children.)  Linux 2.6 conforms to this "
12978 "specification.  However, Linux 2.4 (and earlier) does not: if a B<wait>()  "
12979 "or B<waitpid>()  call is made while B<SIGCHLD> is being ignored, the call "
12980 "behaves just as though B<SIGCHLD> were not being ignored, that is, the call "
12981 "blocks until the next child terminates and then returns the process ID and "
12982 "status of that child."
12983 msgstr ""
12984 "POSIX.1-2001 では以下のように規定されている。 B<SIGCHLD> の動作が B<SIG_IGN> "
12985 "に設定されたか、 B<SIGCHLD> に対して B<SA_NOCLDWAIT> フラグが設定された場合 "
12986 "(B<sigaction>(2)  参照)、終了した子プロセスはゾンビにはならず、 B<wait>()  "
12987 "や B<waitpid>()  の呼び出しは全ての子プロセスが終了するまで停止し、 子プロセ"
12988 "スが全部終了した後 I<errno> に B<ECHILD> を設定して失敗する。 (もともとの "
12989 "POSIX 標準は B<SIGCHLD> に B<SIG_IGN> を設定した場合の振る舞いを未規定のまま"
12990 "にしている。 B<SIGCHLD> のデフォルトの動作が「無視」であるにもかかわらず、 "
12991 "B<SIGCHLD> の動作として B<SIG_IGN> を明示的に設定した場合にはゾンビプロセスの"
12992 "子プロセスの扱いが 異なる点に注意すること。)  Linux 2.6 はこの仕様に準拠して"
12993 "いる。 しかし、Linux 2.4 (とそれ以前のバージョン) はそうではない: B<SIGCHLD> "
12994 "が無視される状態で B<wait>()  または B<waitpid>()  が呼び出された場合、 "
12995 "B<SIGCHLD> が無視されていないかのように振る舞う。 つまり、呼び出しによって次"
12996 "の子プロセスの終了までブロックされ、 終了した子プロセスの PID と状態が返され"
12997 "る。"
12998
12999 #. type: Plain text
13000 #: build/C/man2/wait.2:493
13001 msgid ""
13002 "In the Linux kernel, a kernel-scheduled thread is not a distinct construct "
13003 "from a process.  Instead, a thread is simply a process that is created using "
13004 "the Linux-unique B<clone>(2)  system call; other routines such as the "
13005 "portable B<pthread_create>(3)  call are implemented using B<clone>(2).  "
13006 "Before Linux 2.4, a thread was just a special case of a process, and as a "
13007 "consequence one thread could not wait on the children of another thread, "
13008 "even when the latter belongs to the same thread group.  However, POSIX "
13009 "prescribes such functionality, and since Linux 2.4 a thread can, and by "
13010 "default will, wait on children of other threads in the same thread group."
13011 msgstr ""
13012 "Linux カーネルでは、カーネルによってスケジュールされるスレッドは プロセスと明"
13013 "確に区別できる構成要素ではない。スレッドは Linux 固有の B<clone>(2)  システム"
13014 "コールを使用して生成されるプロセスに過ぎない。 移植性のある B<pthread_create>"
13015 "(3)  コールのような他のルーチンは B<clone>(2)  を使用して実装されている; これ"
13016 "らでは B<waitid>()  を使うことはできない。 Linux 2.4 より前では、スレッドは単"
13017 "に特殊なプロセスであったので、 例え同じスレッドグループであっても、 あるス"
13018 "レッドが別のスレッドの子プロセスが終了するのを待つことは出来なかった。 しか"
13019 "し、POSIX ではこのような機能を規定しており、 Linux 2.4 以降では、あるスレッド"
13020 "が同じスレッドグループの他のスレッドの 子プロセスが終了するのを待つことができ"
13021 "るようになった。 そして将来はこれがデフォルトの動作になるであろう。"
13022
13023 #. type: Plain text
13024 #: build/C/man2/wait.2:500
13025 msgid ""
13026 "The following Linux-specific I<options> are for use with children created "
13027 "using B<clone>(2); they cannot be used with B<waitid>():"
13028 msgstr ""
13029 "B<clone>(2)  を用いて作られた子プロセスには、以下の Linux 固有の I<options> "
13030 "が使用できる。"
13031
13032 #. type: TP
13033 #: build/C/man2/wait.2:500
13034 #, no-wrap
13035 msgid "B<__WCLONE>"
13036 msgstr "B<__WCLONE>"
13037
13038 #.  since 0.99pl10
13039 #. type: Plain text
13040 #: build/C/man2/wait.2:511
13041 msgid ""
13042 "Wait for \"clone\" children only.  If omitted then wait for \"non-clone\" "
13043 "children only.  (A \"clone\" child is one which delivers no signal, or a "
13044 "signal other than B<SIGCHLD> to its parent upon termination.)  This option "
13045 "is ignored if B<__WALL> is also specified."
13046 msgstr ""
13047 "\"clone\" な子プロセスだけを待つ。 指定されなかった場合は非 \"clone\" な子プ"
13048 "ロセスだけを待つ (\"clone\" な子プロセスは、終了時に親プロセスへ全くシグナル"
13049 "を送らないか、 B<SIGCHLD> 以外のシグナルを送る)。 このオプションは B<__WALL> "
13050 "も指定された場合は無視される。"
13051
13052 #. type: TP
13053 #: build/C/man2/wait.2:511
13054 #, no-wrap
13055 msgid "B<__WALL> (since Linux 2.4)"
13056 msgstr "B<__WALL> (Linux 2.4 以降)"
13057
13058 #.  since patch-2.3.48
13059 #. type: Plain text
13060 #: build/C/man2/wait.2:516
13061 msgid "Wait for all children, regardless of type (\"clone\" or \"non-clone\")."
13062 msgstr "\"clone\" であるかないかに関わらず、 全ての子プロセスを待つ。"
13063
13064 #. type: TP
13065 #: build/C/man2/wait.2:516
13066 #, no-wrap
13067 msgid "B<__WNOTHREAD> (since Linux 2.4)"
13068 msgstr "B<__WNOTHREAD> (Linux 2.4 以降)"
13069
13070 #.  since patch-2.4.0-test8
13071 #. type: Plain text
13072 #: build/C/man2/wait.2:522
13073 msgid ""
13074 "Do not wait for children of other threads in the same thread group.  This "
13075 "was the default before Linux 2.4."
13076 msgstr ""
13077 "同じスレッドグループの他のスレッドの子プロセスは待たない。 Linux 2.4 より前で"
13078 "はデフォルトであった。"
13079
13080 #.  fork.2 refers to this example program.
13081 #. type: Plain text
13082 #: build/C/man2/wait.2:539
13083 msgid ""
13084 "The following program demonstrates the use of B<fork>(2)  and B<waitpid>().  "
13085 "The program creates a child process.  If no command-line argument is "
13086 "supplied to the program, then the child suspends its execution using B<pause>"
13087 "(2), to allow the user to send signals to the child.  Otherwise, if a "
13088 "command-line argument is supplied, then the child exits immediately, using "
13089 "the integer supplied on the command line as the exit status.  The parent "
13090 "process executes a loop that monitors the child using B<waitpid>(), and uses "
13091 "the W*() macros described above to analyze the wait status value."
13092 msgstr ""
13093 "以下のプログラムは、 B<fork>(2)  と B<waitpid>()  の使用方法の例を示してい"
13094 "る。 このプログラムでは子プロセスを生成する。 コマンドライン引き数が指定され"
13095 "なかったときは、 子プロセスは B<pause>(2)  を使ってその実行を一時停止し、ユー"
13096 "ザがその子プロセスに シグナルを送信できるようにする。 コマンドライン引き数が"
13097 "指定された場合は、 子プロセスは直ちに終了し、 コマンドラインで指定された整数"
13098 "を終了ステータスとして使用する。 親プロセスは、 B<waitpid>()  を使って子プロ"
13099 "セスを監視し、 wait のステータス値を上記の W*() マクロを使って解析するという "
13100 "ループを実行する。"
13101
13102 #. type: Plain text
13103 #: build/C/man2/wait.2:555
13104 #, no-wrap
13105 msgid ""
13106 "$B< ./a.out &>\n"
13107 "Child PID is 32360\n"
13108 "[1] 32359\n"
13109 "$B< kill -STOP 32360>\n"
13110 "stopped by signal 19\n"
13111 "$B< kill -CONT 32360>\n"
13112 "continued\n"
13113 "$B< kill -TERM 32360>\n"
13114 "killed by signal 15\n"
13115 "[1]+  Done                    ./a.out\n"
13116 "$\n"
13117 msgstr ""
13118 "$B< ./a.out &>\n"
13119 "Child PID is 32360\n"
13120 "[1] 32359\n"
13121 "$B< kill -STOP 32360>\n"
13122 "stopped by signal 19\n"
13123 "$B< kill -CONT 32360>\n"
13124 "continued\n"
13125 "$B< kill -TERM 32360>\n"
13126 "killed by signal 15\n"
13127 "[1]+  Done                    ./a.out\n"
13128 "$\n"
13129
13130 #. type: Plain text
13131 #: build/C/man2/wait.2:564
13132 #, no-wrap
13133 msgid ""
13134 "#include E<lt>sys/wait.hE<gt>\n"
13135 "#include E<lt>stdlib.hE<gt>\n"
13136 "#include E<lt>unistd.hE<gt>\n"
13137 "#include E<lt>stdio.hE<gt>\n"
13138 msgstr ""
13139 "#include E<lt>sys/wait.hE<gt>\n"
13140 "#include E<lt>stdlib.hE<gt>\n"
13141 "#include E<lt>unistd.hE<gt>\n"
13142 "#include E<lt>stdio.hE<gt>\n"
13143
13144 #. type: Plain text
13145 #: build/C/man2/wait.2:570
13146 #, no-wrap
13147 msgid ""
13148 "int\n"
13149 "main(int argc, char *argv[])\n"
13150 "{\n"
13151 "    pid_t cpid, w;\n"
13152 "    int status;\n"
13153 msgstr ""
13154 "int\n"
13155 "main(int argc, char *argv[])\n"
13156 "{\n"
13157 "    pid_t cpid, w;\n"
13158 "    int status;\n"
13159
13160 #. type: Plain text
13161 #: build/C/man2/wait.2:576
13162 #, no-wrap
13163 msgid ""
13164 "    cpid = fork();\n"
13165 "    if (cpid == -1) {\n"
13166 "        perror(\"fork\");\n"
13167 "        exit(EXIT_FAILURE);\n"
13168 "    }\n"
13169 msgstr ""
13170 "    cpid = fork();\n"
13171 "    if (cpid == -1) {\n"
13172 "        perror(\"fork\");\n"
13173 "        exit(EXIT_FAILURE);\n"
13174 "    }\n"
13175
13176 #. type: Plain text
13177 #: build/C/man2/wait.2:582
13178 #, no-wrap
13179 msgid ""
13180 "    if (cpid == 0) {            /* Code executed by child */\n"
13181 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13182 "        if (argc == 1)\n"
13183 "            pause();                    /* Wait for signals */\n"
13184 "        _exit(atoi(argv[1]));\n"
13185 msgstr ""
13186 "    if (cpid == 0) {            /* Code executed by child */\n"
13187 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13188 "        if (argc == 1)\n"
13189 "            pause();                    /* Wait for signals */\n"
13190 "        _exit(atoi(argv[1]));\n"
13191
13192 #. type: Plain text
13193 #: build/C/man2/wait.2:590
13194 #, no-wrap
13195 msgid ""
13196 "    } else {                    /* Code executed by parent */\n"
13197 "        do {\n"
13198 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13199 "            if (w == -1) {\n"
13200 "                perror(\"waitpid\");\n"
13201 "                exit(EXIT_FAILURE);\n"
13202 "            }\n"
13203 msgstr ""
13204 "    } else {                    /* Code executed by parent */\n"
13205 "        do {\n"
13206 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13207 "            if (w == -1) {\n"
13208 "                perror(\"waitpid\");\n"
13209 "                exit(EXIT_FAILURE);\n"
13210 "            }\n"
13211
13212 #. type: Plain text
13213 #: build/C/man2/wait.2:604
13214 #, no-wrap
13215 msgid ""
13216 "            if (WIFEXITED(status)) {\n"
13217 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13218 "            } else if (WIFSIGNALED(status)) {\n"
13219 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13220 "            } else if (WIFSTOPPED(status)) {\n"
13221 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13222 "            } else if (WIFCONTINUED(status)) {\n"
13223 "                printf(\"continued\\en\");\n"
13224 "            }\n"
13225 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13226 "        exit(EXIT_SUCCESS);\n"
13227 "    }\n"
13228 "}\n"
13229 msgstr ""
13230 "            if (WIFEXITED(status)) {\n"
13231 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13232 "            } else if (WIFSIGNALED(status)) {\n"
13233 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13234 "            } else if (WIFSTOPPED(status)) {\n"
13235 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13236 "            } else if (WIFCONTINUED(status)) {\n"
13237 "                printf(\"continued\\en\");\n"
13238 "            }\n"
13239 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13240 "        exit(EXIT_SUCCESS);\n"
13241 "    }\n"
13242 "}\n"
13243
13244 #. type: Plain text
13245 #: build/C/man2/wait.2:617
13246 msgid ""
13247 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13248 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13249 "B<signal>(7)"
13250 msgstr ""
13251 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13252 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13253 "B<signal>(7)"
13254
13255 #. type: TH
13256 #: build/C/man2/wait4.2:34
13257 #, no-wrap
13258 msgid "WAIT4"
13259 msgstr "WAIT4"
13260
13261 #. type: Plain text
13262 #: build/C/man2/wait4.2:37
13263 msgid "wait3, wait4 - wait for process to change state, BSD style"
13264 msgstr "wait3, wait4 - BSD スタイルでプロセスの状態変化を待つ"
13265
13266 #. type: Plain text
13267 #: build/C/man2/wait4.2:43
13268 #, no-wrap
13269 msgid ""
13270 "B<#include E<lt>sys/types.hE<gt>>\n"
13271 "B<#include E<lt>sys/time.hE<gt>>\n"
13272 "B<#include E<lt>sys/resource.hE<gt>>\n"
13273 "B<#include E<lt>sys/wait.hE<gt>>\n"
13274 msgstr ""
13275 "B<#include E<lt>sys/types.hE<gt>>\n"
13276 "B<#include E<lt>sys/time.hE<gt>>\n"
13277 "B<#include E<lt>sys/resource.hE<gt>>\n"
13278 "B<#include E<lt>sys/wait.hE<gt>>\n"
13279
13280 #. type: Plain text
13281 #: build/C/man2/wait4.2:46
13282 #, no-wrap
13283 msgid ""
13284 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13285 "B<            struct rusage *>I<rusage>B<);>\n"
13286 msgstr ""
13287 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13288 "B<            struct rusage *>I<rusage>B<);>\n"
13289
13290 #. type: Plain text
13291 #: build/C/man2/wait4.2:49
13292 #, no-wrap
13293 msgid ""
13294 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13295 "B<            struct rusage *>I<rusage>B<);>\n"
13296 msgstr ""
13297 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13298 "B<            struct rusage *>I<rusage>B<);>\n"
13299
13300 #. type: Plain text
13301 #: build/C/man2/wait4.2:58
13302 msgid "B<wait3>():"
13303 msgstr "B<wait3>():"
13304
13305 #. type: Plain text
13306 #: build/C/man2/wait4.2:64
13307 msgid "B<wait4>():"
13308 msgstr "B<wait4>():"
13309
13310 #. type: Plain text
13311 #: build/C/man2/wait4.2:66
13312 msgid "_BSD_SOURCE"
13313 msgstr "_BSD_SOURCE"
13314
13315 #. type: Plain text
13316 #: build/C/man2/wait4.2:78
13317 msgid ""
13318 "The B<wait3>()  and B<wait4>()  system calls are similar to B<waitpid>(2), "
13319 "but additionally return resource usage information about the child in the "
13320 "structure pointed to by I<rusage>."
13321 msgstr ""
13322 "システムコール B<wait3>()  と B<wait4>()  は B<waitpid>(2)  と同様の動作をす"
13323 "る。それに加え、子プロセスのリソース使用状況の情報を I<rusage> が指す構造体に"
13324 "入れて返す。"
13325
13326 #. type: Plain text
13327 #: build/C/man2/wait4.2:84
13328 msgid ""
13329 "Other than the use of the I<rusage> argument, the following B<wait3>()  call:"
13330 msgstr "I<rusage> を使用する点を除けば、次の B<wait3>()  の呼び出し"
13331
13332 #. type: Plain text
13333 #: build/C/man2/wait4.2:87
13334 #, no-wrap
13335 msgid "    wait3(status, options, rusage);\n"
13336 msgstr "    wait3(status, options, rusage);\n"
13337
13338 #. type: Plain text
13339 #: build/C/man2/wait4.2:90 build/C/man2/wait4.2:104
13340 msgid "is equivalent to:"
13341 msgstr "は以下と等価である。"
13342
13343 #. type: Plain text
13344 #: build/C/man2/wait4.2:93
13345 #, no-wrap
13346 msgid "    waitpid(-1, status, options);\n"
13347 msgstr "    waitpid(-1, status, options);\n"
13348
13349 #. type: Plain text
13350 #: build/C/man2/wait4.2:98
13351 msgid "Similarly, the following B<wait4>()  call:"
13352 msgstr "同様に、次の B<wait4>()  の呼び出し"
13353
13354 #. type: Plain text
13355 #: build/C/man2/wait4.2:101
13356 #, no-wrap
13357 msgid "    wait4(pid, status, options, rusage);\n"
13358 msgstr "    wait4(pid, status, options, rusage);\n"
13359
13360 #. type: Plain text
13361 #: build/C/man2/wait4.2:107
13362 #, no-wrap
13363 msgid "    waitpid(pid, status, options);\n"
13364 msgstr "    waitpid(pid, status, options);\n"
13365
13366 #. type: Plain text
13367 #: build/C/man2/wait4.2:117
13368 msgid ""
13369 "In other words, B<wait3>()  waits of any child, while B<wait4>()  can be "
13370 "used to select a specific child, or children, on which to wait.  See B<wait>"
13371 "(2)  for further details."
13372 msgstr ""
13373 "言い換えると、 B<wait3>()  は全ての子プロセスを対象に待つが、 B<wait4>()  で"
13374 "は特定の子プロセス (複数可) を選んで待つことができる。"
13375
13376 #. type: Plain text
13377 #: build/C/man2/wait4.2:127
13378 msgid ""
13379 "If I<rusage> is not NULL, the I<struct rusage> to which it points will be "
13380 "filled with accounting information about the child.  See B<getrusage>(2)  "
13381 "for details."
13382 msgstr ""
13383 "I<rusage> が NULL でない場合、 I<rusage> が指す I<rusage 構造体> には子プロセ"
13384 "スのアカウント情報が格納される。 詳しくは B<getrusage>(2)  を参照のこと。"
13385
13386 #. type: Plain text
13387 #: build/C/man2/wait4.2:130 build/C/man2/wait4.2:133
13388 msgid "As for B<waitpid>(2)."
13389 msgstr "B<waitpid>(2)  と同様。"
13390
13391 #. type: Plain text
13392 #: build/C/man2/wait4.2:135
13393 msgid "4.3BSD."
13394 msgstr "4.3BSD."
13395
13396 #. type: Plain text
13397 #: build/C/man2/wait4.2:147
13398 msgid ""
13399 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
13400 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
13401 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
13402 "hE<gt>>.)"
13403 msgstr ""
13404 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
13405 "しておくと 移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> "
13406 "で I<rusage> 構造体が定義されているが、そのフィールドで使用されている "
13407 "I<struct timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
13408
13409 #. type: Plain text
13410 #: build/C/man2/wait4.2:153
13411 msgid ""
13412 "On Linux, B<wait3>()  is a library function implemented on top of the "
13413 "B<wait4>()  system call."
13414 msgstr ""
13415 "Linux では、 B<wait3>()  はライブラリ関数であり、 B<wait4>()  システムコール"
13416 "を使って実装されている。"
13417
13418 #. type: Plain text
13419 #: build/C/man2/wait4.2:160
13420 msgid ""
13421 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13422 "B<signal>(7)"
13423 msgstr ""
13424 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13425 "B<signal>(7)"
13426
13427 #~ msgid "2009-01-26"
13428 #~ msgstr "2009-01-26"
13429
13430 #~ msgid "B<EFD_NONBLOCK>"
13431 #~ msgstr "B<EFD_NONBLOCK>"
13432
13433 #~ msgid "B<EFD_CLOEXEC>"
13434 #~ msgstr "B<EFD_CLOEXEC>"
13435
13436 #~ msgid "2008-07-16"
13437 #~ msgstr "2008-07-16"
13438
13439 #~ msgid "2008-08-21"
13440 #~ msgstr "2008-08-21"
13441
13442 #~ msgid "B<perror>(3), B<strsignal>(3)"
13443 #~ msgstr "B<perror>(3), B<strsignal>(3)"
13444
13445 #~ msgid "2009-07-25"
13446 #~ msgstr "2009-07-25"
13447
13448 #~ msgid "POSIX.1b signals and B<SIGCHLD> fill in I<si_pid> and I<si_uid>."
13449 #~ msgstr ""
13450 #~ "POSIX.1b シグナルと B<SIGCHLD> は I<si_pid> と I<si_uid> を設定する。"
13451
13452 #~ msgid ""
13453 #~ "I<si_int> and I<si_ptr> are specified by the sender of the POSIX.1b "
13454 #~ "signal.  See B<sigqueue>(2)  for more details."
13455 #~ msgstr ""
13456 #~ "I<si_int> と I<si_ptr> は POSIX.1b シグナルの送信者によって指定される。 詳"
13457 #~ "細は B<sigqueue>(2)  を参照のこと。"
13458
13459 #~ msgid ""
13460 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, and B<SIGBUS> fill in I<si_addr> with "
13461 #~ "the address of the fault.  B<SIGPOLL> fills in I<si_band> and I<si_fd>."
13462 #~ msgstr ""
13463 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS> は I<si_addr> にエラーが発生し"
13464 #~ "たアドレスを設定する。 SIGPOLL は I<si_band> と I<si_fd> を設定する。"
13465
13466 #~ msgid "B<sigqueue>(2)"
13467 #~ msgstr "B<sigqueue>(2)"
13468
13469 #~ msgid "2009-03-10"
13470 #~ msgstr "2009-03-10"