OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.40.
[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-05-01 04:22+0900\n"
10 "PO-Revision-Date: 2012-05-01 04:53+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:48
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:49
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:51 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:58 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:546
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:656 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:563
220 #: build/C/man2/rt_sigqueueinfo.2:129 build/C/man2/sgetmask.2:59
221 #: build/C/man2/sigaction.2:659 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:725 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:671
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:107 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/man3/raise.3:64
278 #: build/C/man2/rt_sigqueueinfo.2:173 build/C/man2/sgetmask.2:63
279 #: build/C/man2/sigaction.2:674 build/C/man2/sigaltstack.2:156
280 #: build/C/man2/signal.2:107 build/C/man2/signalfd.2:309
281 #: build/C/man3/sigpause.3:58 build/C/man2/sigpending.2:61
282 #: build/C/man2/sigprocmask.2:109 build/C/man3/sigqueue.3:114
283 #: build/C/man2/sigreturn.2:62 build/C/man3/sigset.3:188
284 #: build/C/man3/sigsetops.3:128 build/C/man2/sigsuspend.2:82
285 #: build/C/man3/sigvec.3:225 build/C/man3/sigwait.3:79
286 #: build/C/man2/sigwaitinfo.2:128 build/C/man3/sysv_signal.3:60
287 #: build/C/man2/timer_create.2:193 build/C/man2/timer_getoverrun.2:96
288 #: build/C/man2/tkill.2:96 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:739 build/C/man3/profil.3:79
326 #: build/C/man3/psignal.3:111 build/C/man3/raise.3:75
327 #: build/C/man2/rt_sigqueueinfo.2:183 build/C/man2/sgetmask.2:74
328 #: build/C/man2/sigaction.2:787 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:139
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:742 build/C/man3/profil.3:84
355 #: build/C/man3/psignal.3:116 build/C/man3/raise.3:82
356 #: build/C/man2/rt_sigqueueinfo.2:191 build/C/man2/sgetmask.2:77
357 #: build/C/man2/sigaction.2:806 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:150
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:749 build/C/man3/profil.3:91
379 #: build/C/man3/psignal.3:123 build/C/man3/raise.3:89
380 #: build/C/man2/rt_sigqueueinfo.2:198 build/C/man2/sgetmask.2:84
381 #: build/C/man2/sigaction.2:813 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:157
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.40 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.40 の一部\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:48
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/man2/prctl.2:606 build/C/man2/prctl.2:611 build/C/man2/prctl.2:616
593 #: build/C/man2/prctl.2:626 build/C/man3/psignal.3:103
594 #: build/C/man3/psignal.3:107 build/C/man2/sigaction.2:294
595 #: build/C/man2/sigaction.2:309 build/C/man2/sigaction.2:325
596 #: build/C/man2/sigaction.2:340 build/C/man2/sigaction.2:387
597 #: build/C/man2/sigaction.2:423 build/C/man2/signal.2:66
598 #: build/C/man2/signal.2:71 build/C/man2/signal.2:78 build/C/man2/signal.2:205
599 #: build/C/man2/signal.2:209 build/C/man2/signal.2:248
600 #: build/C/man7/signal.7:147 build/C/man7/signal.7:155
601 #: build/C/man7/signal.7:611 build/C/man7/signal.7:613
602 #: build/C/man7/signal.7:634 build/C/man7/signal.7:649
603 #: build/C/man7/signal.7:653 build/C/man7/signal.7:660
604 #: build/C/man7/signal.7:676 build/C/man7/signal.7:682
605 #: build/C/man7/signal.7:689 build/C/man7/signal.7:694
606 #: build/C/man7/signal.7:713 build/C/man7/signal.7:732
607 #: build/C/man7/signal.7:739 build/C/man7/signal.7:748
608 #: build/C/man7/signal.7:756 build/C/man7/signal.7:762
609 #: build/C/man7/signal.7:767 build/C/man7/signal.7:787
610 #: build/C/man7/signal.7:806 build/C/man7/signal.7:809
611 #: build/C/man7/signal.7:812 build/C/man7/signal.7:815
612 #: build/C/man7/signal.7:820 build/C/man7/signal.7:826
613 #: build/C/man7/signal.7:830 build/C/man3/sigwait.3:59
614 #: build/C/man3/sigwait.3:64 build/C/man2/timer_create.2:214
615 #: build/C/man2/timer_create.2:217 build/C/man2/timer_create.2:220
616 #: build/C/man2/timer_create.2:224 build/C/man2/timer_create.2:227
617 #: build/C/man2/timer_create.2:233 build/C/man2/timer_create.2:237
618 #, no-wrap
619 msgid "*"
620 msgstr "*"
621
622 #. type: Plain text
623 #: build/C/man2/eventfd.2:105
624 #, fuzzy
625 #| msgid ""
626 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
627 #| "bytes containing that value, and the counter's value is reset to zero.  "
628 #| "(The returned value is in host byte order, i.e., the native byte order "
629 #| "for integers on the host machine.)"
630 msgid ""
631 "If B<EFD_SEMAPHORE> was not specified and the eventfd counter has a nonzero "
632 "value, then a B<read>(2)  returns 8 bytes containing that value, and the "
633 "counter's value is reset to zero."
634 msgstr ""
635 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
636 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
637 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
638
639 #. type: Plain text
640 #: build/C/man2/eventfd.2:112
641 #, fuzzy
642 #| msgid ""
643 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
644 #| "bytes containing that value, and the counter's value is reset to zero.  "
645 #| "(The returned value is in host byte order, i.e., the native byte order "
646 #| "for integers on the host machine.)"
647 msgid ""
648 "If B<EFD_SEMAPHORE> was specified and the eventfd counter has a nonzero "
649 "value, then a B<read>(2)  returns 8 bytes containing the value 1, and the "
650 "counter's value is decremented by 1."
651 msgstr ""
652 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
653 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
654 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
655
656 #. type: Plain text
657 #: build/C/man2/eventfd.2:122
658 #, fuzzy
659 #| msgid ""
660 #| "If the counter is zero at the time of the B<read>(2), then the call "
661 #| "either blocks until the counter becomes nonzero, or fails with the error "
662 #| "B<EAGAIN> if the file descriptor has been made nonblocking."
663 msgid ""
664 "If the eventfd counter is zero at the time of the call to B<read>(2), then "
665 "the call either blocks until the counter becomes nonzero (at which time, the "
666 "B<read>(2)  proceeds as described above)  or fails with the error B<EAGAIN> "
667 "if the file descriptor has been made nonblocking."
668 msgstr ""
669 "B<read>(2)  の時点でカウンタが 0 の場合、 B<read>(2)  はカウンタが 0 以外にな"
670 "るまで停止 (block) する、 もしくはファイルディスクリプタが非停止 "
671 "(nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
672
673 #. type: TP
674 #: build/C/man2/eventfd.2:123
675 #, no-wrap
676 msgid "B<write>(2)"
677 msgstr "B<write>(2)"
678
679 #. type: Plain text
680 #: build/C/man2/eventfd.2:140
681 msgid ""
682 "A B<write>(2)  call adds the 8-byte integer value supplied in its buffer to "
683 "the counter.  The maximum value that may be stored in the counter is the "
684 "largest unsigned 64-bit value minus 1 (i.e., 0xfffffffffffffffe).  If the "
685 "addition would cause the counter's value to exceed the maximum, then the "
686 "B<write>(2)  either blocks until a B<read>(2)  is performed on the file "
687 "descriptor, or fails with the error B<EAGAIN> if the file descriptor has "
688 "been made nonblocking."
689 msgstr ""
690 "B<write>(2)  は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算"
691 "する。 カウンタに格納可能な最大値は unsigned の 64 ビット整数の最大値から 1 "
692 "を引いた値 (すなわち 0xfffffffffffffffe) である。 加算を行うとカウンタ値が最"
693 "大値を超過する場合には、 そのファイルディスクリプタに対して B<read>(2)  が実"
694 "行されるまで、 B<write>(2)  は停止 (block) する、 もしくはファイルディスクリ"
695 "プタが非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗す"
696 "る。"
697
698 #. type: Plain text
699 #: build/C/man2/eventfd.2:147
700 msgid ""
701 "A B<write>(2)  will fail with the error B<EINVAL> if the size of the "
702 "supplied buffer is less than 8 bytes, or if an attempt is made to write the "
703 "value 0xffffffffffffffff."
704 msgstr ""
705 "渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 "
706 "0xffffffffffffffff を書き込もうとした場合、 B<write>(2)  はエラー B<EINVAL> "
707 "で失敗する。"
708
709 #. type: TP
710 #: build/C/man2/eventfd.2:147 build/C/man2/signalfd.2:139
711 #: build/C/man2/timerfd_create.2:243
712 #, no-wrap
713 msgid "B<poll>(2), B<select>(2) (and similar)"
714 msgstr "B<poll>(2), B<select>(2) (と同様の操作)"
715
716 #. type: Plain text
717 #: build/C/man2/eventfd.2:156
718 msgid ""
719 "The returned file descriptor supports B<poll>(2)  (and analogously B<epoll>"
720 "(7))  and B<select>(2), as follows:"
721 msgstr ""
722 "返されたファイルディスクリプタは、 B<poll>(2)  (B<epoll>(7)  も同じ) や "
723 "B<select>(2)  をサポートしており、以下のような動作をする。"
724
725 #. type: Plain text
726 #: build/C/man2/eventfd.2:167
727 msgid ""
728 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
729 "B<poll>(2)  B<POLLIN> flag)  if the counter has a value greater than 0."
730 msgstr ""
731 "カウンタが 0 より大きい値の場合、 ファイルディスクリプタは読み出し可能となる "
732 "(B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
733
734 #. type: Plain text
735 #: build/C/man2/eventfd.2:177
736 msgid ""
737 "The file descriptor is writable (the B<select>(2)  I<writefds> argument; the "
738 "B<poll>(2)  B<POLLOUT> flag)  if it is possible to write a value of at least "
739 "\"1\" without blocking."
740 msgstr ""
741 "少なくとも値 \"1\" を、停止 (block) を伴わずに書き込める場合、 ファイルディス"
742 "クリプタは書き込み可能となる (B<select>(2)  の I<writefds> 引き数や B<poll>"
743 "(2)  の B<POLLOUT> フラグ)。"
744
745 #. type: Plain text
746 #: build/C/man2/eventfd.2:197
747 msgid ""
748 "If an overflow of the counter value was detected, then B<select>(2)  "
749 "indicates the file descriptor as being both readable and writable, and "
750 "B<poll>(2)  returns a B<POLLERR> event.  As noted above, B<write>(2)  can "
751 "never overflow the counter.  However an overflow can occur if 2^64 eventfd "
752 "\"signal posts\" were performed by the KAIO subsystem (theoretically "
753 "possible, but practically unlikely).  If an overflow has occurred, then "
754 "B<read>(2)  will return that maximum I<uint64_t> value (i.e., "
755 "0xffffffffffffffff)."
756 msgstr ""
757 "カウンタ値のオーバーフローが検出された場合、 B<select>(2)  はファイルディスク"
758 "リプタは読み出し可能と書き込み可能の両方を通知し、 B<poll>(2)  は B<POLLERR> "
759 "イベントを返す。 上述の通り、 B<write>(2)  でカウンタがオーバーフローすること"
760 "は決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "
761 "\"signal posts\" が 実行された場合にはオーバーフローが起こり得る (理論的には"
762 "あり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、 B<read>"
763 "(2)  は I<uint64_t> の最大値 (すなわち 0xffffffffffffffff) を返す。"
764
765 #. type: Plain text
766 #: build/C/man2/eventfd.2:205
767 msgid ""
768 "The eventfd file descriptor also supports the other file-descriptor "
769 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
770 msgstr ""
771 "eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
772 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
773
774 #. type: TP
775 #: build/C/man2/eventfd.2:205 build/C/man2/signalfd.2:159
776 #: build/C/man2/timerfd_create.2:261
777 #, no-wrap
778 msgid "B<close>(2)"
779 msgstr "B<close>(2)"
780
781 #. type: Plain text
782 #: build/C/man2/eventfd.2:210
783 msgid ""
784 "When the file descriptor is no longer required it should be closed.  When "
785 "all file descriptors associated with the same eventfd object have been "
786 "closed, the resources for object are freed by the kernel."
787 msgstr ""
788 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
789 "る。 同じ eventfd オブジェクトに関連付けられたファイルディスクリプタが全て ク"
790 "ローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
791
792 #. type: Plain text
793 #: build/C/man2/eventfd.2:222
794 #, fuzzy
795 #| msgid ""
796 #| "A copy of the file descriptor created by B<eventfd>()  is inherited by "
797 #| "the child produced by B<fork>(2).  The duplicate file descriptor is "
798 #| "associated with the same eventfd object.  File descriptors created by "
799 #| "B<eventfd>()  are preserved across B<execve>(2)."
800 msgid ""
801 "A copy of the file descriptor created by B<eventfd>()  is inherited by the "
802 "child produced by B<fork>(2).  The duplicate file descriptor is associated "
803 "with the same eventfd object.  File descriptors created by B<eventfd>()  are "
804 "preserved across B<execve>(2), unless the close-on-exec flag has been set."
805 msgstr ""
806 "B<fork>(2)  で生成された子プロセスは、 B<eventfd>()  で生成されたファイルディ"
807 "スクリプタのコピーを継承する。 複製されたファイルディスクリプタは同じ "
808 "eventfd オブジェクトに関連付けられる。 B<execve>(2)  の前後で B<eventfd>()  "
809 "で生成されたファイルディスクリプタは保持される。"
810
811 #. type: Plain text
812 #: build/C/man2/eventfd.2:229
813 msgid ""
814 "On success, B<eventfd>()  returns a new eventfd file descriptor.  On error, "
815 "-1 is returned and I<errno> is set to indicate the error."
816 msgstr ""
817 "成功すると、 B<eventfd>()  は新規の eventfd ファイルディスクリプタを返す。 エ"
818 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
819
820 #. type: TP
821 #: build/C/man2/eventfd.2:230 build/C/man2/getitimer.2:130
822 #: build/C/man2/kill.2:105 build/C/man2/killpg.2:94 build/C/man2/prctl.2:568
823 #: build/C/man2/prctl.2:573 build/C/man2/prctl.2:585 build/C/man2/prctl.2:590
824 #: build/C/man2/prctl.2:599 build/C/man2/rt_sigqueueinfo.2:136
825 #: build/C/man2/sigaction.2:664 build/C/man2/sigaltstack.2:140
826 #: build/C/man3/siginterrupt.3:77 build/C/man2/signal.2:101
827 #: build/C/man2/signalfd.2:268 build/C/man2/signalfd.2:276
828 #: build/C/man2/sigprocmask.2:102 build/C/man3/sigqueue.3:96
829 #: build/C/man3/sigsetops.3:122 build/C/man3/sigwait.3:72
830 #: build/C/man2/sigwaitinfo.2:122 build/C/man2/timer_create.2:177
831 #: build/C/man2/timer_delete.2:58 build/C/man2/timer_getoverrun.2:88
832 #: build/C/man2/timer_settime.2:187 build/C/man2/timer_settime.2:195
833 #: build/C/man2/timerfd_create.2:304 build/C/man2/timerfd_create.2:312
834 #: build/C/man2/timerfd_create.2:348 build/C/man2/timerfd_create.2:355
835 #: build/C/man2/timerfd_create.2:361 build/C/man2/tkill.2:74
836 #: build/C/man2/wait.2:416
837 #, no-wrap
838 msgid "B<EINVAL>"
839 msgstr "B<EINVAL>"
840
841 #. type: Plain text
842 #: build/C/man2/eventfd.2:234
843 msgid "An unsupported value was specified in I<flags>."
844 msgstr ""
845
846 #. type: TP
847 #: build/C/man2/eventfd.2:234 build/C/man2/signalfd.2:283
848 #: build/C/man2/timerfd_create.2:319
849 #, no-wrap
850 msgid "B<EMFILE>"
851 msgstr "B<EMFILE>"
852
853 #. type: Plain text
854 #: build/C/man2/eventfd.2:237
855 msgid "The per-process limit on open file descriptors has been reached."
856 msgstr ""
857 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
858
859 #. type: TP
860 #: build/C/man2/eventfd.2:237 build/C/man2/signalfd.2:286
861 #: build/C/man2/timerfd_create.2:322
862 #, no-wrap
863 msgid "B<ENFILE>"
864 msgstr "B<ENFILE>"
865
866 #. type: Plain text
867 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
868 #: build/C/man2/timerfd_create.2:326
869 msgid ""
870 "The system-wide limit on the total number of open files has been reached."
871 msgstr "オープン済みのファイル総数がシステム全体の上限に達していた。"
872
873 #. type: TP
874 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
875 #: build/C/man2/timerfd_create.2:326
876 #, no-wrap
877 msgid "B<ENODEV>"
878 msgstr "B<ENODEV>"
879
880 #. type: Plain text
881 #: build/C/man2/eventfd.2:249 build/C/man2/signalfd.2:293
882 #: build/C/man2/timerfd_create.2:329
883 msgid "Could not mount (internal) anonymous inode device."
884 msgstr "(カーネル内の) 無名 inode デバイスをマウントできなかった。"
885
886 #. type: TP
887 #: build/C/man2/eventfd.2:249 build/C/man2/sigaltstack.2:145
888 #: build/C/man2/signalfd.2:293 build/C/man2/timer_create.2:185
889 #: build/C/man2/timerfd_create.2:329
890 #, no-wrap
891 msgid "B<ENOMEM>"
892 msgstr "B<ENOMEM>"
893
894 #. type: Plain text
895 #: build/C/man2/eventfd.2:253
896 msgid "There was insufficient memory to create a new eventfd file descriptor."
897 msgstr ""
898 "新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
899
900 #. type: SH
901 #: build/C/man2/eventfd.2:253 build/C/man2/prctl.2:720
902 #: build/C/man3/psignal.3:93 build/C/man2/rt_sigqueueinfo.2:164
903 #: build/C/man2/signalfd.2:296 build/C/man3/sigqueue.3:110
904 #: build/C/man2/timer_create.2:189 build/C/man2/timer_delete.2:62
905 #: build/C/man2/timer_getoverrun.2:92 build/C/man2/timer_settime.2:201
906 #: build/C/man2/timerfd_create.2:367 build/C/man2/tkill.2:85
907 #, no-wrap
908 msgid "VERSIONS"
909 msgstr "バージョン"
910
911 #.  eventfd() is in glibc 2.7, but reportedly does not build
912 #. type: Plain text
913 #: build/C/man2/eventfd.2:266
914 msgid ""
915 "B<eventfd>()  is available on Linux since kernel 2.6.22.  Working support is "
916 "provided in glibc since version 2.8.  The B<eventfd2>()  system call (see "
917 "NOTES) is available on Linux since kernel 2.6.27.  Since version 2.9, the "
918 "glibc B<eventfd>()  wrapper will employ the B<eventfd2>()  system call, if "
919 "it is supported by the kernel."
920 msgstr ""
921 "B<eventfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
922 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<eventfd2>()  "
923 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
924 "る。 バージョン 2.9 以降では、glibc の B<eventfd>()  のラッパー関数は、カーネ"
925 "ルが対応していれば B<eventfd2>()  システムコールを利用する。"
926
927 #. type: Plain text
928 #: build/C/man2/eventfd.2:271
929 msgid "B<eventfd>()  and B<eventfd2>()  are Linux-specific."
930 msgstr "B<eventfd>()  と B<eventfd2>()  は Linux 固有である。"
931
932 #. type: Plain text
933 #: build/C/man2/eventfd.2:279
934 msgid ""
935 "Applications can use an eventfd file descriptor instead of a pipe (see "
936 "B<pipe>(2))  in all cases where a pipe is used simply to signal events.  The "
937 "kernel overhead of an eventfd file descriptor is much lower than that of a "
938 "pipe, and only one file descriptor is required (versus the two required for "
939 "a pipe)."
940 msgstr ""
941 "アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場"
942 "面において、パイプの代わりに eventfd ファイルディスクリプタを 使用することが"
943 "できる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて "
944 "カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つ"
945 "しか必要としない (パイプの場合は二つ必要である)。"
946
947 #.  or eventually syslets/threadlets
948 #. type: Plain text
949 #: build/C/man2/eventfd.2:285
950 msgid ""
951 "When used in the kernel, an eventfd file descriptor can provide a kernel-"
952 "userspace bridge allowing, for example, functionalities like KAIO (kernel "
953 "AIO)  to signal to a file descriptor that some operation is complete."
954 msgstr ""
955 "カーネル内で使用すると、eventfd ファイルディスクリプタは カーネル空間とユーザ"
956 "空間のブリッジ機能を提供することができ、 例えば KAIO (kernel AIO)  のような機"
957 "能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することが"
958 "できる。"
959
960 #. type: Plain text
961 #: build/C/man2/eventfd.2:302
962 msgid ""
963 "A key point about an eventfd file descriptor is that it can be monitored "
964 "just like any other file descriptor using B<select>(2), B<poll>(2), or "
965 "B<epoll>(7).  This means that an application can simultaneously monitor the "
966 "readiness of \"traditional\" files and the readiness of other kernel "
967 "mechanisms that support the eventfd interface.  (Without the B<eventfd>()  "
968 "interface, these mechanisms could not be multiplexed via B<select>(2), "
969 "B<poll>(2), or B<epoll>(7).)"
970 msgstr ""
971 "eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタ"
972 "が B<select>(2), B<poll>(2), B<epoll>(7)  を使って他のファイルディスクリプタ"
973 "と全く同様に監視できる点である。 このことは、アプリケーションは「従来の "
974 "(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他の"
975 "カーネル機構の状態変化を同時に監視 できることを意味する (B<eventfd>()  インタ"
976 "フェースがない時には、これらのカーネル機構は B<select>(2), B<poll>(2), "
977 "B<epoll>(7)  経由で多重することはできなかった)。"
978
979 #. type: SS
980 #: build/C/man2/eventfd.2:302 build/C/man2/signalfd.2:333
981 #, no-wrap
982 msgid "Underlying Linux system calls"
983 msgstr "下層にある Linux のシステムコール"
984
985 #. type: Plain text
986 #: build/C/man2/eventfd.2:316
987 msgid ""
988 "There are two underlying Linux system calls: B<eventfd>()  and the more "
989 "recent B<eventfd2>().  The former system call does not implement a I<flags> "
990 "argument.  The latter system call implements the I<flags> values described "
991 "above.  The glibc wrapper function will use B<eventfd2>()  where it is "
992 "available."
993 msgstr ""
994 "下層にある Linux システムコールは二種類あり、 B<eventfd>()  と、もっと新しい "
995 "B<eventfd2>()  である。 B<eventfd>()  は I<flags> 引き数を実装していない。 "
996 "B<eventfd2>()  では上記の値の I<flags> が実装されている。 glibc のラッパー関"
997 "数は、 B<eventfd2>()  が利用可能であれば、これを使用する。"
998
999 #. type: SS
1000 #: build/C/man2/eventfd.2:316
1001 #, no-wrap
1002 msgid "Additional glibc features"
1003 msgstr "glibc の追加機能"
1004
1005 #. type: Plain text
1006 #: build/C/man2/eventfd.2:320
1007 msgid ""
1008 "The GNU C library defines an additional type, and two functions that attempt "
1009 "to abstract some of the details of reading and writing on an eventfd file "
1010 "descriptor:"
1011 msgstr ""
1012 "GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに を関"
1013 "する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義してい"
1014 "る。"
1015
1016 #. type: Plain text
1017 #: build/C/man2/eventfd.2:324
1018 #, no-wrap
1019 msgid "typedef uint64_t eventfd_t;\n"
1020 msgstr "typedef uint64_t eventfd_t;\n"
1021
1022 #. type: Plain text
1023 #: build/C/man2/eventfd.2:327
1024 #, no-wrap
1025 msgid ""
1026 "int eventfd_read(int fd, eventfd_t *value);\n"
1027 "int eventfd_write(int fd, eventfd_t value);\n"
1028 msgstr ""
1029 "int eventfd_read(int fd, eventfd_t *value);\n"
1030 "int eventfd_write(int fd, eventfd_t value);\n"
1031
1032 #. type: Plain text
1033 #: build/C/man2/eventfd.2:334
1034 msgid ""
1035 "The functions perform the read and write operations on an eventfd file "
1036 "descriptor, returning 0 if the correct number of bytes was transferred, or "
1037 "-1 otherwise."
1038 msgstr ""
1039 "これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操"
1040 "作を実行し、正しいバイト数が転送された場合には 0 を返し、そうでない場合は -1 "
1041 "を返す。"
1042
1043 #. type: SH
1044 #: build/C/man2/eventfd.2:334 build/C/man2/sigaction.2:784
1045 #: build/C/man2/sigaltstack.2:213 build/C/man2/signalfd.2:357
1046 #: build/C/man3/sigwait.3:83 build/C/man2/timer_create.2:251
1047 #: build/C/man2/timer_getoverrun.2:125 build/C/man2/timer_settime.2:205
1048 #: build/C/man2/timerfd_create.2:372 build/C/man2/wait.2:522
1049 #, no-wrap
1050 msgid "EXAMPLE"
1051 msgstr "例"
1052
1053 #. type: Plain text
1054 #: build/C/man2/eventfd.2:343
1055 msgid ""
1056 "The following program creates an eventfd file descriptor and then forks to "
1057 "create a child process.  While the parent briefly sleeps, the child writes "
1058 "each of the integers supplied in the program's command-line arguments to the "
1059 "eventfd file descriptor.  When the parent has finished sleeping, it reads "
1060 "from the eventfd file descriptor."
1061 msgstr ""
1062 "以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実"
1063 "行して子プロセスを生成する。 親プロセスが少しの間 sleep する間に、子プロセス"
1064 "は プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd "
1065 "ファイルディスクリプタに書き込む。 親プロセスは sleep を完了すると eventfd "
1066 "ファイルディスクリプタから 読み出しを行う。"
1067
1068 #. type: Plain text
1069 #: build/C/man2/eventfd.2:345
1070 msgid "The following shell session shows a sample run of the program:"
1071 msgstr "以下に示すシェルセッションにこのプログラムの使い方を示す。"
1072
1073 #. type: Plain text
1074 #: build/C/man2/eventfd.2:357
1075 #, no-wrap
1076 msgid ""
1077 "$B< ./a.out 1 2 4 7 14>\n"
1078 "Child writing 1 to efd\n"
1079 "Child writing 2 to efd\n"
1080 "Child writing 4 to efd\n"
1081 "Child writing 7 to efd\n"
1082 "Child writing 14 to efd\n"
1083 "Child completed write loop\n"
1084 "Parent about to read\n"
1085 "Parent read 28 (0x1c) from efd\n"
1086 msgstr ""
1087 "$B< ./a.out 1 2 4 7 14>\n"
1088 "Child writing 1 to efd\n"
1089 "Child writing 2 to efd\n"
1090 "Child writing 4 to efd\n"
1091 "Child writing 7 to efd\n"
1092 "Child writing 14 to efd\n"
1093 "Child completed write loop\n"
1094 "Parent about to read\n"
1095 "Parent read 28 (0x1c) from efd\n"
1096
1097 #. type: SS
1098 #: build/C/man2/eventfd.2:359 build/C/man2/signalfd.2:380
1099 #: build/C/man2/timerfd_create.2:400 build/C/man2/wait.2:557
1100 #, no-wrap
1101 msgid "Program source"
1102 msgstr "プログラムのソース"
1103
1104 #. type: Plain text
1105 #: build/C/man2/eventfd.2:367
1106 #, no-wrap
1107 msgid ""
1108 "#include E<lt>sys/eventfd.hE<gt>\n"
1109 "#include E<lt>unistd.hE<gt>\n"
1110 "#include E<lt>stdlib.hE<gt>\n"
1111 "#include E<lt>stdio.hE<gt>\n"
1112 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1113 msgstr ""
1114 "#include E<lt>sys/eventfd.hE<gt>\n"
1115 "#include E<lt>unistd.hE<gt>\n"
1116 "#include E<lt>stdlib.hE<gt>\n"
1117 "#include E<lt>stdio.hE<gt>\n"
1118 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1119
1120 #. type: Plain text
1121 #: build/C/man2/eventfd.2:370 build/C/man2/signalfd.2:391
1122 #, no-wrap
1123 msgid ""
1124 "#define handle_error(msg) \\e\n"
1125 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1126 msgstr ""
1127 "#define handle_error(msg) \\e\n"
1128 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1129
1130 #. type: Plain text
1131 #: build/C/man2/eventfd.2:377
1132 #, no-wrap
1133 msgid ""
1134 "int\n"
1135 "main(int argc, char *argv[])\n"
1136 "{\n"
1137 "    int efd, j;\n"
1138 "    uint64_t u;\n"
1139 "    ssize_t s;\n"
1140 msgstr ""
1141 "int\n"
1142 "main(int argc, char *argv[])\n"
1143 "{\n"
1144 "    int efd, j;\n"
1145 "    uint64_t u;\n"
1146 "    ssize_t s;\n"
1147
1148 #. type: Plain text
1149 #: build/C/man2/eventfd.2:382
1150 #, no-wrap
1151 msgid ""
1152 "    if (argc E<lt> 2) {\n"
1153 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1154 "        exit(EXIT_FAILURE);\n"
1155 "    }\n"
1156 msgstr ""
1157 "    if (argc E<lt> 2) {\n"
1158 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1159 "        exit(EXIT_FAILURE);\n"
1160 "    }\n"
1161
1162 #. type: Plain text
1163 #: build/C/man2/eventfd.2:386
1164 #, no-wrap
1165 msgid ""
1166 "    efd = eventfd(0, 0);\n"
1167 "    if (efd == -1)\n"
1168 "        handle_error(\"eventfd\");\n"
1169 msgstr ""
1170 "    efd = eventfd(0, 0);\n"
1171 "    if (efd == -1)\n"
1172 "        handle_error(\"eventfd\");\n"
1173
1174 #. type: Plain text
1175 #: build/C/man2/eventfd.2:398
1176 #, no-wrap
1177 msgid ""
1178 "    switch (fork()) {\n"
1179 "    case 0:\n"
1180 "        for (j = 1; j E<lt> argc; j++) {\n"
1181 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1182 "            u = strtoull(argv[j], NULL, 0);\n"
1183 "                    /* strtoull() allows various bases */\n"
1184 "            s = write(efd, &u, sizeof(uint64_t));\n"
1185 "            if (s != sizeof(uint64_t))\n"
1186 "                handle_error(\"write\");\n"
1187 "        }\n"
1188 "        printf(\"Child completed write loop\\en\");\n"
1189 msgstr ""
1190 "    switch (fork()) {\n"
1191 "    case 0:\n"
1192 "        for (j = 1; j E<lt> argc; j++) {\n"
1193 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1194 "            u = strtoull(argv[j], NULL, 0);\n"
1195 "                    /* strtoull() allows various bases */\n"
1196 "            s = write(efd, &u, sizeof(uint64_t));\n"
1197 "            if (s != sizeof(uint64_t))\n"
1198 "                handle_error(\"write\");\n"
1199 "        }\n"
1200 "        printf(\"Child completed write loop\\en\");\n"
1201
1202 #. type: Plain text
1203 #: build/C/man2/eventfd.2:400
1204 #, no-wrap
1205 msgid "        exit(EXIT_SUCCESS);\n"
1206 msgstr "        exit(EXIT_SUCCESS);\n"
1207
1208 #. type: Plain text
1209 #: build/C/man2/eventfd.2:403
1210 #, no-wrap
1211 msgid ""
1212 "    default:\n"
1213 "        sleep(2);\n"
1214 msgstr ""
1215 "    default:\n"
1216 "        sleep(2);\n"
1217
1218 #. type: Plain text
1219 #: build/C/man2/eventfd.2:411
1220 #, no-wrap
1221 msgid ""
1222 "        printf(\"Parent about to read\\en\");\n"
1223 "        s = read(efd, &u, sizeof(uint64_t));\n"
1224 "        if (s != sizeof(uint64_t))\n"
1225 "            handle_error(\"read\");\n"
1226 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1227 "                (unsigned long long) u, (unsigned long long) u);\n"
1228 "        exit(EXIT_SUCCESS);\n"
1229 msgstr ""
1230 "        printf(\"Parent about to read\\en\");\n"
1231 "        s = read(efd, &u, sizeof(uint64_t));\n"
1232 "        if (s != sizeof(uint64_t))\n"
1233 "            handle_error(\"read\");\n"
1234 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1235 "                (unsigned long long) u, (unsigned long long) u);\n"
1236 "        exit(EXIT_SUCCESS);\n"
1237
1238 #. type: Plain text
1239 #: build/C/man2/eventfd.2:416
1240 #, no-wrap
1241 msgid ""
1242 "    case -1:\n"
1243 "        handle_error(\"fork\");\n"
1244 "    }\n"
1245 "}\n"
1246 msgstr ""
1247 "    case -1:\n"
1248 "        handle_error(\"fork\");\n"
1249 "    }\n"
1250 "}\n"
1251
1252 #. type: Plain text
1253 #: build/C/man2/eventfd.2:428
1254 msgid ""
1255 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1256 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1257 msgstr ""
1258 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1259 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1260
1261 #. type: TH
1262 #: build/C/man2/getitimer.2:7
1263 #, no-wrap
1264 msgid "GETITIMER"
1265 msgstr "GETITIMER"
1266
1267 #. type: Plain text
1268 #: build/C/man2/getitimer.2:10
1269 msgid "getitimer, setitimer - get or set value of an interval timer"
1270 msgstr "getitimer, setitimer - インターバル・タイマーの値を取得または設定する"
1271
1272 #. type: Plain text
1273 #: build/C/man2/getitimer.2:13
1274 #, no-wrap
1275 msgid "B<#include E<lt>sys/time.hE<gt>>\n"
1276 msgstr "B<#include E<lt>sys/time.hE<gt>>\n"
1277
1278 #. type: Plain text
1279 #: build/C/man2/getitimer.2:15
1280 #, no-wrap
1281 msgid "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1282 msgstr "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1283
1284 #. type: Plain text
1285 #: build/C/man2/getitimer.2:18
1286 #, no-wrap
1287 msgid ""
1288 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1289 "B<              struct itimerval *>I<old_value>B<);>\n"
1290 msgstr ""
1291 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1292 "B<              struct itimerval *>I<old_value>B<);>\n"
1293
1294 #. type: Plain text
1295 #: build/C/man2/getitimer.2:24
1296 msgid ""
1297 "The system provides each process with three interval timers, each "
1298 "decrementing in a distinct time domain.  When any timer expires, a signal is "
1299 "sent to the process, and the timer (potentially) restarts."
1300 msgstr ""
1301 "システムは 1 個のプロセスにつき 3 個のインターバル・タイマーを提供する。 それ"
1302 "ぞれのタイマーは別々の時間領域で減少する。 どのタイマーも満了するとプロセスに"
1303 "シグナルが送られ、 タイマーは (設定によっては) 再び開始される。"
1304
1305 #. type: TP
1306 #: build/C/man2/getitimer.2:24
1307 #, no-wrap
1308 msgid "B<ITIMER_REAL>"
1309 msgstr "B<ITIMER_REAL>"
1310
1311 #. type: Plain text
1312 #: build/C/man2/getitimer.2:29
1313 msgid "decrements in real time, and delivers B<SIGALRM> upon expiration."
1314 msgstr "実時間 (real time) で減少し、満了すると B<SIGALRM> が送られる。"
1315
1316 #. type: TP
1317 #: build/C/man2/getitimer.2:29
1318 #, no-wrap
1319 msgid "B<ITIMER_VIRTUAL>"
1320 msgstr "B<ITIMER_VIRTUAL>"
1321
1322 #. type: Plain text
1323 #: build/C/man2/getitimer.2:34
1324 msgid ""
1325 "decrements only when the process is executing, and delivers B<SIGVTALRM> "
1326 "upon expiration."
1327 msgstr ""
1328 "プロセスが実行されている間のみ減少し、満了すると B<SIGVTALRM> が送られる。"
1329
1330 #. type: TP
1331 #: build/C/man2/getitimer.2:34
1332 #, no-wrap
1333 msgid "B<ITIMER_PROF>"
1334 msgstr "B<ITIMER_PROF>"
1335
1336 #. type: Plain text
1337 #: build/C/man2/getitimer.2:44
1338 msgid ""
1339 "decrements both when the process executes and when the system is executing "
1340 "on behalf of the process.  Coupled with B<ITIMER_VIRTUAL>, this timer is "
1341 "usually used to profile the time spent by the application in user and kernel "
1342 "space.  B<SIGPROF> is delivered upon expiration."
1343 msgstr ""
1344 "プロセスが実行されていて、 かつシステムがそのプロセスのために処理を行なってい"
1345 "る間に減少する。 多くの場合、このタイマーは B<ITIMER_VIRTUAL> と組み合わされ"
1346 "て、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたか"
1347 "をプロファイルするのに使用される。 満了すると B<SIGPROF> が送られる。"
1348
1349 #. type: Plain text
1350 #: build/C/man2/getitimer.2:46
1351 msgid "Timer values are defined by the following structures:"
1352 msgstr "タイマーの値は以下の構造体によって定義される:"
1353
1354 #. type: Plain text
1355 #: build/C/man2/getitimer.2:54
1356 #, no-wrap
1357 msgid ""
1358 "struct itimerval {\n"
1359 "    struct timeval it_interval; /* next value */\n"
1360 "    struct timeval it_value;    /* current value */\n"
1361 "};\n"
1362 msgstr ""
1363 "struct itimerval {\n"
1364 "    struct timeval it_interval; /* next value */\n"
1365 "    struct timeval it_value;    /* current value */\n"
1366 "};\n"
1367
1368 #. type: Plain text
1369 #: build/C/man2/getitimer.2:59
1370 #, no-wrap
1371 msgid ""
1372 "struct timeval {\n"
1373 "    long tv_sec;                /* seconds */\n"
1374 "    long tv_usec;               /* microseconds */\n"
1375 "};\n"
1376 msgstr ""
1377 "struct timeval {\n"
1378 "    long tv_sec;                /* seconds */\n"
1379 "    long tv_usec;               /* microseconds */\n"
1380 "};\n"
1381
1382 #. type: Plain text
1383 #: build/C/man2/getitimer.2:81
1384 msgid ""
1385 "The function B<getitimer>()  fills the structure pointed to by I<curr_value> "
1386 "with the current setting for the timer specified by I<which> (one of "
1387 "B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>).  The element "
1388 "I<it_value> is set to the amount of time remaining on the timer, or zero if "
1389 "the timer is disabled.  Similarly, I<it_interval> is set to the reset value."
1390 msgstr ""
1391 "B<getitimer>()  関数は、 I<which> で指定されたタイマー (B<ITIMER_REAL>, "
1392 "B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれか) の現在の設定を、 I<curr_value> で"
1393 "指定された構造体に格納する。 I<it_value> 要素にはタイマーの残り時間が設定され"
1394 "る。タイマーがオフの場合は ゼロが設定される。同様に I<it_interval> には初期値"
1395 "が設定される。"
1396
1397 #. type: Plain text
1398 #: build/C/man2/getitimer.2:89
1399 msgid ""
1400 "The function B<setitimer>()  sets the specified timer to the value in "
1401 "I<new_value>.  If I<old_value> is non-NULL, the old value of the timer is "
1402 "stored there."
1403 msgstr ""
1404 "B<setitimer>()  関数は指定されたタイマーに I<new_value> の値を設定する。 "
1405 "I<old_value> が NULL 以外の場合、タイマーの古い値が I<old_value> に格納され"
1406 "る。"
1407
1408 #. type: Plain text
1409 #: build/C/man2/getitimer.2:99
1410 msgid ""
1411 "Timers decrement from I<it_value> to zero, generate a signal, and reset to "
1412 "I<it_interval>.  A timer which is set to zero (I<it_value> is zero or the "
1413 "timer expires and I<it_interval> is zero) stops."
1414 msgstr ""
1415 "タイマーは I<it_value> からゼロへ向けて減っていき、シグナルを生成し、 "
1416 "I<it_interval> に初期化される。 タイマーがゼロに設定された場合 (I<it_value> "
1417 "がゼロか、タイマーが満了した時に I<it_interval> がゼロの場合) は停止する。"
1418
1419 #. type: Plain text
1420 #: build/C/man2/getitimer.2:105
1421 msgid ""
1422 "Both I<tv_sec> and I<tv_usec> are significant in determining the duration of "
1423 "a timer."
1424 msgstr "タイマーの期間は I<tv_sec> と I<tv_usec> の両方により決定される。"
1425
1426 #. type: Plain text
1427 #: build/C/man2/getitimer.2:117
1428 msgid ""
1429 "Timers will never expire before the requested time, but may expire some "
1430 "(short) time afterward, which depends on the system timer resolution and on "
1431 "the system load; see B<time>(7).  (But see BUGS below.)  Upon expiration, a "
1432 "signal will be generated and the timer reset.  If the timer expires while "
1433 "the process is active (always true for B<ITIMER_VIRTUAL>)  the signal will "
1434 "be delivered immediately when generated.  Otherwise the delivery will be "
1435 "offset by a small time dependent on the system loading."
1436 msgstr ""
1437 "要求した時間がくる前にタイマーが満了することはないが、 逆にある (短い) 時間だ"
1438 "け満了が遅れることはある。 どれだけ遅れるかはシステムの時間分解能とシステムの"
1439 "負荷に依存する (B<time>(7)  参照; 但し、バグの項も参照のこと)。 タイマーが満"
1440 "了するとシグナルが生成され、タイマーは初期化される。 プロセスがアクティブな"
1441 "時 (B<ITIMER_VIRTUAL> の場合には常にそうである) にタイマーが満了した場合、生"
1442 "成されたシグナルは すぐに配送される。それ以外の場合は、システムの負荷により少"
1443 "しの時間だけ 遅れて配送される。"
1444
1445 #. type: Plain text
1446 #: build/C/man2/getitimer.2:122 build/C/man2/killpg.2:93
1447 #: build/C/man2/tkill.2:73
1448 msgid ""
1449 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1450 "appropriately."
1451 msgstr ""
1452 "成功した場合、0 が返される。エラーが発生した場合、-1 が返され、 I<errno> が適"
1453 "切に設定される。"
1454
1455 #. type: TP
1456 #: build/C/man2/getitimer.2:123 build/C/man2/prctl.2:564
1457 #: build/C/man2/sigaction.2:660 build/C/man2/sigaltstack.2:136
1458 #: build/C/man2/sigpending.2:55 build/C/man2/sigprocmask.2:95
1459 #: build/C/man2/sigsuspend.2:73 build/C/man2/timer_settime.2:180
1460 #: build/C/man2/timerfd_create.2:341
1461 #, no-wrap
1462 msgid "B<EFAULT>"
1463 msgstr "B<EFAULT>"
1464
1465 #. type: Plain text
1466 #: build/C/man2/getitimer.2:130 build/C/man2/timerfd_create.2:348
1467 msgid "I<new_value>, I<old_value>, or I<curr_value> is not valid a pointer."
1468 msgstr "I<new_value>, I<old_value>, I<curr_value> が有効なポインタではない。"
1469
1470 #. type: Plain text
1471 #: build/C/man2/getitimer.2:143
1472 msgid ""
1473 "I<which> is not one of B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>; "
1474 "or (since Linux 2.6.22) one of the I<tv_usec> fields in the structure "
1475 "pointed to by I<new_value> contains a value outside the range 0 to 999999."
1476 msgstr ""
1477 "I<which> が B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれでもな"
1478 "い。 または (Linux 2.6.22 以降で)  I<new_value> で指定された構造体の "
1479 "I<tv_usec> フィールドの一つが 0 以上 999999 以下の範囲に入らない値である。"
1480
1481 #. type: Plain text
1482 #: build/C/man2/getitimer.2:153
1483 msgid ""
1484 "POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD).  "
1485 "POSIX.1-2008 marks B<getitimer>()  and B<setitimer>()  obsolete, "
1486 "recommending the use of the POSIX timers API (B<timer_gettime>(2), "
1487 "B<timer_settime>(2), etc.) instead."
1488 msgstr ""
1489 "POSIX.1-2001, SVr4, 4.4BSD (このコールは 4.2BSD で始めて現われた).  "
1490 "POSIX.1-2008 では、 B<getitimer>()  と B<setitimer>()  は廃止予定とされてお"
1491 "り、 代わりに POSIX タイマー API (B<timer_gettime>(2), B<timer_settime>(2)  "
1492 "など) を使うことが推奨されている。"
1493
1494 #. type: Plain text
1495 #: build/C/man2/getitimer.2:159
1496 msgid ""
1497 "A child created via B<fork>(2)  does not inherit its parent's interval "
1498 "timers.  Interval timers are preserved across an B<execve>(2)."
1499 msgstr ""
1500 "B<fork>(2)  で作成された子プロセスは、 親プロセスのインターバル・タイマーを継"
1501 "承しない。 B<execve>(2)  の前後ではインターバル・タイマーは保存される。"
1502
1503 #. type: Plain text
1504 #: build/C/man2/getitimer.2:169
1505 msgid ""
1506 "POSIX.1 leaves the interaction between B<setitimer>()  and the three "
1507 "interfaces B<alarm>(2), B<sleep>(3), and B<usleep>(3)  unspecified."
1508 msgstr ""
1509 "POSIX.1 では、 B<setitimer>()  と、 B<alarm>(2), B<sleep>(3), B<usleep>(3)  "
1510 "という 3 つのインタフェースとの相互の影響については規定していない。"
1511
1512 #. type: SH
1513 #: build/C/man2/getitimer.2:169 build/C/man2/kill.2:160
1514 #: build/C/man3/profil.3:70 build/C/man3/psignal.3:99
1515 #: build/C/man2/sigaction.2:775 build/C/man7/signal.7:836
1516 #: build/C/man2/signalfd.2:349 build/C/man2/sigpending.2:76
1517 #: build/C/man3/sigset.3:230 build/C/man2/timer_getoverrun.2:112
1518 #: build/C/man2/timerfd_create.2:534
1519 #, no-wrap
1520 msgid "BUGS"
1521 msgstr "バグ"
1522
1523 #. type: Plain text
1524 #: build/C/man2/getitimer.2:178
1525 msgid ""
1526 "The generation and delivery of a signal are distinct, and only one instance "
1527 "of each of the signals listed above may be pending for a process.  Under "
1528 "very heavy loading, an B<ITIMER_REAL> timer may expire before the signal "
1529 "from a previous expiration has been delivered.  The second signal in such an "
1530 "event will be lost."
1531 msgstr ""
1532 "シグナルの生成と配送は別個のものであり、 前述のシグナルのそれぞれについて一つ"
1533 "だけがプロセスのために 待機する。 非常に重い負荷の下では、 B<ITIMER_REAL> タ"
1534 "イマーでは、時間切れにより生成された一つ前のシグナルが配送される前に、 次の時"
1535 "間切れが起こる場合がある。 そのような場合、 2 個めのイベントに対するシグナル"
1536 "は失われてしまう。"
1537
1538 #. type: Plain text
1539 #: build/C/man2/getitimer.2:193
1540 msgid ""
1541 "On Linux kernels before 2.6.16, timer values are represented in jiffies.  If "
1542 "a request is made set a timer with a value whose jiffies representation "
1543 "exceeds B<MAX_SEC_IN_JIFFIES> (defined in I<include/linux/jiffies.h>), then "
1544 "the timer is silently truncated to this ceiling value.  On Linux/i386 "
1545 "(where, since Linux 2.6.13, the default jiffy is 0.004 seconds), this means "
1546 "that the ceiling value for a timer is approximately 99.42 days.  Since Linux "
1547 "2.6.16, the kernel uses a different internal representation for times, and "
1548 "this ceiling is removed."
1549 msgstr ""
1550 "バージョン 2.6.16 より前の Linux カーネルでは、 タイマーの値は jiffy で表現さ"
1551 "れる。 要求が jiffy 表現で (I<include/linux/jiffies.h> で定義されている)  "
1552 "B<MAX_SEC_IN_JIFFIES> を越える値をタイマーに設定しようとするものの場合、 タイ"
1553 "マーは暗黙にこの上限値に切り詰められる。 Linux/i386 の場合 (Linux 2.6.13 以降"
1554 "では jiffy は 0.004 秒) の場合、 これはタイマーの上限値がおよそ 99.42 日にな"
1555 "ることを意味する。 Linux 2.6.16 以降では、カーネルは時間に関する内部表現とし"
1556 "て 異なる表現を使うようになっており、この上限はなくなった。"
1557
1558 #.  4 Jul 2005: It looks like this bug may remain in 2.4.x.
1559 #.      http://lkml.org/lkml/2005/7/1/165
1560 #. type: Plain text
1561 #: build/C/man2/getitimer.2:200
1562 msgid ""
1563 "On certain systems (including i386), Linux kernels before version 2.6.12 "
1564 "have a bug which will produce premature timer expirations of up to one jiffy "
1565 "under some circumstances.  This bug is fixed in kernel 2.6.12."
1566 msgstr ""
1567 "(i386 を含む) いくつかのシステムでは、 バージョン 2.6.12 以前の Linux カーネ"
1568 "ルは ある種の状況では 1 jiffy 早くタイマーが終了してしまうというバグがあっ"
1569 "た。 このバグはカーネル 2.6.12 で修正された。"
1570
1571 #.  Bugzilla report 25 Apr 2006:
1572 #.  http://bugzilla.kernel.org/show_bug.cgi?id=6443
1573 #.  "setitimer() should reject noncanonical arguments"
1574 #. type: Plain text
1575 #: build/C/man2/getitimer.2:219
1576 msgid ""
1577 "POSIX.1-2001 says that B<setitimer>()  should fail if a I<tv_usec> value is "
1578 "specified that is outside of the range 0 to 999999.  However, in kernels up "
1579 "to and including 2.6.21, Linux does not give an error, but instead silently "
1580 "adjusts the corresponding seconds value for the timer.  From kernel 2.6.22 "
1581 "onward, this nonconformance has been repaired: an improper I<tv_usec> value "
1582 "results in an B<EINVAL> error."
1583 msgstr ""
1584 "POSIX.1-2001 では B<setitimer>()  は I<tv_usec> の値が 0 から 999999 の範囲外"
1585 "である場合には失敗するべきだとしている。 しかし、2.6.21 以前のカーネルの "
1586 "Linux ではエラーにならず、 対応する秒数の分だけそのタイマーの秒の値が暗黙に調"
1587 "整される。 カーネル 2.6.22 以降では、この標準非準拠の動作は修正され、 "
1588 "I<tv_usec> の値が不適切な場合には B<EINVAL> エラーとなる。"
1589
1590 #. type: Plain text
1591 #: build/C/man2/getitimer.2:226
1592 msgid ""
1593 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1594 "B<timerfd_create>(2), B<time>(7)"
1595 msgstr ""
1596 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1597 "B<timerfd_create>(2), B<time>(7)"
1598
1599 #. type: TH
1600 #: build/C/man3/gsignal.3:25
1601 #, no-wrap
1602 msgid "GSIGNAL"
1603 msgstr "GSIGNAL"
1604
1605 #. type: TH
1606 #: build/C/man3/gsignal.3:25 build/C/man3/profil.3:28 build/C/man3/sigvec.3:24
1607 #, no-wrap
1608 msgid "2007-07-26"
1609 msgstr "2007-07-26"
1610
1611 #. type: Plain text
1612 #: build/C/man3/gsignal.3:28
1613 msgid "gsignal, ssignal - software signal facility"
1614 msgstr "gsignal, ssignal - ソフトウェア・シグナル機能"
1615
1616 #. type: Plain text
1617 #: build/C/man3/gsignal.3:31 build/C/man2/kill.2:52 build/C/man3/psignal.3:34
1618 #: build/C/man3/raise.3:33 build/C/man2/sigaction.2:51
1619 #: build/C/man3/siginterrupt.3:35 build/C/man3/sigpause.3:29
1620 #: build/C/man3/sigwait.3:30 build/C/man2/sigwaitinfo.2:29
1621 #, no-wrap
1622 msgid "B<#include E<lt>signal.hE<gt>>\n"
1623 msgstr "B<#include E<lt>signal.hE<gt>>\n"
1624
1625 #. type: Plain text
1626 #: build/C/man3/gsignal.3:33
1627 #, no-wrap
1628 msgid "B<typedef void (*sighandler_t)(int);>\n"
1629 msgstr "B<typedef void (*sighandler_t)(int);>\n"
1630
1631 #. type: Plain text
1632 #: build/C/man3/gsignal.3:35
1633 #, fuzzy, no-wrap
1634 #| msgid "B<int gsignal(int>I<signum>B<);>\n"
1635 msgid "B<int gsignal(int >I<signum>B<);>\n"
1636 msgstr "B<int gsignal(int >I<signum>B<);>\n"
1637
1638 #. type: Plain text
1639 #: build/C/man3/gsignal.3:37
1640 #, no-wrap
1641 msgid "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1642 msgstr "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1643
1644 #. type: Plain text
1645 #: build/C/man3/gsignal.3:42 build/C/man2/kill.2:59 build/C/man2/killpg.2:51
1646 #: build/C/man3/profil.3:40 build/C/man3/psignal.3:44
1647 #: build/C/man2/sigaction.2:59 build/C/man2/sigaltstack.2:36
1648 #: build/C/man3/siginterrupt.3:42 build/C/man2/sigpending.2:38
1649 #: build/C/man2/sigprocmask.2:39 build/C/man3/sigqueue.3:37
1650 #: build/C/man3/sigset.3:43 build/C/man3/sigsetops.3:49
1651 #: build/C/man2/sigsuspend.2:38 build/C/man3/sigvec.3:43
1652 #: build/C/man3/sigwait.3:37 build/C/man2/sigwaitinfo.2:39
1653 #: build/C/man2/timer_create.2:46 build/C/man2/timer_delete.2:38
1654 #: build/C/man2/timer_getoverrun.2:38 build/C/man2/timer_settime.2:42
1655 #: build/C/man2/wait.2:68 build/C/man2/wait4.2:54
1656 msgid ""
1657 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
1658 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
1659
1660 #. type: Plain text
1661 #: build/C/man3/gsignal.3:47
1662 msgid "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1663 msgstr "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1664
1665 #. type: Plain text
1666 #: build/C/man3/gsignal.3:55
1667 msgid ""
1668 "Don't use these functions under Linux.  Due to a historical mistake, under "
1669 "Linux these functions are aliases for B<raise>(3)  and B<signal>(2), "
1670 "respectively."
1671 msgstr ""
1672 "Linux ではこれらの関数を使用しないこと。 過去に間違いがあり、Linux では "
1673 "B<gsignal>()  と B<ssignal>()  はそれぞれ B<raise>(3)  と B<signal>(2)  の別"
1674 "名になっている。"
1675
1676 #. type: Plain text
1677 #: build/C/man3/gsignal.3:93
1678 msgid ""
1679 "Elsewhere, on System V-like systems, these functions implement software "
1680 "signaling, entirely independent of the classical B<signal>(2)  and B<kill>"
1681 "(2)  functions.  The function B<ssignal>()  defines the action to take when "
1682 "the software signal with number I<signum> is raised using the function "
1683 "B<gsignal>(), and returns the previous such action or B<SIG_DFL>.  The "
1684 "function B<gsignal>()  does the following: if no action (or the action "
1685 "B<SIG_DFL>)  was specified for I<signum>, then it does nothing and returns "
1686 "0.  If the action B<SIG_IGN> was specified for I<signum>, then it does "
1687 "nothing and returns 1.  Otherwise, it resets the action to B<SIG_DFL> and "
1688 "calls the action function with argument I<signum>, and returns the value "
1689 "returned by that function.  The range of possible values I<signum> varies "
1690 "(often 1-15 or 1-17)."
1691 msgstr ""
1692 "一方、System V 風のシステムでは、これらの関数で、 従来の B<signal>(2)  や "
1693 "B<kill>(2)  の関数群とは完全に独立な、 ソフトウェア・シグナリングを実現してい"
1694 "る。 B<ssignal>()  関数は、番号 I<signum> のソフトウェア・シグナルが "
1695 "B<gsignal>()  関数を使って発生された時にとるべきアクションを定義する。 "
1696 "B<gsignal>()  の返り値は、一つ前に指定されていたアクション、もしくは "
1697 "B<SIG_DFL> である。 B<gsignal>()  は以下のような動作を行う: I<signum> に対し"
1698 "てアクションが指定されていないか、アクション B<SIG_DFL> が指定されていた場"
1699 "合、何もせずに 0 を返す。 I<signum> に対して アクション B<SIG_IGN> が指定され"
1700 "ていた場合、何もせずに 1 を返す。 それ以外の場合、アクションを B<SIG_DFL> に"
1701 "リセットし、引き数に I<signum> を指定してアクション関数を呼び出して、アクショ"
1702 "ン関数の返り値を返す。 I<signum> がとり得る値の範囲は実装により異なる (多くの"
1703 "場合 1〜15 か 1〜17 である)。"
1704
1705 #. type: Plain text
1706 #: build/C/man3/gsignal.3:101
1707 msgid ""
1708 "These functions are available under AIX, DG/UX, HP-UX, SCO, Solaris, Tru64.  "
1709 "They are called obsolete under most of these systems, and are broken under "
1710 "Linux libc and glibc.  Some systems also have B<gsignal_r>()  and "
1711 "B<ssignal_r>()."
1712 msgstr ""
1713 "これらの関数は、AIX, DG/UX, HP-UX, SCO, Solaris, Tru64 で使用可能である。 こ"
1714 "れらのシステムのほとんどで廃止されたことになっており、 Linux の libc および "
1715 "glibc では正しく実装されていない。 B<gsignal_r>()  と B<ssignal_r>()  が実装"
1716 "されているシステムもある。"
1717
1718 #. type: Plain text
1719 #: build/C/man3/gsignal.3:105
1720 msgid "B<kill>(2), B<signal>(2), B<raise>(3)"
1721 msgstr "B<kill>(2), B<signal>(2), B<raise>(3)"
1722
1723 #. type: TH
1724 #: build/C/man2/kill.2:44
1725 #, no-wrap
1726 msgid "KILL"
1727 msgstr "KILL"
1728
1729 #. type: TH
1730 #: build/C/man2/kill.2:44
1731 #, no-wrap
1732 msgid "2009-09-15"
1733 msgstr "2009-09-15"
1734
1735 #. type: Plain text
1736 #: build/C/man2/kill.2:47
1737 msgid "kill - send signal to a process"
1738 msgstr "kill - プロセスにシグナルを送る"
1739
1740 #. type: Plain text
1741 #: build/C/man2/kill.2:50
1742 #, no-wrap
1743 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
1744 msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
1745
1746 #. type: Plain text
1747 #: build/C/man2/kill.2:54
1748 #, no-wrap
1749 msgid "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1750 msgstr "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1751
1752 #. type: Plain text
1753 #: build/C/man2/kill.2:64
1754 msgid ""
1755 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1756 msgstr ""
1757 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1758
1759 #. type: Plain text
1760 #: build/C/man2/kill.2:70
1761 msgid ""
1762 "The B<kill>()  system call can be used to send any signal to any process "
1763 "group or process."
1764 msgstr ""
1765 "システムコールの B<kill>()  は、任意のプロセス・グループもしくはプロセスにシ"
1766 "グナルを 送るのに使われる。"
1767
1768 #. type: Plain text
1769 #: build/C/man2/kill.2:73
1770 msgid ""
1771 "If I<pid> is positive, then signal I<sig> is sent to the process with the ID "
1772 "specified by I<pid>."
1773 msgstr ""
1774 "I<pid> に正の値を指定した場合、シグナル I<sig> が I<pid> で指定された ID を持"
1775 "つプロセスに送られる。"
1776
1777 #. type: Plain text
1778 #: build/C/man2/kill.2:76
1779 msgid ""
1780 "If I<pid> equals 0, then I<sig> is sent to every process in the process "
1781 "group of the calling process."
1782 msgstr ""
1783 "I<pid> に 0 を指定した場合、 呼び出し元のプロセスのプロセス・グループに属する"
1784 "すべてのプロセスに I<sig> で指定したシグナルが送られる。"
1785
1786 #. type: Plain text
1787 #: build/C/man2/kill.2:80
1788 msgid ""
1789 "If I<pid> equals -1, then I<sig> is sent to every process for which the "
1790 "calling process has permission to send signals, except for process 1 "
1791 "(I<init>), but see below."
1792 msgstr ""
1793 "I<pid> に -1 を指定した場合、 I<sig> で指定したシグナルが、 呼び出し元のプロ"
1794 "セスがシグナルを送る許可を持つ全てのプロセスに 送られる。但し、プロセス番号 "
1795 "1 (I<init>) へはシグナルは送られない。 以下の関連部分も参照のこと。"
1796
1797 #. type: Plain text
1798 #: build/C/man2/kill.2:83
1799 msgid ""
1800 "If I<pid> is less than -1, then I<sig> is sent to every process in the "
1801 "process group whose ID is I<-pid>."
1802 msgstr ""
1803 "I<pid> に -1 より小さな値を指定した場合、 ID が I<-pid> のプロセス・グループ"
1804 "に属するすべてのプロセスに I<sig> で指定したシグナルが送られる。"
1805
1806 #. type: Plain text
1807 #: build/C/man2/kill.2:88
1808 msgid ""
1809 "If I<sig> is 0, then no signal is sent, but error checking is still "
1810 "performed; this can be used to check for the existence of a process ID or "
1811 "process group ID."
1812 msgstr ""
1813 "I<sig> に 0 を指定した場合、シグナルは送られないが、 エラーのチェックは行われ"
1814 "る。これを使って、プロセス ID や プロセスグループ ID の存在確認を行うことがで"
1815 "きる。"
1816
1817 #. type: Plain text
1818 #: build/C/man2/kill.2:99 build/C/man2/killpg.2:88
1819 msgid ""
1820 "For a process to have permission to send a signal it must either be "
1821 "privileged (under Linux: have the B<CAP_KILL> capability), or the real or "
1822 "effective user ID of the sending process must equal the real or saved set-"
1823 "user-ID of the target process.  In the case of B<SIGCONT> it suffices when "
1824 "the sending and receiving processes belong to the same session."
1825 msgstr ""
1826 "プロセスがシグナルを送信する許可を持つためには、 プロセスが特権 (Linux では "
1827 "B<CAP_KILL> ケーパビリティ (capability)) を持つか、 送信元プロセスの実ユー"
1828 "ザー ID または実効ユーザー ID が 送信先プロセスの実 set-user-ID または保存 "
1829 "set-user-ID と 等しくなければならない。 B<SIGCONT> の場合、送信プロセスと受信"
1830 "プロセスが 同じセッションに属していれば十分である。"
1831
1832 #. type: Plain text
1833 #: build/C/man2/kill.2:104
1834 msgid ""
1835 "On success (at least one signal was sent), zero is returned.  On error, -1 "
1836 "is returned, and I<errno> is set appropriately."
1837 msgstr ""
1838 "成功した場合 (少なくとも一つのシグナルが送信された場合)、 0 が返される。エ"
1839 "ラーの場合 -1 が返され、 I<errno> が適切に設定される。"
1840
1841 #. type: Plain text
1842 #: build/C/man2/kill.2:108
1843 msgid "An invalid signal was specified."
1844 msgstr "無効なシグナルを指定した。"
1845
1846 #. type: TP
1847 #: build/C/man2/kill.2:108 build/C/man2/killpg.2:98 build/C/man2/prctl.2:639
1848 #: build/C/man2/prctl.2:651 build/C/man2/prctl.2:661 build/C/man2/prctl.2:669
1849 #: build/C/man2/rt_sigqueueinfo.2:143 build/C/man2/sigaltstack.2:149
1850 #: build/C/man3/sigqueue.3:100 build/C/man2/tkill.2:77
1851 #, no-wrap
1852 msgid "B<EPERM>"
1853 msgstr "B<EPERM>"
1854
1855 #. type: Plain text
1856 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102
1857 msgid ""
1858 "The process does not have permission to send the signal to any of the target "
1859 "processes."
1860 msgstr ""
1861 "プロセスが、受信するプロセスのいずれに対しても シグナルを送る許可を持っていな"
1862 "い。"
1863
1864 #. type: TP
1865 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102 build/C/man2/killpg.2:106
1866 #: build/C/man2/rt_sigqueueinfo.2:151 build/C/man3/sigqueue.3:106
1867 #: build/C/man2/tkill.2:82
1868 #, no-wrap
1869 msgid "B<ESRCH>"
1870 msgstr "B<ESRCH>"
1871
1872 #. type: Plain text
1873 #: build/C/man2/kill.2:120
1874 msgid ""
1875 "The pid or process group does not exist.  Note that an existing process "
1876 "might be a zombie, a process which already committed termination, but has "
1877 "not yet been B<wait>(2)ed for."
1878 msgstr ""
1879 "指定したプロセスまたはプロセス・グループが存在しなかった。 ゾンビプロセスは存"
1880 "在するプロセスとしてみなされる。 ゾンビプロセスとはすでに処理は終了している"
1881 "が、親プロセスによる B<wait>()  処理が行われていないプロセスのことである。"
1882
1883 #. type: Plain text
1884 #: build/C/man2/kill.2:122 build/C/man2/pause.2:59 build/C/man2/wait.2:423
1885 msgid "SVr4, 4.3BSD, POSIX.1-2001."
1886 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
1887
1888 #. type: Plain text
1889 #: build/C/man2/kill.2:130
1890 msgid ""
1891 "The only signals that can be sent to process ID 1, the I<init> process, are "
1892 "those for which I<init> has explicitly installed signal handlers.  This is "
1893 "done to assure the system is not brought down accidentally."
1894 msgstr ""
1895 "プロセス番号 1 の I<init> プロセスに送ることができるシグナルは、 I<init> が明"
1896 "示的にシグナルハンドラを設定したシグナルだけである。 こうなっているのは、誤っ"
1897 "てシステムをダウンさせないようにするためである。"
1898
1899 #. type: Plain text
1900 #: build/C/man2/kill.2:136
1901 msgid ""
1902 "POSIX.1-2001 requires that I<kill(-1,sig)> send I<sig> to all processes that "
1903 "the calling process may send signals to, except possibly for some "
1904 "implementation-defined system processes.  Linux allows a process to signal "
1905 "itself, but on Linux the call I<kill(-1,sig)> does not signal the calling "
1906 "process."
1907 msgstr ""
1908 "POSIX.1-2001 では、 I<kill(-1,sig)> が 呼び出し元のプロセスがシグナルを送るこ"
1909 "とが出来るプロセス全てに I<sig> を送ることを要求している。 但し、システム実装"
1910 "時に定められたシステムプロセスは シグナルの送信対象から除外される。 Linux で"
1911 "は、プロセスが自分自身にシグナルを送れるようになっているが、 Linux の I<kill"
1912 "(-1,sig)> は呼び出し元のプロセスにはシグナルを送らない。"
1913
1914 #. type: Plain text
1915 #: build/C/man2/kill.2:146
1916 msgid ""
1917 "POSIX.1-2001 requires that if a process sends a signal to itself, and the "
1918 "sending thread does not have the signal blocked, and no other thread has it "
1919 "unblocked or is waiting for it in B<sigwait>(3), at least one unblocked "
1920 "signal must be delivered to the sending thread before the B<kill>()  returns."
1921 msgstr ""
1922 "POSIX.1-2001 では以下の動作になることを要求している。 自分自身にシグナルを送"
1923 "ると、シグナルを送ったスレッドがそのシグナルをブロック しておらず、他のどのス"
1924 "レッドもそのシグナルを受ける状態にもなく B<sigwait>(3)  でそのシグナルを待っ"
1925 "てもいない場合、 B<kill>()  が返る前に少なくとも一つのブロックされていない シ"
1926 "グナルがシグナルを送ったスレッドに配送されなければならない。"
1927
1928 #. type: SS
1929 #: build/C/man2/kill.2:146 build/C/man3/sigpause.3:75 build/C/man2/wait.2:477
1930 #, no-wrap
1931 msgid "Linux Notes"
1932 msgstr "Linux での注意"
1933
1934 #.  In the 0.* kernels things chopped and changed quite
1935 #.  a bit - MTK, 24 Jul 02
1936 #. type: Plain text
1937 #: build/C/man2/kill.2:160
1938 msgid ""
1939 "Across different kernel versions, Linux has enforced different rules for the "
1940 "permissions required for an unprivileged process to send a signal to another "
1941 "process.  In kernels 1.0 to 1.2.2, a signal could be sent if the effective "
1942 "user ID of the sender matched that of the receiver, or the real user ID of "
1943 "the sender matched that of the receiver.  From kernel 1.2.3 until 1.3.77, a "
1944 "signal could be sent if the effective user ID of the sender matched either "
1945 "the real or effective user ID of the receiver.  The current rules, which "
1946 "conform to POSIX.1-2001, were adopted in kernel 1.3.78."
1947 msgstr ""
1948 "Linux では、特権のないプロセスが他のプロセスにシグナルを送信するために 必要な"
1949 "権限についてのルールが、カーネルバージョンにより違っている。 カーネル 1.0 か"
1950 "ら 1.2.2 では、送信側の実効ユーザーID が受信側の 実効ユーザー IDと一致すれば"
1951 "シグナルを送信できた。 カーネル 1.2.3 から 1.3.77では、送信側の実効ユーザー"
1952 "ID が受信側の 実ユーザーID か実効ユーザーID のいずれかと一致すればシグナルを"
1953 "送信できた。 現在のルールは、POSIX.1-2001 に準拠しており、カーネル 1.3.78 以"
1954 "降で 適用されている。"
1955
1956 #. type: Plain text
1957 #: build/C/man2/kill.2:170
1958 msgid ""
1959 "In 2.6 kernels up to and including 2.6.7, there was a bug that meant that "
1960 "when sending signals to a process group, B<kill>()  failed with the error "
1961 "B<EPERM> if the caller did have permission to send the signal to I<any> "
1962 "(rather than I<all>) of the members of the process group.  Notwithstanding "
1963 "this error return, the signal was still delivered to all of the processes "
1964 "for which the caller had permission to signal."
1965 msgstr ""
1966 "バージョン 2.6.7 以前の 2.6 系のカーネルには、 プロセスグループにシグナルを"
1967 "送ったときに、 呼び出し元のプロセスがプロセスグループの (全メンバーではなく) "
1968 "一部のメンバー に対してのみシグナルを送る許可を持っている場合に、 B<kill>()  "
1969 "がエラー B<EPERM> で失敗するというバグがある。 このエラーが返るにもかかわら"
1970 "ず、そのシグナルは呼び出し元が シグナルを送る許可を持つ全てのプロセスへ送られ"
1971 "る。"
1972
1973 #. type: Plain text
1974 #: build/C/man2/kill.2:180
1975 msgid ""
1976 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1977 "(3), B<capabilities>(7), B<credentials>(7), B<signal>(7)"
1978 msgstr ""
1979 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1980 "(3), B<credentials>(7), B<capabilities>(7), B<signal>(7)"
1981
1982 #. type: TH
1983 #: build/C/man2/killpg.2:40
1984 #, no-wrap
1985 msgid "KILLPG"
1986 msgstr "KILLPG"
1987
1988 #. type: TH
1989 #: build/C/man2/killpg.2:40 build/C/man3/sigset.3:24 build/C/man2/wait4.2:34
1990 #, no-wrap
1991 msgid "2010-09-20"
1992 msgstr "2010-09-20"
1993
1994 #. type: Plain text
1995 #: build/C/man2/killpg.2:43
1996 msgid "killpg - send signal to a process group"
1997 msgstr "killpg - シグナルをプロセス・グループに送る"
1998
1999 #. type: Plain text
2000 #: build/C/man2/killpg.2:47
2001 msgid "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
2002 msgstr "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
2003
2004 #. type: TP
2005 #: build/C/man2/killpg.2:54
2006 #, no-wrap
2007 msgid "B<killpg>():"
2008 msgstr "B<killpg>():"
2009
2010 #. type: Plain text
2011 #: build/C/man2/killpg.2:58 build/C/man2/sigaltstack.2:44
2012 #: build/C/man3/siginterrupt.3:49 build/C/man2/wait4.2:61
2013 msgid ""
2014 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
2015 "_XOPEN_SOURCE_EXTENDED"
2016 msgstr ""
2017 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
2018 "_XOPEN_SOURCE_EXTENDED"
2019
2020 #. type: Plain text
2021 #: build/C/man2/killpg.2:68
2022 msgid ""
2023 "B<killpg>()  sends the signal I<sig> to the process group I<pgrp>.  See "
2024 "B<signal>(7)  for a list of signals."
2025 msgstr ""
2026 "B<killpg>()  は I<sig> で指定したシグナルを I<pgrp> で指定したプロセス・グ"
2027 "ループに送る。 シグナルの定義の一覧は B<signal>(7)  を参照のこと。"
2028
2029 #. type: Plain text
2030 #: build/C/man2/killpg.2:77
2031 msgid ""
2032 "If I<pgrp> is 0, B<killpg>()  sends the signal to the calling process's "
2033 "process group.  (POSIX says: If I<pgrp> is less than or equal to 1, the "
2034 "behavior is undefined.)"
2035 msgstr ""
2036 "引き数 I<pgrp> に 0 を指定した場合には B<killpg>()  は呼び出し元のプロセスが"
2037 "属しているプロセス・グループに対してシグナルを送る。 (POSIX では以下のように"
2038 "記述されている: I<pgrp> が 1 以下である場合、動作は未定義である。)"
2039
2040 #. type: Plain text
2041 #: build/C/man2/killpg.2:98
2042 msgid "I<Sig> is not a valid signal number."
2043 msgstr "I<sig> で指定された値は無効なシグナル番号である。"
2044
2045 #. type: Plain text
2046 #: build/C/man2/killpg.2:106
2047 msgid "No process can be found in the process group specified by I<pgrp>."
2048 msgstr ""
2049 "I<pgrp> で指定されたプロセス・グループに属するプロセスが存在しなかった。"
2050
2051 #. type: Plain text
2052 #: build/C/man2/killpg.2:110
2053 msgid ""
2054 "The process group was given as 0 but the sending process does not have a "
2055 "process group."
2056 msgstr ""
2057 "プロセス・グループとして 0 が指定されたが、送信プロセスは プロセス・グループ"
2058 "を持っていない。"
2059
2060 #. type: Plain text
2061 #: build/C/man2/killpg.2:114
2062 msgid ""
2063 "SVr4, 4.4BSD (the B<killpg>()  function call first appeared in 4BSD), "
2064 "POSIX.1-2001."
2065 msgstr "SVr4, 4.4BSD (B<killpg>()  は 4BSD で初めて追加された), POSIX.1-2001。"
2066
2067 #. type: Plain text
2068 #: build/C/man2/killpg.2:128
2069 msgid ""
2070 "There are various differences between the permission checking in BSD-type "
2071 "systems and System V-type systems.  See the POSIX rationale for B<kill>().  "
2072 "A difference not mentioned by POSIX concerns the return value B<EPERM>: BSD "
2073 "documents that no signal is sent and B<EPERM> returned when the permission "
2074 "check failed for at least one target process, while POSIX documents B<EPERM> "
2075 "only when the permission check failed for all target processes."
2076 msgstr ""
2077 "BSD 系システムと System V 系システムでは、 許可のチェックに様々な違いがあ"
2078 "る。 B<kill>(2)  についての POSIX の原理 (rationale) を参照すること。 POSIX "
2079 "で記述されていない違いとしては、返り値 B<EPERM> がある。 BSD では「送信先プロ"
2080 "セスの許可のチェックが 1 つでも失敗した場合は、 シグナルが送信されず、 "
2081 "B<EPERM> が返される」と記述されている。 POSIX では「送信先プロセスの許可の"
2082 "チェックが全て失敗した場合にのみ、 B<EPERM> が返される」と記述されている。"
2083
2084 #. type: Plain text
2085 #: build/C/man2/killpg.2:133
2086 msgid ""
2087 "On Linux, B<killpg>()  is implemented as a library function that makes the "
2088 "call I<kill(-pgrp,\\ sig)>."
2089 msgstr ""
2090 "Linux では、 B<killpg>()  はライブラリ関数として実装されており、 I<kill(-"
2091 "pgrp,\\ sig)> の呼び出しが行われる。"
2092
2093 #. type: Plain text
2094 #: build/C/man2/killpg.2:139
2095 msgid ""
2096 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<capabilities>(7), B<credentials>"
2097 "(7)"
2098 msgstr ""
2099 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<credentials>(7), B<capabilities>"
2100 "(7)"
2101
2102 #. type: TH
2103 #: build/C/man2/pause.2:30
2104 #, no-wrap
2105 msgid "PAUSE"
2106 msgstr "PAUSE"
2107
2108 #. type: TH
2109 #: build/C/man2/pause.2:30
2110 #, no-wrap
2111 msgid "2008-10-06"
2112 msgstr "2008-10-06"
2113
2114 #. type: Plain text
2115 #: build/C/man2/pause.2:33
2116 msgid "pause - wait for signal"
2117 msgstr "pause - シグナルを待つ"
2118
2119 #. type: Plain text
2120 #: build/C/man2/pause.2:35 build/C/man3/profil.3:33
2121 msgid "B<#include E<lt>unistd.hE<gt>>"
2122 msgstr "B<#include E<lt>unistd.hE<gt>>"
2123
2124 #. type: Plain text
2125 #: build/C/man2/pause.2:37
2126 msgid "B<int pause(void);>"
2127 msgstr "B<int pause(void);>"
2128
2129 #. type: Plain text
2130 #: build/C/man2/pause.2:42
2131 msgid ""
2132 "B<pause>()  causes the calling process (or thread) to sleep until a signal "
2133 "is delivered that either terminates the process or causes the invocation of "
2134 "a signal-catching function."
2135 msgstr ""
2136 "B<pause>()  は、呼び出したプロセス (またはスレッド) を、 そのプロセスを終了さ"
2137 "せたり、シグナル捕捉関数が起動されるような シグナルが配送されるまで、スリープ"
2138 "させる。"
2139
2140 #.  .BR ERESTARTNOHAND .
2141 #. type: Plain text
2142 #: build/C/man2/pause.2:53
2143 msgid ""
2144 "B<pause>()  only returns when a signal was caught and the signal-catching "
2145 "function returned.  In this case B<pause>()  returns -1, and I<errno> is set "
2146 "to B<EINTR>."
2147 msgstr ""
2148 "B<pause>()  が返るのは、シグナルを受け取りシグナル捕獲関数から返った場合だけ"
2149 "である。 この場合は B<pause>()  は -1 を返し、 I<errno> に B<EINTR> が設定さ"
2150 "れる。"
2151
2152 #. type: TP
2153 #: build/C/man2/pause.2:54 build/C/man2/sigsuspend.2:77
2154 #: build/C/man2/sigwaitinfo.2:116 build/C/man2/wait.2:409
2155 #, no-wrap
2156 msgid "B<EINTR>"
2157 msgstr "B<EINTR>"
2158
2159 #. type: Plain text
2160 #: build/C/man2/pause.2:57
2161 msgid "a signal was caught and the signal-catching function returned."
2162 msgstr "シグナルを受け取り、シグナル捕獲関数から帰ってきた。"
2163
2164 #. type: Plain text
2165 #: build/C/man2/pause.2:64
2166 msgid "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2167 msgstr "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2168
2169 #. type: TH
2170 #: build/C/man2/prctl.2:48
2171 #, no-wrap
2172 msgid "PRCTL"
2173 msgstr "PRCTL"
2174
2175 #. type: TH
2176 #: build/C/man2/prctl.2:48
2177 #, fuzzy, no-wrap
2178 #| msgid "2009-03-15"
2179 msgid "2012-04-23"
2180 msgstr "2009-03-15"
2181
2182 #. type: Plain text
2183 #: build/C/man2/prctl.2:51
2184 msgid "prctl - operations on a process"
2185 msgstr "prctl - プロセスの操作を行なう"
2186
2187 #. type: Plain text
2188 #: build/C/man2/prctl.2:54
2189 #, no-wrap
2190 msgid "B<#include E<lt>sys/prctl.hE<gt>>\n"
2191 msgstr "B<#include E<lt>sys/prctl.hE<gt>>\n"
2192
2193 #. type: Plain text
2194 #: build/C/man2/prctl.2:57
2195 #, no-wrap
2196 msgid ""
2197 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2198 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2199 msgstr ""
2200 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2201 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2202
2203 #. type: Plain text
2204 #: build/C/man2/prctl.2:64
2205 msgid ""
2206 "B<prctl>()  is called with a first argument describing what to do (with "
2207 "values defined in I<E<lt>linux/prctl.hE<gt>>), and further arguments with a "
2208 "significance depending on the first one.  The first argument can be:"
2209 msgstr ""
2210 "B<prctl>()  の動作は最初の引き数によって決定される (この値は I<E<lt>linux/"
2211 "prctl.hE<gt>> に定義されている)。 残りの引き数は最初の引き数によって変化す"
2212 "る。 一番目の引き数として以下のものを指定できる:"
2213
2214 #. type: TP
2215 #: build/C/man2/prctl.2:64
2216 #, no-wrap
2217 msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2218 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2219
2220 #. type: Plain text
2221 #: build/C/man2/prctl.2:76
2222 msgid ""
2223 "Return (as the function result) 1 if the capability specified in I<arg2> is "
2224 "in the calling thread's capability bounding set, or 0 if it is not.  (The "
2225 "capability constants are defined in I<E<lt>linux/capability.hE<gt>>.)  The "
2226 "capability bounding set dictates whether the process can receive the "
2227 "capability through a file's permitted capability set on a subsequent call to "
2228 "B<execve>(2)."
2229 msgstr ""
2230 "で指定されたケーパビリティが呼び出したスレッドのケーパビリティ バインディング"
2231 "セット (capability bounding set) に含まれている場合、 (関数の返り値として) 1 "
2232 "を返し、そうでない場合 0 を返す (ケーパビリティ定数は I<E<lt>linux/"
2233 "capability.hE<gt>> で定義されている)。 ケーパビリティバウンディングセット"
2234 "は、 B<execve>(2)  を呼び出した際に、ファイルの許可 (permitted) ケーパビリ"
2235 "ティの中で そのプロセスが獲得できるケーパビリティを指示するものである。"
2236
2237 #. type: Plain text
2238 #: build/C/man2/prctl.2:81
2239 msgid ""
2240 "If the capability specified in I<arg2> is not valid, then the call fails "
2241 "with the error B<EINVAL>."
2242 msgstr ""
2243 "I<arg2> に指定されたケーパビリティが有効でない場合、 呼び出しはエラー "
2244 "B<EINVAL> で失敗する。"
2245
2246 #. type: TP
2247 #: build/C/man2/prctl.2:81
2248 #, no-wrap
2249 msgid "B<PR_CAPBSET_DROP> (since Linux 2.6.25)"
2250 msgstr "B<PR_CAPBSET_DROP> (Linux 2.6.25 以降)"
2251
2252 #. type: Plain text
2253 #: build/C/man2/prctl.2:90
2254 msgid ""
2255 "If the calling thread has the B<CAP_SETPCAP> capability, then drop the "
2256 "capability specified by I<arg2> from the calling thread's capability "
2257 "bounding set.  Any children of the calling thread will inherit the newly "
2258 "reduced bounding set."
2259 msgstr ""
2260 "呼び出したスレッドがケーパビリティ B<CAP_SETPCAP> を持っている場合、 呼び出し"
2261 "たスレッドのケーパビリティバウンディングセットから I<arg2> で指定されたケーパ"
2262 "ビリティを外す。 呼び出したスレッドの子プロセスは変更後のバウンディングセット"
2263 "を 継承する。"
2264
2265 #. type: Plain text
2266 #: build/C/man2/prctl.2:102
2267 msgid ""
2268 "The call fails with the error: B<EPERM> if the calling thread does not have "
2269 "the B<CAP_SETPCAP>; B<EINVAL> if I<arg2> does not represent a valid "
2270 "capability; or B<EINVAL> if file capabilities are not enabled in the kernel, "
2271 "in which case bounding sets are not supported."
2272 msgstr ""
2273 "呼び出したスレッドが B<CAP_SETPCAP> を持っていない場合、呼び出しはエラー "
2274 "B<EPERM> で失敗する。 I<arg2> に指定されたケーパビリティが有効でない場合、 "
2275 "B<EINVAL> で失敗する。 ファイルケーパビリティがカーネルで有効になっていない場"
2276 "合 (この場合にはバウンディングセットがサポートされない)、 B<EINVAL> で失敗す"
2277 "る。"
2278
2279 #. type: TP
2280 #: build/C/man2/prctl.2:102
2281 #, no-wrap
2282 msgid "B<PR_SET_DUMPABLE> (since Linux 2.3.20)"
2283 msgstr "B<PR_SET_DUMPABLE> (Linux 2.3.20 以降)"
2284
2285 #.  See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
2286 #.  Subject:    Fix prctl privilege escalation (CVE-2006-2451)
2287 #.  From:       Marcel Holtmann <marcel () holtmann ! org>
2288 #.  Date:       2006-07-12 11:12:00
2289 #. type: Plain text
2290 #: build/C/man2/prctl.2:128
2291 #, fuzzy
2292 #| msgid ""
2293 #| "Set the state of the flag determining whether core dumps are produced for "
2294 #| "this process upon delivery of a signal whose default behavior is to "
2295 #| "produce a core dump.  (Normally this flag is set for a process by "
2296 #| "default, but it is cleared when a set-user-ID or set-group-ID program is "
2297 #| "executed and also by various system calls that manipulate process UIDs "
2298 #| "and GIDs).  In kernels up to and including 2.6.12, I<arg2> must be either "
2299 #| "0 (process is not dumpable) or 1 (process is dumpable).  Between kernels "
2300 #| "2.6.13 and 2.6.17, the value 2 was also permitted, which caused any "
2301 #| "binary which normally would not be dumped to be dumped readable by root "
2302 #| "only; for security reasons, this feature has been removed.  (See also the "
2303 #| "description of I</proc/sys/fs/suid_dumpable> in B<proc>(5).)"
2304 msgid ""
2305 "Set the state of the flag determining whether core dumps are produced for "
2306 "this process upon delivery of a signal whose default behavior is to produce "
2307 "a core dump.  (Normally this flag is set for a process by default, but it is "
2308 "cleared when a set-user-ID or set-group-ID program is executed and also by "
2309 "various system calls that manipulate process UIDs and GIDs).  In kernels up "
2310 "to and including 2.6.12, I<arg2> must be either 0 (process is not dumpable) "
2311 "or 1 (process is dumpable).  Between kernels 2.6.13 and 2.6.17, the value 2 "
2312 "was also permitted, which caused any binary which normally would not be "
2313 "dumped to be dumped readable by root only; for security reasons, this "
2314 "feature has been removed.  (See also the description of I</proc/sys/fs/"
2315 "suid_dumpable> in B<proc>(5).)  Processes that are not dumpable can not be "
2316 "attached via B<ptrace(2)> B<PTRACE_ATTACH>."
2317 msgstr ""
2318 "(Linux 2.3.20 以降)  デフォルトの振る舞いではコアダンプを引き起こすようなシグ"
2319 "ナルを受信したときに、 コアダンプするかどうかを決定するフラグを設定する (通常"
2320 "このフラグは、デフォルトではセットされているが、 set-user-ID あるいは set-"
2321 "group-ID プログラムが実行されたり、 さまざまなシステムコールによってプロセス"
2322 "の UID や GID が操作されたときに クリアされる)。 2.6.12 以前のカーネルでは、 "
2323 "I<arg2> は 0 (プロセスはダンプ不可) あるいは 1 (プロセスはダンプ可能) の どち"
2324 "らかでなければならない。 2.6.13 から 2.6.17 までのカーネルでは、値 2 も認めら"
2325 "れていた。 この値を指定すると、通常はダンプされないバイナリが root だけが 読"
2326 "み込み可能な形でダンプされた。 セキュリティ上の理由から、この機能は削除され"
2327 "た (B<proc>(5)  の I</proc/sys/fs/suid_dumpable> の説明も参照)。"
2328
2329 #. type: TP
2330 #: build/C/man2/prctl.2:128
2331 #, no-wrap
2332 msgid "B<PR_GET_DUMPABLE> (since Linux 2.3.20)"
2333 msgstr "B<PR_GET_DUMPABLE> (Linux 2.3.20 以降)"
2334
2335 #.  Since Linux 2.6.13, the dumpable flag can have the value 2,
2336 #.  but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
2337 #.  flags has a nonzero value.  This was fixed in 2.6.14.
2338 #. type: Plain text
2339 #: build/C/man2/prctl.2:135
2340 msgid ""
2341 "Return (as the function result) the current state of the calling process's "
2342 "dumpable flag."
2343 msgstr ""
2344 "(Linux 2.3.20 以降)  呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態"
2345 "を (関数の返り値として) 返す。"
2346
2347 #. type: TP
2348 #: build/C/man2/prctl.2:135
2349 #, no-wrap
2350 msgid "B<PR_SET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2351 msgstr "B<PR_SET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2352
2353 #.  Respectively 0, 1, 2
2354 #. type: Plain text
2355 #: build/C/man2/prctl.2:145
2356 msgid ""
2357 "Set the endian-ness of the calling process to the value given in I<arg2>, "
2358 "which should be one of the following: B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2359 "or B<PR_ENDIAN_PPC_LITTLE> (PowerPC pseudo little endian)."
2360 msgstr ""
2361 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<arg2> で指定された値"
2362 "に設定する。 指定できる値は B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2363 "B<PR_ENDIAN_PPC_LITTLE> (PowerPC 擬似リトルエンディアン)  のいずれか一つであ"
2364 "る。"
2365
2366 #. type: TP
2367 #: build/C/man2/prctl.2:145
2368 #, no-wrap
2369 msgid "B<PR_GET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2370 msgstr "B<PR_GET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2371
2372 #. type: Plain text
2373 #: build/C/man2/prctl.2:150
2374 msgid ""
2375 "Return the endian-ness of the calling process, in the location pointed to by "
2376 "I<(int\\ *) arg2>."
2377 msgstr ""
2378 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<(int\\ *) arg2> が指"
2379 "す場所に格納して返す。"
2380
2381 #. type: TP
2382 #: build/C/man2/prctl.2:150
2383 #, no-wrap
2384 msgid "B<PR_SET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2385 msgstr "B<PR_SET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2386
2387 #. type: Plain text
2388 #: build/C/man2/prctl.2:157
2389 msgid ""
2390 "Set floating-point emulation control bits to I<arg2>.  Pass "
2391 "B<PR_FPEMU_NOPRINT> to silently emulate fp operations accesses, or "
2392 "B<PR_FPEMU_SIGFPE> to not emulate fp operations and send B<SIGFPE> instead."
2393 msgstr ""
2394 "浮動小数点エミュレーション (floating-point emulation) 制御ビットを I<arg2> で"
2395 "指定された値に設定する。 指定できる値は B<PR_FPEMU_NOPRINT> (浮動小数点命令ア"
2396 "クセスを黙って エミュレートする) か B<PR_FPEMU_SIGFPE> (浮動小数点命令をエ"
2397 "ミュレートせず、 代わりに B<SIGFPE> を送る) である。"
2398
2399 #. type: TP
2400 #: build/C/man2/prctl.2:157
2401 #, no-wrap
2402 msgid "B<PR_GET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2403 msgstr "B<PR_GET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2404
2405 #. type: Plain text
2406 #: build/C/man2/prctl.2:162
2407 msgid ""
2408 "Return floating-point emulation control bits, in the location pointed to by "
2409 "I<(int\\ *) arg2>."
2410 msgstr ""
2411 "浮動小数点エミュレーション制御ビットの値を I<(int\\ *) arg2> が指す場所に格納"
2412 "して返す。"
2413
2414 #. type: TP
2415 #: build/C/man2/prctl.2:162
2416 #, no-wrap
2417 msgid "B<PR_SET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2418 msgstr "B<PR_SET_FPEXC> (Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2419
2420 #. type: Plain text
2421 #: build/C/man2/prctl.2:175
2422 msgid ""
2423 "Set floating-point exception mode to I<arg2>.  Pass B<PR_FP_EXC_SW_ENABLE> "
2424 "to use FPEXC for FP exception enables, B<PR_FP_EXC_DIV> for floating-point "
2425 "divide by zero, B<PR_FP_EXC_OVF> for floating-point overflow, "
2426 "B<PR_FP_EXC_UND> for floating-point underflow, B<PR_FP_EXC_RES> for floating-"
2427 "point inexact result, B<PR_FP_EXC_INV> for floating-point invalid operation, "
2428 "B<PR_FP_EXC_DISABLED> for FP exceptions disabled, B<PR_FP_EXC_NONRECOV> for "
2429 "async nonrecoverable exception mode, B<PR_FP_EXC_ASYNC> for async "
2430 "recoverable exception mode, B<PR_FP_EXC_PRECISE> for precise exception mode."
2431 msgstr ""
2432 "浮動小数点例外モード (floating-point exception mode) を I<arg2> で指定された"
2433 "値に設定する。 指定できるのは以下の値である: B<PR_FP_EXC_SW_ENABLE> (FPEXC で"
2434 "浮動小数点例外を有効にする)、 B<PR_FP_EXC_DIV> (0 除算)、 B<PR_FP_EXC_OVF> "
2435 "(オーバーフロー)、 B<PR_FP_EXC_UND> (アンダーフロー)、 B<PR_FP_EXC_RES> (不正"
2436 "確な結果 (inexact result))、 B<PR_FP_EXC_INV> (不正な命令 (invalid "
2437 "operation))、 B<PR_FP_EXC_DISABLED> (浮動小数点例外を無効にする)、 "
2438 "B<PR_FP_EXC_NONRECOV> (async nonrecoverable exception mode)、 "
2439 "B<PR_FP_EXC_ASYNC> (async recoverable exception mode)、 B<PR_FP_EXC_PRECISE> "
2440 "(precise exception mode)。"
2441
2442 #. type: TP
2443 #: build/C/man2/prctl.2:175
2444 #, no-wrap
2445 msgid "B<PR_GET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2446 msgstr "B<PR_GET_FPEXC>(Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2447
2448 #. type: Plain text
2449 #: build/C/man2/prctl.2:180
2450 msgid ""
2451 "Return floating-point exception mode, in the location pointed to by I<(int\\ "
2452 "*) arg2>."
2453 msgstr ""
2454 "浮動小数点例外モードの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2455
2456 #. type: TP
2457 #: build/C/man2/prctl.2:180
2458 #, no-wrap
2459 msgid "B<PR_SET_KEEPCAPS> (since Linux 2.2.18)"
2460 msgstr "B<PR_SET_KEEPCAPS> (Linux 2.2.18 以降)"
2461
2462 #. type: Plain text
2463 #: build/C/man2/prctl.2:198
2464 #, fuzzy
2465 #| msgid ""
2466 #| "Set the state of the thread's \"keep capabilities\" flag, which "
2467 #| "determines whether the threads's effective and permitted capability sets "
2468 #| "are cleared when a change is made to the threads's user IDs such that the "
2469 #| "threads's real UID, effective UID, and saved set-user-ID all become "
2470 #| "nonzero when at least one of them previously had the value 0.  (By "
2471 #| "default, these credential sets are cleared).  I<arg2> must be either 0 "
2472 #| "(capabilities are cleared) or 1 (capabilities are kept).  This value will "
2473 #| "be reset to 0 on subsequent calls to B<execve>(2)."
2474 msgid ""
2475 "Set the state of the thread's \"keep capabilities\" flag, which determines "
2476 "whether the threads's permitted capability set is cleared when a change is "
2477 "made to the threads's user IDs such that the threads's real UID, effective "
2478 "UID, and saved set-user-ID all become nonzero when at least one of them "
2479 "previously had the value 0.  By default, the permitted capability set is "
2480 "cleared when such a change is made; setting the \"keep capabilities\" flag "
2481 "prevents it from being cleared.  I<arg2> must be either 0 (permitted "
2482 "capabilities are cleared)  or 1 (permitted capabilities are kept).  (A "
2483 "thread's I<effective> capability set is always cleared when such a "
2484 "credential change is made, regardless of the setting of the \"keep "
2485 "capabilities\" flag.)  The \"keep capabilities\" value will be reset to 0 on "
2486 "subsequent calls to B<execve>(2)."
2487 msgstr ""
2488 "スレッドの「ケーパビリティ保持」フラグを設定する。 このフラグは、スレッドの"
2489 "実 UID、実効 UID、保存 set-user-ID のうち少なくとも 一つが 0 であった状態か"
2490 "ら、これら全てが 0 以外に変更されたとき、 スレッドの実効/許可のケーパビリティ"
2491 "集合がクリアされるかどうかを決定する (デフォルトでは、これらのケーパビリティ"
2492 "集合はクリアされる)。 I<arg2> は 0 (ケーパビリティをクリアする) あるいは 1 "
2493 "(ケーパビリティを保持する) の どちらかでなければならない。 B<execve>(2)  が呼"
2494 "び出されると、この値は 0 にリセットされる。"
2495
2496 #. type: TP
2497 #: build/C/man2/prctl.2:198
2498 #, no-wrap
2499 msgid "B<PR_GET_KEEPCAPS> (since Linux 2.2.18)"
2500 msgstr "B<PR_GET_KEEPCAPS> (Linux 2.2.18 以降)"
2501
2502 #. type: Plain text
2503 #: build/C/man2/prctl.2:202
2504 msgid ""
2505 "Return (as the function result) the current state of the calling threads's "
2506 "\"keep capabilities\" flag."
2507 msgstr ""
2508 "呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の"
2509 "返り値として) 返す。"
2510
2511 #. type: TP
2512 #: build/C/man2/prctl.2:202
2513 #, no-wrap
2514 msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2515 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2516
2517 #.  TASK_COMM_LEN in include/linux/sched.h
2518 #. type: Plain text
2519 #: build/C/man2/prctl.2:210
2520 msgid ""
2521 "Set the process name for the calling process, using the value in the "
2522 "location pointed to by I<(char\\ *) arg2>.  The name can be up to 16 bytes "
2523 "long, and should be null-terminated if it contains fewer bytes."
2524 msgstr ""
2525 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納された値"
2526 "を使って設定する。 名前は最大で 16 バイトであり、 それより少ないバイト数の場"
2527 "合は NULL で終端すべきである。"
2528
2529 #. type: TP
2530 #: build/C/man2/prctl.2:210
2531 #, no-wrap
2532 msgid "B<PR_GET_NAME> (since Linux 2.6.11)"
2533 msgstr "B<PR_GET_NAME> (Linux 2.6.11 以降)"
2534
2535 #. type: Plain text
2536 #: build/C/man2/prctl.2:217
2537 msgid ""
2538 "Return the process name for the calling process, in the buffer pointed to by "
2539 "I<(char\\ *) arg2>.  The buffer should allow space for up to 16 bytes; the "
2540 "returned string will be null-terminated if it is shorter than that."
2541 msgstr ""
2542 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納して返"
2543 "す。 バッファは最大で 16 バイトを格納できるようにすべきである。 返される文字"
2544 "列は、長さが 16 バイトより短い場合は NULL 終端される。"
2545
2546 #. type: TP
2547 #: build/C/man2/prctl.2:217
2548 #, no-wrap
2549 msgid "B<PR_SET_PDEATHSIG> (since Linux 2.1.57)"
2550 msgstr "B<PR_SET_PDEATHSIG> (Linux 2.1.57 以降)"
2551
2552 #. type: Plain text
2553 #: build/C/man2/prctl.2:228
2554 #, fuzzy
2555 #| msgid ""
2556 #| "Set the parent process death signal of the calling process to I<arg2> "
2557 #| "(either a signal value in the range 1..maxsig, or 0 to clear).  This is "
2558 #| "the signal that the calling process will get when its parent dies.  This "
2559 #| "value is cleared for the child of a B<fork>(2)."
2560 msgid ""
2561 "Set the parent process death signal of the calling process to I<arg2> "
2562 "(either a signal value in the range 1..maxsig, or 0 to clear).  This is the "
2563 "signal that the calling process will get when its parent dies.  This value "
2564 "is cleared for the child of a B<fork>(2)  and (since Linux 2.5.36 / 2.6.23)  "
2565 "when execing a set-user_ID or set-group-ID binary."
2566 msgstr ""
2567 "親プロセス死亡シグナル (parent process death signal) を I<arg2> に設定する "
2568 "(設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除である)。 呼び"
2569 "出し元プロセスの親プロセスが死んだ際に、ここで設定した値が シグナルとして通知"
2570 "される。この値は B<fork>(2)  の子プロセスでは解除される。"
2571
2572 #. type: TP
2573 #: build/C/man2/prctl.2:228
2574 #, no-wrap
2575 msgid "B<PR_GET_PDEATHSIG> (since Linux 2.3.15)"
2576 msgstr "B<PR_GET_PDEATHSIG> (Linux 2.3.15 以降)"
2577
2578 #. type: Plain text
2579 #: build/C/man2/prctl.2:233
2580 msgid ""
2581 "Return the current value of the parent process death signal, in the location "
2582 "pointed to by I<(int\\ *) arg2>."
2583 msgstr ""
2584 "親プロセス死亡シグナルの現在の値を I<(int\\ *) arg2> が指す場所に格納して返"
2585 "す。"
2586
2587 #. type: TP
2588 #: build/C/man2/prctl.2:233
2589 #, no-wrap
2590 msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
2591 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
2592
2593 #.  See http://thread.gmane.org/gmane.linux.kernel/542632
2594 #.  [PATCH 0 of 2] seccomp updates
2595 #.  andrea@cpushare.com
2596 #. type: Plain text
2597 #: build/C/man2/prctl.2:257
2598 msgid ""
2599 "Set the secure computing mode for the calling thread.  In the current "
2600 "implementation, I<arg2> must be 1.  After the secure computing mode has been "
2601 "set to 1, the only system calls that the thread is permitted to make are "
2602 "B<read>(2), B<write>(2), B<_exit>(2), and B<sigreturn>(2).  Other system "
2603 "calls result in the delivery of a B<SIGKILL> signal.  Secure computing mode "
2604 "is useful for number-crunching applications that may need to execute "
2605 "untrusted byte code, perhaps obtained by reading from a pipe or socket.  "
2606 "This operation is only available if the kernel is configured with "
2607 "CONFIG_SECCOMP enabled."
2608 msgstr ""
2609 "呼び出したスレッドの secure computing モードを設定する。 現在の実装では、 "
2610 "I<arg2> は 1 にしなければならない。 secure computing モードを 1 に設定する"
2611 "と、 そのスレッドが呼び出しを許可されるシステムコールは B<read>(2), B<write>"
2612 "(2), B<_exit>(2), B<sigreturn>(2)  だけになる。 それ以外のシステムコールを呼"
2613 "び出すと、シグナル B<SIGKILL> が配送される。 パイプやソケットから読み込んだ、"
2614 "信頼できないバイトコードを実行する 必要がある大量の演算を行うアプリケーション"
2615 "において、 secure computing モードは役立つ。 この操作は利用できるのは、カーネ"
2616 "ルが CONFIG_SECCOMP を有効にして 作成されている場合だけである。"
2617
2618 #. type: TP
2619 #: build/C/man2/prctl.2:257
2620 #, no-wrap
2621 msgid "B<PR_GET_SECCOMP> (since Linux 2.6.23)"
2622 msgstr "B<PR_GET_SECCOMP> (Linux 2.6.23 以降)"
2623
2624 #. type: Plain text
2625 #: build/C/man2/prctl.2:270
2626 msgid ""
2627 "Return the secure computing mode of the calling thread.  Not very useful for "
2628 "the current implementation (mode equals 1), but may be useful for other "
2629 "possible future modes: if the caller is not in secure computing mode, this "
2630 "operation returns 0; if the caller is in secure computing mode, then the "
2631 "B<prctl>()  call will cause a B<SIGKILL> signal to be sent to the process.  "
2632 "This operation is only available if the kernel is configured with "
2633 "CONFIG_SECCOMP enabled."
2634 msgstr ""
2635 "呼び出したスレッドの secure computing モードを返す。 現在の実装 (モードは 1 "
2636 "固定) はあまり役に立たないが、 将来他のモードが実装されると役立つようになるか"
2637 "もしれない。 呼び出したスレッドが secure computing モードでなかった場合、 こ"
2638 "の操作は 0 を返す。 呼び出したスレッドが secure computing モードの場合、 "
2639 "B<prctl>()  を呼び出すとシグナル B<SIGKILL> がそのプロセスに送信される。 この"
2640 "操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして 作成されている場"
2641 "合だけである。"
2642
2643 #. type: TP
2644 #: build/C/man2/prctl.2:270
2645 #, no-wrap
2646 msgid "B<PR_SET_SECUREBITS> (since Linux 2.6.26)"
2647 msgstr "B<PR_SET_SECUREBITS> (Linux 2.6.26 以降)"
2648
2649 #. type: Plain text
2650 #: build/C/man2/prctl.2:276
2651 msgid ""
2652 "Set the \"securebits\" flags of the calling thread to the value supplied in "
2653 "I<arg2>.  See B<capabilities>(7)."
2654 msgstr ""
2655 "呼び出したスレッドの \"securebits\" フラグを I<arg2> で渡された値に設定す"
2656 "る。 B<capabilities>(7)  参照。"
2657
2658 #. type: TP
2659 #: build/C/man2/prctl.2:276
2660 #, no-wrap
2661 msgid "B<PR_GET_SECUREBITS> (since Linux 2.6.26)"
2662 msgstr "B<PR_GET_SECUREBITS> (Linux 2.6.26 以降)"
2663
2664 #. type: Plain text
2665 #: build/C/man2/prctl.2:282
2666 msgid ""
2667 "Return (as the function result)  the \"securebits\" flags of the calling "
2668 "thread.  See B<capabilities>(7)."
2669 msgstr ""
2670 "呼び出したスレッドの \"securebits\" フラグを (関数の返り値として) 返す。 "
2671 "B<capabilities>(7)  参照。"
2672
2673 #. type: TP
2674 #: build/C/man2/prctl.2:282
2675 #, no-wrap
2676 msgid "B<PR_SET_TIMING> (since Linux 2.6.0-test4)"
2677 msgstr "B<PR_SET_TIMING> (Linux 2.6.0-test4 以降)"
2678
2679 #.  0
2680 #.  1
2681 #.  PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
2682 #.  and looking at the patch history, it appears
2683 #.  that it never did anything.
2684 #. type: Plain text
2685 #: build/C/man2/prctl.2:299
2686 #, fuzzy
2687 #| msgid ""
2688 #| "Set whether to use (normal, traditional) statistical process timing or "
2689 #| "accurate timestamp based process timing, by passing "
2690 #| "B<PR_TIMING_STATISTICAL> or B<PR_TIMING_TIMESTAMP> to I<arg2>.  "
2691 #| "B<PR_TIMING_TIMESTAMP> is not currently implemented (attempting to set "
2692 #| "this mode will yield the error B<EINVAL>)."
2693 msgid ""
2694 "Set whether to use (normal, traditional) statistical process timing or "
2695 "accurate timestamp-based process timing, by passing B<PR_TIMING_STATISTICAL> "
2696 "or B<PR_TIMING_TIMESTAMP> to I<arg2>.  B<PR_TIMING_TIMESTAMP> is not "
2697 "currently implemented (attempting to set this mode will yield the error "
2698 "B<EINVAL>)."
2699 msgstr ""
2700 "(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、 正確"
2701 "なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。 I<arg2> に"
2702 "指定できる値は B<PR_TIMING_STATISTICAL> か B<PR_TIMING_TIMESTAMP> である。 "
2703 "B<PR_TIMING_TIMESTAMP> は現在のところ実装されていない (このモードに設定しよう"
2704 "とするとエラー B<EINVAL> が起こることだろう)。"
2705
2706 #. type: TP
2707 #: build/C/man2/prctl.2:299
2708 #, no-wrap
2709 msgid "B<PR_GET_TIMING> (since Linux 2.6.0-test4)"
2710 msgstr "B<PR_GET_TIMING> (Linux 2.6.0-test4 以降)"
2711
2712 #. type: Plain text
2713 #: build/C/man2/prctl.2:303
2714 msgid ""
2715 "Return (as the function result) which process timing method is currently in "
2716 "use."
2717 msgstr "現在使用中のプロセスタイミングを決める方法を返す。"
2718
2719 #. type: TP
2720 #: build/C/man2/prctl.2:303
2721 #, fuzzy, no-wrap
2722 #| msgid "B<PR_SET_DUMPABLE> (since Linux 2.3.20)"
2723 msgid "B<PR_TASK_PERF_EVENTS_DISABLE> (since Linux 2.6.31)"
2724 msgstr "B<PR_SET_DUMPABLE> (Linux 2.3.20 以降)"
2725
2726 #. type: Plain text
2727 #: build/C/man2/prctl.2:312
2728 msgid ""
2729 "Disable all performance counters attached to the calling process, regardless "
2730 "of whether the counters were created by this process or another process.  "
2731 "Performance counters created by the calling process for other processes are "
2732 "unaffected.  For more information on performance counters, see the kernel "
2733 "source file I<tools/perf/design.txt>."
2734 msgstr ""
2735
2736 #.  commit 1d1c7ddbfab358445a542715551301b7fc363e28
2737 #. type: Plain text
2738 #: build/C/man2/prctl.2:318
2739 msgid ""
2740 "Originally called B<PR_TASK_PERF_COUNTERS_DISABLE>; renamed (with same "
2741 "numerical value)  in Linux 2.6.32."
2742 msgstr ""
2743
2744 #. type: TP
2745 #: build/C/man2/prctl.2:318
2746 #, fuzzy, no-wrap
2747 #| msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2748 msgid "B<PR_TASK_PERF_EVENTS_ENABLE> (since Linux 2.6.31)"
2749 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2750
2751 #. type: Plain text
2752 #: build/C/man2/prctl.2:323
2753 msgid ""
2754 "The converse of B<PR_TASK_PERF_EVENTS_DISABLE>; enable performance counters "
2755 "attached to the calling process."
2756 msgstr ""
2757
2758 #.  commit 1d1c7ddbfab358445a542715551301b7fc363e28
2759 #.  commit cdd6c482c9ff9c55475ee7392ec8f672eddb7be6
2760 #. type: Plain text
2761 #: build/C/man2/prctl.2:330
2762 msgid ""
2763 "Originally called B<PR_TASK_PERF_COUNTERS_ENABLE>; renamed in Linux 2.6.32."
2764 msgstr ""
2765
2766 #. type: TP
2767 #: build/C/man2/prctl.2:330
2768 #, no-wrap
2769 msgid "B<PR_SET_TSC> (since Linux 2.6.26, x86 only)"
2770 msgstr "B<PR_SET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2771
2772 #. type: Plain text
2773 #: build/C/man2/prctl.2:343
2774 msgid ""
2775 "Set the state of the flag determining whether the timestamp counter can be "
2776 "read by the process.  Pass B<PR_TSC_ENABLE> to I<arg2> to allow it to be "
2777 "read, or B<PR_TSC_SIGSEGV> to generate a B<SIGSEGV> when the process tries "
2778 "to read the timestamp counter."
2779 msgstr ""
2780 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を"
2781 "設定する。 読み出しを許可する場合は I<arg2> に B<PR_TSC_ENABLE> を、そのプロ"
2782 "セスがタイムスタンプ・カウンタを読み出そうとした際に B<SIGSEGV> を発生させる"
2783 "場合には B<PR_TSC_SIGSEGV> を渡す。"
2784
2785 #. type: TP
2786 #: build/C/man2/prctl.2:343
2787 #, no-wrap
2788 msgid "B<PR_GET_TSC> (since Linux 2.6.26, x86 only)"
2789 msgstr "B<PR_GET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2790
2791 #. type: Plain text
2792 #: build/C/man2/prctl.2:349
2793 msgid ""
2794 "Return the state of the flag determining whether the timestamp counter can "
2795 "be read, in the location pointed to by I<(int\\ *) arg2>."
2796 msgstr ""
2797 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態"
2798 "を I<(int\\ *) arg2> が指す場所に格納して返す。"
2799
2800 #. type: TP
2801 #: build/C/man2/prctl.2:349
2802 #, no-wrap
2803 msgid "B<PR_SET_UNALIGN>"
2804 msgstr "B<PR_SET_UNALIGN>"
2805
2806 #. type: Plain text
2807 #: build/C/man2/prctl.2:359
2808 msgid ""
2809 "(Only on: ia64, since Linux 2.3.48; parisc, since Linux 2.6.15; PowerPC, "
2810 "since Linux 2.6.18; Alpha, since Linux 2.6.22)  Set unaligned access control "
2811 "bits to I<arg2>.  Pass B<PR_UNALIGN_NOPRINT> to silently fix up unaligned "
2812 "user accesses, or B<PR_UNALIGN_SIGBUS> to generate B<SIGBUS> on unaligned "
2813 "user access."
2814 msgstr ""
2815 "(ia64 では Linux 2.3.48 以降; parisc では Linux 2.6.15 以降; PowerPC では "
2816 "Linux 2.6.18 以降; Alpha では Linux 2.6.22 以降; これらのアーキテクチャの"
2817 "み)  unaligned アクセス制御ビットを I<arg2> で指定された値に設定する。 指定で"
2818 "きる値は B<PR_UNALIGN_NOPRINT> (unaligned なユーザアクセスを黙って 修正する) "
2819 "か B<PR_UNALIGN_SIGBUS> (unaligned なユーザアクセスがあった場合 B<SIGBUS> を"
2820 "生成する) である。"
2821
2822 #. type: TP
2823 #: build/C/man2/prctl.2:359
2824 #, no-wrap
2825 msgid "B<PR_GET_UNALIGN>"
2826 msgstr "B<PR_GET_UNALIGN>"
2827
2828 #. type: Plain text
2829 #: build/C/man2/prctl.2:366
2830 msgid ""
2831 "(see B<PR_SET_UNALIGN> for information on versions and architectures)  "
2832 "Return unaligned access control bits, in the location pointed to by I<(int\\ "
2833 "*) arg2>."
2834 msgstr ""
2835 "(バージョンとアーキテクチャの情報は B<PR_SET_UNALIGN> 参照)  unaligned アクセ"
2836 "ス制御ビットの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2837
2838 #. type: TP
2839 #: build/C/man2/prctl.2:366
2840 #, fuzzy, no-wrap
2841 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2842 msgid "B<PR_MCE_KILL> (since Linux 2.6.32)"
2843 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2844
2845 #. type: Plain text
2846 #: build/C/man2/prctl.2:406
2847 msgid ""
2848 "Set the machine check memory corruption kill policy for the current thread.  "
2849 "If I<arg2> is B<PR_MCE_KILL_CLEAR>, clear the thread memory corruption kill "
2850 "policy and use the system-wide default.  (The system-wide default is defined "
2851 "by I</proc/sys/vm/memory_failure_early_kill>; see B<proc>(5).)  If I<arg2> "
2852 "is B<PR_MCE_KILL_SET>, use a thread-specific memory corruption kill policy.  "
2853 "In this case, I<arg3> defines whether the policy is I<early kill> "
2854 "(B<PR_MCE_KILL_EARLY>), I<late kill> (B<PR_MCE_KILL_LATE>), or the system-"
2855 "wide default (B<PR_MCE_KILL_DEFAULT>).  Early kill means that the thread "
2856 "receives a B<SIGBUS> signal as soon as hardware memory corruption is "
2857 "detected inside its address space.  In late kill mode, the process is only "
2858 "killed when it accesses a corrupted page.  See B<sigaction>(2)  for more "
2859 "information on the B<SIGBUS> signal.  The policy is inherited by children.  "
2860 "The remaining unused B<prctl>()  arguments must be zero for future "
2861 "compatibility."
2862 msgstr ""
2863
2864 #. type: TP
2865 #: build/C/man2/prctl.2:406
2866 #, fuzzy, no-wrap
2867 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2868 msgid "B<PR_MCE_KILL_GET> (since Linux 2.6.32)"
2869 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2870
2871 #. type: Plain text
2872 #: build/C/man2/prctl.2:412
2873 msgid ""
2874 "Return the current per-process machine check kill policy.  All unused "
2875 "B<prctl>()  arguments must be zero."
2876 msgstr ""
2877
2878 #. type: TP
2879 #: build/C/man2/prctl.2:412
2880 #, fuzzy, no-wrap
2881 #| msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2882 msgid "B<PR_SET_MM> (since Linux 3.3)"
2883 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2884
2885 #. type: Plain text
2886 #: build/C/man2/prctl.2:432
2887 msgid ""
2888 "Modify certain kernel memory map descriptor fields of the calling process.  "
2889 "Usually these fields are set by the kernel and dynamic loader (see B<ld.so>"
2890 "(8)  for more information) and a regular application should not use this "
2891 "feature.  However, there are cases, such as self-modifying programs, where a "
2892 "program might find it useful to change its own memory map.  This feature is "
2893 "available only if the kernel is built with the B<CONFIG_CHECKPOINT_RESTORE> "
2894 "option enabled.  The calling process must have the B<CAP_SYS_RESOURCE> "
2895 "capability.  The value in I<arg2> is one of the options below, while I<arg3> "
2896 "provides a new value for the option."
2897 msgstr ""
2898
2899 #. type: TP
2900 #: build/C/man2/prctl.2:433
2901 #, no-wrap
2902 msgid "B<PR_SET_MM_START_CODE>"
2903 msgstr ""
2904
2905 #. type: Plain text
2906 #: build/C/man2/prctl.2:442
2907 msgid ""
2908 "Set the address above which the program text can run.  The corresponding "
2909 "memory area must be readable and executable, but not writable or sharable "
2910 "(see B<mprotect>(2)  and B<mmap>(2)  for more information)."
2911 msgstr ""
2912
2913 #. type: TP
2914 #: build/C/man2/prctl.2:442
2915 #, no-wrap
2916 msgid "B<PR_SET_MM_END_CODE>"
2917 msgstr ""
2918
2919 #. type: Plain text
2920 #: build/C/man2/prctl.2:447
2921 msgid ""
2922 "Set the address below which the program text can run.  The corresponding "
2923 "memory area must be readable and executable, but not writable or sharable."
2924 msgstr ""
2925
2926 #. type: TP
2927 #: build/C/man2/prctl.2:447
2928 #, no-wrap
2929 msgid "B<PR_SET_MM_START_DATA>"
2930 msgstr ""
2931
2932 #. type: Plain text
2933 #: build/C/man2/prctl.2:453
2934 msgid ""
2935 "Set the address above which initialized and uninitialized (bss) data are "
2936 "placed.  The corresponding memory area must be readable and writable, but "
2937 "not executable or sharable."
2938 msgstr ""
2939
2940 #. type: TP
2941 #: build/C/man2/prctl.2:453
2942 #, fuzzy, no-wrap
2943 #| msgid "B<PR_SET_UNALIGN>"
2944 msgid "B<PR_SET_MM_END_DATA>"
2945 msgstr "B<PR_SET_UNALIGN>"
2946
2947 #. type: Plain text
2948 #: build/C/man2/prctl.2:459
2949 msgid ""
2950 "Set the address below which initialized and uninitialized (bss) data are "
2951 "placed.  The corresponding memory area must be readable and writable, but "
2952 "not executable or sharable."
2953 msgstr ""
2954
2955 #. type: TP
2956 #: build/C/man2/prctl.2:459
2957 #, no-wrap
2958 msgid "B<PR_SET_MM_START_STACK>"
2959 msgstr ""
2960
2961 #. type: Plain text
2962 #: build/C/man2/prctl.2:463
2963 msgid ""
2964 "Set the start address of the stack.  The corresponding memory area must be "
2965 "readable and writable."
2966 msgstr ""
2967
2968 #. type: TP
2969 #: build/C/man2/prctl.2:463
2970 #, no-wrap
2971 msgid "B<PR_SET_MM_START_BRK>"
2972 msgstr ""
2973
2974 #. type: Plain text
2975 #: build/C/man2/prctl.2:475
2976 msgid ""
2977 "Set the address above which the program heap can be expanded with B<brk>(2)  "
2978 "call.  The address must be greater than the ending address of the current "
2979 "program data segment.  In addition, the combined size of the resulting heap "
2980 "and the size of the data segment can't exceed the B<RLIMIT_DATA> resource "
2981 "limit (see B<setrlimit>(2))."
2982 msgstr ""
2983
2984 #. type: TP
2985 #: build/C/man2/prctl.2:475
2986 #, fuzzy, no-wrap
2987 #| msgid "B<PR_SET_UNALIGN>"
2988 msgid "B<PR_SET_MM_BRK>"
2989 msgstr "B<PR_SET_UNALIGN>"
2990
2991 #.  FIXME The following (until ========) is not yet in mainline kernel,
2992 #.  so commented out for the moment.
2993 #.  .TP
2994 #.  .BR PR_SET_MM_ARG_START
2995 #.  Set the address above which the program command line is placed.
2996 #.  .TP
2997 #.  .BR PR_SET_MM_ARG_END
2998 #.  Set the address below which the program command line is placed.
2999 #.  .TP
3000 #.  .BR PR_SET_MM_ENV_START
3001 #.  Set the address above which the program environment is placed.
3002 #.  .TP
3003 #.  .BR PR_SET_MM_ENV_END
3004 #.  Set the address below which the program environment is placed.
3005 #.  .IP
3006 #.  The address passed with
3007 #.  .BR PR_SET_MM_ARG_START ,
3008 #.  .BR PR_SET_MM_ARG_END ,
3009 #.  .BR PR_SET_MM_ENV_START ,
3010 #.  and
3011 #.  .BR PR_SET_MM_ENV_END
3012 #.  should belong to a process stack area.
3013 #.  Thus, the corresponding memory area must be readable, writable, and
3014 #.  (depending on the kernel configuration) have the
3015 #.  .BR MAP_GROWSDOWN
3016 #.  attribute set (see
3017 #.  .BR mmap (2)).
3018 #.  .TP
3019 #.  .BR PR_SET_MM_AUXV
3020 #.  Set a new auxiliary vector.
3021 #.  The
3022 #.  .I arg3
3023 #.  argument should provide the address of the vector.
3024 #.  The
3025 #.  .I arg4
3026 #.  is the size of the vector.
3027 #.  .TP
3028 #.  .BR PR_SET_MM_EXE_FILE
3029 #.  Supersede the
3030 #.  .IR /proc/pid/exe
3031 #.  symbolic link with a new one pointing to a new executable file
3032 #.  identified by the file descriptor provided in
3033 #.  .I arg3
3034 #.  argument.
3035 #.  The file descriptor should be obtained with a regular
3036 #.  .BR open (2)
3037 #.  call.
3038 #.  .IP
3039 #.  To change the symbolic link, one needs to unmap all existing
3040 #.  executable memory areas, including those created by the kernel itself
3041 #.  (for example the kernel usually creates at least one executable
3042 #.  memory area for the ELF
3043 #.  .IR .text
3044 #.  section).
3045 #.  .IP
3046 #.  The second limitation is that such transitions can be done only once
3047 #.  in a process life time.
3048 #.  Any further attempts will be rejected.
3049 #.  This should help system administrators to monitor unusual
3050 #.  symbolic-link transitions over all process running in a system.
3051 #.  ========== END FIXME
3052 #. type: Plain text
3053 #: build/C/man2/prctl.2:544
3054 msgid ""
3055 "Set the current B<brk>(2)  value.  The requirements for the address are the "
3056 "same as for the B<PR_SET_MM_START_BRK> option."
3057 msgstr ""
3058
3059 #. type: Plain text
3060 #: build/C/man2/prctl.2:563
3061 #, fuzzy
3062 #| msgid ""
3063 #| "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
3064 #| "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, and (if it returns)  "
3065 #| "B<PR_GET_SECCOMP> return the nonnegative values described above.  All "
3066 #| "other I<option> values return 0 on success.  On error, -1 is returned, "
3067 #| "and I<errno> is set appropriately."
3068 msgid ""
3069 "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
3070 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_MCE_KILL_GET>, and (if it "
3071 "returns)  B<PR_GET_SECCOMP> return the nonnegative values described above.  "
3072 "All other I<option> values return 0 on success.  On error, -1 is returned, "
3073 "and I<errno> is set appropriately."
3074 msgstr ""
3075 "成功すると、 B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
3076 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_GET_SECCOMP> は上述の負でない値"
3077 "を返す (B<PR_GET_SECCOMP> は返らない場合もある)。 I<option> が他の値の場合は"
3078 "成功時に 0 を返す。 エラーの場合、-1 を返し、 I<errno> に適切な値を設定する。"
3079
3080 #. type: Plain text
3081 #: build/C/man2/prctl.2:568
3082 msgid "I<arg2> is an invalid address."
3083 msgstr "I<arg2> が不正なアドレスである。"
3084
3085 #. type: Plain text
3086 #: build/C/man2/prctl.2:573
3087 msgid "The value of I<option> is not recognized."
3088 msgstr "I<option> の値が理解できない。"
3089
3090 #. type: Plain text
3091 #: build/C/man2/prctl.2:585
3092 msgid ""
3093 "I<option> is B<PR_MCE_KILL> or B<PR_MCE_KILL_GET> or B<PR_SET_MM>, and "
3094 "unused B<prctl>()  arguments were not specified as zero."
3095 msgstr ""
3096
3097 #. type: Plain text
3098 #: build/C/man2/prctl.2:590
3099 msgid "I<arg2> is not valid value for this I<option>."
3100 msgstr "I<arg2> が指定された I<option> で有効な値ではない。"
3101
3102 #. type: Plain text
3103 #: build/C/man2/prctl.2:599
3104 msgid ""
3105 "I<option> is B<PR_SET_SECCOMP> or B<PR_SET_SECCOMP>, and the kernel was not "
3106 "configured with B<CONFIG_SECCOMP>."
3107 msgstr ""
3108 "I<option> が B<PR_SET_SECCOMP> か B<PR_GET_SECCOMP> だが、カーネルが "
3109 "B<CONFIG_SECCOMP> を有効にして作成されていなかった。"
3110
3111 #. type: Plain text
3112 #: build/C/man2/prctl.2:605
3113 msgid "I<option> is B<PR_SET_MM>, and one of the following is true"
3114 msgstr ""
3115
3116 #. type: Plain text
3117 #: build/C/man2/prctl.2:611
3118 msgid "I<arg4> or I<arg5> is nonzero;"
3119 msgstr ""
3120
3121 #. type: Plain text
3122 #: build/C/man2/prctl.2:616
3123 msgid ""
3124 "I<arg3> is greater than B<TASK_SIZE> (the limit on the size of the user "
3125 "address space for this architecture);"
3126 msgstr ""
3127
3128 #. type: Plain text
3129 #: build/C/man2/prctl.2:626
3130 msgid ""
3131 "I<arg2> is B<PR_SET_MM_START_CODE>, B<PR_SET_MM_END_CODE>, "
3132 "B<PR_SET_MM_START_DATA>, B<PR_SET_MM_END_DATA>, or B<PR_SET_MM_START_STACK,> "
3133 "and the permissions of the corresponding memory area are not as required;"
3134 msgstr ""
3135
3136 #. type: Plain text
3137 #: build/C/man2/prctl.2:638
3138 msgid ""
3139 "I<arg2> is B<PR_SET_MM_START_BRK> or B<PR_SET_MM_BRK>, and I<arg3> is less "
3140 "than or equal to the end of the data segment or specifies a value that would "
3141 "cause the B<RLIMIT_DATA> resource limit to be exceeded."
3142 msgstr ""
3143
3144 #. type: Plain text
3145 #: build/C/man2/prctl.2:651
3146 msgid ""
3147 "I<option> is B<PR_SET_SECUREBITS>, and the caller does not have the "
3148 "B<CAP_SETPCAP> capability, or tried to unset a \"locked\" flag, or tried to "
3149 "set a flag whose corresponding locked flag was set (see B<capabilities>(7))."
3150 msgstr ""
3151 "I<option> が B<PR_SET_SECUREBITS> で、呼び出し元がケーパビリティ "
3152 "B<CAP_SETPCAP> を持っていない。 または、\"locked\" フラグを解除しようとし"
3153 "た。 または、locked フラグがセットされているフラグをセットしようとした "
3154 "(B<capabilities>(7)  参照)。"
3155
3156 #. type: Plain text
3157 #: build/C/man2/prctl.2:661
3158 msgid ""
3159 "I<option> is B<PR_SET_KEEPCAPS>, and the callers's "
3160 "B<SECURE_KEEP_CAPS_LOCKED> flag is set (see B<capabilities>(7))."
3161 msgstr ""
3162 "I<option> が B<PR_SET_KEEPCAPS> で、呼び出し元のフラグ "
3163 "B<SECURE_KEEP_CAPS_LOCKED> がセットされている (B<capabilities>(7)  参照)。"
3164
3165 #. type: Plain text
3166 #: build/C/man2/prctl.2:669
3167 msgid ""
3168 "I<option> is B<PR_CAPBSET_DROP>, and the caller does not have the "
3169 "B<CAP_SETPCAP> capability."
3170 msgstr ""
3171 "I<option> が B<PR_CAPBSET_DROP> で、呼び出し元がケーパビリティ "
3172 "B<CAP_SETPCAP> を持っていない。"
3173
3174 #.  FIXME The following (until ========) is not yet in mainline kernel,
3175 #.  so commented out for the moment.
3176 #.  .TP
3177 #.  .B EACCES
3178 #.  .I option
3179 #.  is
3180 #.  .BR PR_SET_MM ,
3181 #.  and
3182 #.  .I arg3
3183 #.  is
3184 #.  .BR PR_SET_MM_EXE_FILE ,
3185 #.  the file is not executable.
3186 #.  .TP
3187 #.  .B EBUSY
3188 #.  .I option
3189 #.  is
3190 #.  .BR PR_SET_MM ,
3191 #.  .I arg3
3192 #.  is
3193 #.  .BR PR_SET_MM_EXE_FILE ,
3194 #.  and this the second attempt to change the
3195 #.  .I /proc/pid/exe
3196 #.  symbolic link, which is prohibited.
3197 #.  .TP
3198 #.  .B EBADF
3199 #.  .I option
3200 #.  is
3201 #.  .BR PR_SET_MM ,
3202 #.  .I arg3
3203 #.  is
3204 #.  .BR PR_SET_MM_EXE_FILE ,
3205 #.  and the file descriptor passed in
3206 #.  .I arg4
3207 #.  is not valid.
3208 #.  ========== END FIXME
3209 #.  The following can't actually happen, because prctl() in
3210 #.  seccomp mode will cause SIGKILL.
3211 #.  .TP
3212 #.  .B EPERM
3213 #.  .I option
3214 #.  is
3215 #.  .BR PR_SET_SECCOMP ,
3216 #.  and secure computing mode is already 1.
3217 #. type: Plain text
3218 #: build/C/man2/prctl.2:720
3219 #, fuzzy
3220 #| msgid ""
3221 #| "I<option> is B<PR_CAPBSET_DROP>, and the caller does not have the "
3222 #| "B<CAP_SETPCAP> capability."
3223 msgid ""
3224 "I<option> is B<PR_SET_MM>, and the caller does not have the "
3225 "B<CAP_SYS_RESOURCE> capability."
3226 msgstr ""
3227 "I<option> が B<PR_CAPBSET_DROP> で、呼び出し元がケーパビリティ "
3228 "B<CAP_SETPCAP> を持っていない。"
3229
3230 #.  The library interface was added in glibc 2.0.6
3231 #. type: Plain text
3232 #: build/C/man2/prctl.2:725
3233 msgid "The B<prctl>()  system call was introduced in Linux 2.1.57."
3234 msgstr "B<prctl>()  システムコールは Linux 2.1.57 で導入された。"
3235
3236 #. type: Plain text
3237 #: build/C/man2/prctl.2:732
3238 msgid ""
3239 "This call is Linux-specific.  IRIX has a B<prctl>()  system call (also "
3240 "introduced in Linux 2.1.44 as irix_prctl on the MIPS architecture), with "
3241 "prototype"
3242 msgstr ""
3243 "このコールは Linux 特有である。 IRIX には B<prctl>()  システム・コールがある"
3244 "が (MIPS アーキテクチャにおいて irix_prctl として Linux 2.1.44 で同様に導入さ"
3245 "れた)、 そのプロトタイプは"
3246
3247 #. type: Plain text
3248 #: build/C/man2/prctl.2:734
3249 msgid "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
3250 msgstr "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
3251
3252 #. type: Plain text
3253 #: build/C/man2/prctl.2:739
3254 msgid ""
3255 "and options to get the maximum number of processes per user, get the maximum "
3256 "number of processors the calling process can use, find out whether a "
3257 "specified process is currently blocked, get or set the maximum stack size, "
3258 "etc."
3259 msgstr ""
3260 "である。ユーザー当りのプロセス最大数を取得するオプション、 プロセスの使用でき"
3261 "る最大プロッサー数を取得するオプション、 現在特定のプロセスが停止(block)させ"
3262 "られているかどうか調べるオプション、 スタックサイズの最大値の取得や設定を行な"
3263 "うオプションなどがある。"
3264
3265 #. type: Plain text
3266 #: build/C/man2/prctl.2:742
3267 msgid "B<signal>(2), B<core>(5)"
3268 msgstr "B<signal>(2), B<core>(5)"
3269
3270 #. type: TH
3271 #: build/C/man3/profil.3:28
3272 #, no-wrap
3273 msgid "PROFIL"
3274 msgstr "PROFIL"
3275
3276 #. type: Plain text
3277 #: build/C/man3/profil.3:31
3278 msgid "profil - execution time profile"
3279 msgstr "profil - 実行時間プロファイル (profile)"
3280
3281 #. type: Plain text
3282 #: build/C/man3/profil.3:36
3283 msgid ""
3284 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
3285 ">I<offset>B<, unsigned int >I<scale>B<);>"
3286 msgstr ""
3287 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
3288 ">I<offset>B<, unsigned int >I<scale>B<);>"
3289
3290 #. type: Plain text
3291 #: build/C/man3/profil.3:44
3292 msgid ""
3293 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3294 msgstr ""
3295 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3296
3297 #. type: Plain text
3298 #: build/C/man3/profil.3:66
3299 msgid ""
3300 "This routine provides a means to find out in what areas your program spends "
3301 "most of its time.  The argument I<buf> points to I<bufsiz> bytes of core.  "
3302 "Every virtual 10 milliseconds, the user's program counter (PC)  is examined: "
3303 "I<offset> is subtracted and the result is multiplied by I<scale> and divided "
3304 "by 65536.  If the resulting value is less than I<bufsiz>, then the "
3305 "corresponding entry in I<buf> is incremented.  If I<buf> is NULL, profiling "
3306 "is disabled."
3307 msgstr ""
3308 "このルーティンはプログラムのどこの部分で時間を費やしているかを調べる 手段を提"
3309 "供する。引き数 I<buf> は I<bufsiz> バイトのメモリを指している。仮想の 10 ミリ"
3310 "秒ごとに、ユーザーの プログラム・カウンター (PC) が検査される: I<offset> が引"
3311 "かれ、その結果が I<scale> 倍され 65536 で割られる。 結果が I<bufsiz> より小さ"
3312 "い場合は I<buf> の対応するエントリがインクリメントされる。 I<buf> が NULL な"
3313 "らば、プロファイル (profile) は無効にされる。"
3314
3315 #. type: Plain text
3316 #: build/C/man3/profil.3:68
3317 msgid "Zero is always returned."
3318 msgstr "常に 0 が返される。"
3319
3320 #. type: Plain text
3321 #: build/C/man3/profil.3:70
3322 msgid "Similar to a call in SVr4 (but not POSIX.1-2001)."
3323 msgstr "SVr4 のコールに似ている (しかし POSIX.1-2001 ではない)。"
3324
3325 #. type: Plain text
3326 #: build/C/man3/profil.3:76
3327 msgid ""
3328 "B<profil>()  cannot be used on a program that also uses B<ITIMER_PROF> "
3329 "interval timers (see B<setitimer>(2))."
3330 msgstr ""
3331 "B<profil>()  は B<ITIMER_PROF> インターバル・タイマーも使用しているプログラム"
3332 "では使用できない (B<setitimer>(2)  参照)。"
3333
3334 #. type: Plain text
3335 #: build/C/man3/profil.3:79
3336 msgid ""
3337 "True kernel profiling provides more accurate results.  Libc 4.4 contained a "
3338 "kernel patch providing a system call profil."
3339 msgstr ""
3340 "本当のカーネル・プロファイルはより正確な結果を与える。 libc 4.4 にはシステム"
3341 "コール profil を提供するための カーネルパッチが含まれていた。"
3342
3343 #. type: Plain text
3344 #: build/C/man3/profil.3:84
3345 msgid "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3346 msgstr "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3347
3348 #. type: TH
3349 #: build/C/man3/psignal.3:28
3350 #, no-wrap
3351 msgid "PSIGNAL"
3352 msgstr "PSIGNAL"
3353
3354 #. type: TH
3355 #: build/C/man3/psignal.3:28
3356 #, fuzzy, no-wrap
3357 #| msgid "2008-10-06"
3358 msgid "2010-10-06"
3359 msgstr "2008-10-06"
3360
3361 #. type: TH
3362 #: build/C/man3/psignal.3:28 build/C/man3/raise.3:27
3363 #: build/C/man7/sigevent.7:24
3364 #, no-wrap
3365 msgid "GNU"
3366 msgstr "GNU"
3367
3368 #. type: Plain text
3369 #: build/C/man3/psignal.3:31
3370 #, fuzzy
3371 #| msgid "psignal - print signal message"
3372 msgid "psignal, psiginfo - print signal message"
3373 msgstr "psignal - シグナルメッセージを表示"
3374
3375 #. type: Plain text
3376 #: build/C/man3/psignal.3:37
3377 #, fuzzy, no-wrap
3378 #| msgid "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3379 msgid ""
3380 "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3381 "B<void psiginfo(const siginfo_t *>I<pinfo>B<, const char *>I<s>B<);>\n"
3382 msgstr "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3383
3384 #. type: Plain text
3385 #: build/C/man3/psignal.3:39
3386 #, no-wrap
3387 msgid "B<extern const char *const >I<sys_siglist>B<[];>\n"
3388 msgstr "B<extern const char *const >I<sys_siglist>B<[];>\n"
3389
3390 #. type: Plain text
3391 #: build/C/man3/psignal.3:48
3392 msgid "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3393 msgstr "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3394
3395 #. type: Plain text
3396 #: build/C/man3/psignal.3:51
3397 #, fuzzy
3398 #| msgid ""
3399 #| "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3400 msgid ""
3401 "B<psiginfo>(): _XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ "
3402 "200809L"
3403 msgstr ""
3404 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3405
3406 #. type: Plain text
3407 #: build/C/man3/psignal.3:54
3408 msgid "I<sys_siglist>: _BSD_SOURCE"
3409 msgstr "I<sys_siglist>: _BSD_SOURCE"
3410
3411 #. type: Plain text
3412 #: build/C/man3/psignal.3:63
3413 #, fuzzy
3414 #| msgid ""
3415 #| "The B<psignal>()  function displays a message on I<stderr> consisting of "
3416 #| "the string I<s>, a colon, a space, and a string describing the signal "
3417 #| "number I<sig>.  If I<sig> is invalid, the message displayed will indicate "
3418 #| "an unknown signal."
3419 msgid ""
3420 "The B<psignal>()  function displays a message on I<stderr> consisting of the "
3421 "string I<s>, a colon, a space, a string describing the signal number I<sig>, "
3422 "and a trailing newline.  If the string I<s> is NULL or empty, the colon and "
3423 "space are omitted.  If I<sig> is invalid, the message displayed will "
3424 "indicate an unknown signal."
3425 msgstr ""
3426 "B<psignal>()  関数は、文字列 I<s>、コロン、スペース、 シグナル番号 I<sig> を"
3427 "説明する文字列から構成されるメッセージを I<stderr> に表示する。もし I<sig> が"
3428 "不正ならば、表示される メッセージは未知のシグナルを示す。"
3429
3430 #. type: Plain text
3431 #: build/C/man3/psignal.3:84
3432 msgid ""
3433 "The B<psiginfo>()  function is like B<psignal>(), except that it displays "
3434 "information about the signal described by I<pinfo>, which should point to a "
3435 "valid I<siginfo_t> structure.  As well as the signal description, B<psiginfo>"
3436 "()  displays information about the origin of the signal, and other "
3437 "information relevant to the signal (e.g., the relevant memory address for "
3438 "hardware-generated signals, the child process ID for B<SIGCHLD>, and the "
3439 "user ID and process ID of the sender, for signals set using B<kill>(2)  or "
3440 "B<sigqueue>(3))."
3441 msgstr ""
3442
3443 #. type: Plain text
3444 #: build/C/man3/psignal.3:87
3445 msgid ""
3446 "The array I<sys_siglist> holds the signal description strings indexed by "
3447 "signal number."
3448 msgstr ""
3449 "配列 I<sys_siglist> はシグナルを説明する文字列を保持しており、 配列へのアクセ"
3450 "スにはシグナル番号を添え字として用いる事ができる。"
3451
3452 #. type: Plain text
3453 #: build/C/man3/psignal.3:93
3454 #, fuzzy
3455 #| msgid "The B<psignal>()  function returns no value."
3456 msgid "The B<psignal>()  and B<psiginfo>()  functions return no value."
3457 msgstr "B<psignal>()  関数は、値を返さない。"
3458
3459 #. type: Plain text
3460 #: build/C/man3/psignal.3:97
3461 #, fuzzy
3462 #| msgid "These functions appeared in glibc version 2.1."
3463 msgid "The B<psiginfo>()  function was added to glibc in version 2.10."
3464 msgstr "これらの関数は glibc 2.1 で登場した。"
3465
3466 #. type: Plain text
3467 #: build/C/man3/psignal.3:99
3468 msgid "POSIX.1-2008, 4.3BSD."
3469 msgstr "POSIX.1-2008, 4.3BSD."
3470
3471 #. type: Plain text
3472 #: build/C/man3/psignal.3:103
3473 msgid "In glibc versions up to 2.12, B<psiginfo>()  had the following bugs:"
3474 msgstr ""
3475
3476 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12107
3477 #.  Reportedly now fixed; check glibc 2.13
3478 #. type: Plain text
3479 #: build/C/man3/psignal.3:107
3480 msgid "In some circumstances, a trailing newline is not printed."
3481 msgstr ""
3482
3483 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12108
3484 #.  Reportedly now fixed; check glibc 2.13
3485 #. type: Plain text
3486 #: build/C/man3/psignal.3:111
3487 msgid "Additional details are not displayed for real-time signals."
3488 msgstr ""
3489
3490 #. type: Plain text
3491 #: build/C/man3/psignal.3:116
3492 #, fuzzy
3493 #| msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3494 msgid "B<sigaction>(2), B<perror>(3), B<strsignal>(3), B<signal>(7)"
3495 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3496
3497 #. type: TH
3498 #: build/C/man3/raise.3:27
3499 #, no-wrap
3500 msgid "RAISE"
3501 msgstr "RAISE"
3502
3503 #. type: TH
3504 #: build/C/man3/raise.3:27
3505 #, fuzzy, no-wrap
3506 #| msgid "2009-03-15"
3507 msgid "2012-04-20"
3508 msgstr "2009-03-15"
3509
3510 #. type: Plain text
3511 #: build/C/man3/raise.3:30
3512 msgid "raise - send a signal to the caller"
3513 msgstr "raise - 呼び出し元にシグナルを送る"
3514
3515 #. type: Plain text
3516 #: build/C/man3/raise.3:35
3517 #, no-wrap
3518 msgid "B<int raise(int >I<sig>B<);>\n"
3519 msgstr "B<int raise(int >I<sig>B<);>\n"
3520
3521 #. type: Plain text
3522 #: build/C/man3/raise.3:41
3523 msgid ""
3524 "The B<raise>()  function sends a signal to the calling process or thread.  "
3525 "In a single-threaded program it is equivalent to"
3526 msgstr ""
3527 "B<raise>()  関数は、呼び出し元のプロセスもしくはスレッドにシグナルを送る。 シ"
3528 "ングルスレッドのプログラムでは、以下と等価である。"
3529
3530 #. type: Plain text
3531 #: build/C/man3/raise.3:45
3532 #, no-wrap
3533 msgid "kill(getpid(), sig);\n"
3534 msgstr "kill(getpid(), sig);\n"
3535
3536 #. type: Plain text
3537 #: build/C/man3/raise.3:49
3538 msgid "In a multithreaded program it is equivalent to"
3539 msgstr "マルチスレッドのプログラムでは、以下と等価である。"
3540
3541 #. type: Plain text
3542 #: build/C/man3/raise.3:53
3543 #, no-wrap
3544 msgid "pthread_kill(pthread_self(), sig);\n"
3545 msgstr "pthread_kill(pthread_self(), sig);\n"
3546
3547 #. type: Plain text
3548 #: build/C/man3/raise.3:59
3549 msgid ""
3550 "If the signal causes a handler to be called, B<raise>()  will only return "
3551 "after the signal handler has returned."
3552 msgstr ""
3553 "シグナルに起因してシグナル・ハンドラが呼び出される場合には、 B<raise>()  が返"
3554 "るのは必ずシグナル・ハンドラが返った後になる。"
3555
3556 #. type: Plain text
3557 #: build/C/man3/raise.3:62
3558 msgid "B<raise>()  returns 0 on success, and nonzero for failure."
3559 msgstr "成功した場合は 0 を、失敗した場合は 0 以外の値を返す。"
3560
3561 #. type: Plain text
3562 #: build/C/man3/raise.3:64 build/C/man2/signal.2:107
3563 msgid "C89, C99, POSIX.1-2001."
3564 msgstr "C89, C99, POSIX.1-2001."
3565
3566 #.  2.3.2 used the obsolete tkill(), if available.
3567 #. type: Plain text
3568 #: build/C/man3/raise.3:75
3569 msgid ""
3570 "Since version 2.3.3, glibc implements B<raise>()  by calling B<tgkill>(2), "
3571 "if the kernel supports that system call.  Older glibc versions implemented "
3572 "B<raise>()  using B<kill>(2)."
3573 msgstr ""
3574
3575 #. type: Plain text
3576 #: build/C/man3/raise.3:82
3577 msgid ""
3578 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3579 "B<signal>(7)"
3580 msgstr ""
3581 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3582 "B<signal>(7)"
3583
3584 #. type: TH
3585 #: build/C/man2/rt_sigqueueinfo.2:23
3586 #, no-wrap
3587 msgid "RT_SIGQUEUEINFO"
3588 msgstr "RT_SIGQUEUEINFO"
3589
3590 #. type: TH
3591 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man7/signal.7:44
3592 #: build/C/man2/tkill.2:29
3593 #, no-wrap
3594 msgid "2011-09-18"
3595 msgstr "2011-09-18"
3596
3597 #. type: Plain text
3598 #: build/C/man2/rt_sigqueueinfo.2:26
3599 msgid "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3600 msgstr "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3601
3602 #. type: Plain text
3603 #: build/C/man2/rt_sigqueueinfo.2:29
3604 #, no-wrap
3605 msgid "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3606 msgstr "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3607
3608 #. type: Plain text
3609 #: build/C/man2/rt_sigqueueinfo.2:32
3610 #, no-wrap
3611 msgid ""
3612 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3613 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3614 msgstr ""
3615 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3616 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3617
3618 #. type: Plain text
3619 #: build/C/man2/rt_sigqueueinfo.2:45
3620 msgid ""
3621 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3622 "low-level interfaces used to send a signal plus data to a process or "
3623 "thread.  The receiver of the signal can obtain the accompanying data by "
3624 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3625 msgstr ""
3626 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3627 "low-level interfaces used to send a signal plus data to a process or "
3628 "thread.  The receiver of the signal can obtain the accompanying data by "
3629 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3630
3631 #. type: Plain text
3632 #: build/C/man2/rt_sigqueueinfo.2:51
3633 msgid ""
3634 "These system calls are not intended for direct application use; they are "
3635 "provided to allow the implementation of B<sigqueue>(3)  and "
3636 "B<pthread_sigqueue>(3)."
3637 msgstr ""
3638 "These system calls are not intended for direct application use; they are "
3639 "provided to allow the implementation of B<sigqueue>(3)  and "
3640 "B<pthread_sigqueue>(3)."
3641
3642 #. type: Plain text
3643 #: build/C/man2/rt_sigqueueinfo.2:63
3644 msgid ""
3645 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3646 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3647 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3648 "The signal will be delivered to an arbitrary member of the thread group (i."
3649 "e., one of the threads that is not currently blocking the signal)."
3650 msgstr ""
3651 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3652 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3653 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3654 "The signal will be delivered to an arbitrary member of the thread group (i."
3655 "e., one of the threads that is not currently blocking the signal)."
3656
3657 #. type: Plain text
3658 #: build/C/man2/rt_sigqueueinfo.2:74
3659 msgid ""
3660 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3661 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3662 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3663 "caller should set the following fields in this structure:"
3664 msgstr ""
3665 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3666 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3667 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3668 "caller should set the following fields in this structure:"
3669
3670 #. type: TP
3671 #: build/C/man2/rt_sigqueueinfo.2:74 build/C/man7/sigevent.7:86
3672 #: build/C/man2/wait.2:315
3673 #, no-wrap
3674 msgid "I<si_code>"
3675 msgstr "I<si_code>"
3676
3677 #.  tkill(2) or
3678 #. type: Plain text
3679 #: build/C/man2/rt_sigqueueinfo.2:90
3680 msgid ""
3681 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3682 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3683 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3684 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3685 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3686 msgstr ""
3687 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3688 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3689 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3690 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3691 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3692
3693 #. type: TP
3694 #: build/C/man2/rt_sigqueueinfo.2:90 build/C/man2/wait.2:294
3695 #, no-wrap
3696 msgid "I<si_pid>"
3697 msgstr "I<si_pid>"
3698
3699 #. type: Plain text
3700 #: build/C/man2/rt_sigqueueinfo.2:94
3701 msgid ""
3702 "This should be set to a process ID, typically the process ID of the sender."
3703 msgstr ""
3704 "This should be set to a process ID, typically the process ID of the sender."
3705
3706 #. type: TP
3707 #: build/C/man2/rt_sigqueueinfo.2:94 build/C/man2/wait.2:297
3708 #, no-wrap
3709 msgid "I<si_uid>"
3710 msgstr "I<si_uid>"
3711
3712 #. type: Plain text
3713 #: build/C/man2/rt_sigqueueinfo.2:98
3714 msgid ""
3715 "This should be set to a user ID, typically the real user ID of the sender."
3716 msgstr ""
3717 "This should be set to a user ID, typically the real user ID of the sender."
3718
3719 #. type: TP
3720 #: build/C/man2/rt_sigqueueinfo.2:98 build/C/man7/sigevent.7:94
3721 #, no-wrap
3722 msgid "I<si_value>"
3723 msgstr "I<si_value>"
3724
3725 #. type: Plain text
3726 #: build/C/man2/rt_sigqueueinfo.2:105
3727 msgid ""
3728 "This field contains the user data to accompany the signal.  For more "
3729 "information, see the description of the last (I<union sigval>)  argument of "
3730 "B<sigqueue>(3)."
3731 msgstr ""
3732 "This field contains the user data to accompany the signal.  For more "
3733 "information, see the description of the last (I<union sigval>)  argument of "
3734 "B<sigqueue>(3)."
3735
3736 #. type: Plain text
3737 #: build/C/man2/rt_sigqueueinfo.2:112
3738 msgid ""
3739 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3740 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3741 "via that field."
3742 msgstr ""
3743 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3744 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3745 "via that field."
3746
3747 #. type: Plain text
3748 #: build/C/man2/rt_sigqueueinfo.2:124
3749 #, fuzzy
3750 #| msgid ""
3751 #| "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3752 #| "sends the signal and data to the single thread specified by the "
3753 #| "combination of I<tgid>, a thread group ID, and I<tid>, a thread in that "
3754 #| "thread group."
3755 msgid ""
3756 "The B<rt_tgsigqueueinfo>()  system call is like B<rt_sigqueueinfo>(), but "
3757 "sends the signal and data to the single thread specified by the combination "
3758 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3759 msgstr ""
3760 "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3761 "sends the signal and data to the single thread specified by the combination "
3762 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3763
3764 #. type: Plain text
3765 #: build/C/man2/rt_sigqueueinfo.2:129
3766 msgid ""
3767 "On success, these system calls return 0.  On error, they return -1 and "
3768 "I<errno> is set to indicate the error."
3769 msgstr ""
3770 "On success, these system calls return 0.  On error, they return -1 and "
3771 "I<errno> is set to indicate the error."
3772
3773 #. type: TP
3774 #: build/C/man2/rt_sigqueueinfo.2:130 build/C/man3/sigqueue.3:90
3775 #: build/C/man2/sigwaitinfo.2:108 build/C/man2/timer_create.2:174
3776 #, no-wrap
3777 msgid "B<EAGAIN>"
3778 msgstr "B<EAGAIN>"
3779
3780 #. type: Plain text
3781 #: build/C/man2/rt_sigqueueinfo.2:136 build/C/man3/sigqueue.3:96
3782 msgid ""
3783 "The limit of signals which may be queued has been reached.  (See B<signal>"
3784 "(7)  for further information.)"
3785 msgstr ""
3786 "待ち行列に入れられるシグナルの最大数に達した (より詳しい情報は B<signal>(7)  "
3787 "を参照すること)。"
3788
3789 #. type: Plain text
3790 #: build/C/man2/rt_sigqueueinfo.2:143
3791 msgid "I<sig>, I<tgid>, or I<tid> was invalid."
3792 msgstr "I<sig>, I<tgid>, or I<tid> was invalid."
3793
3794 #. type: Plain text
3795 #: build/C/man2/rt_sigqueueinfo.2:151
3796 msgid ""
3797 "The caller does not have permission to send the signal to the target.  For "
3798 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3799 "invalid."
3800 msgstr ""
3801 "The caller does not have permission to send the signal to the target.  For "
3802 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3803 "invalid."
3804
3805 #. type: Plain text
3806 #: build/C/man2/rt_sigqueueinfo.2:157
3807 #, fuzzy
3808 #| msgid "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3809 msgid "B<rt_sigqueueinfo>(): No thread group matching I<tgid> was found."
3810 msgstr "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3811
3812 #. type: Plain text
3813 #: build/C/man2/rt_sigqueueinfo.2:164
3814 #, fuzzy
3815 #| msgid ""
3816 #| "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3817 msgid "B<rt_tgsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3818 msgstr "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3819
3820 #. type: Plain text
3821 #: build/C/man2/rt_sigqueueinfo.2:171
3822 msgid ""
3823 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3824 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3825 msgstr ""
3826 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3827 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3828
3829 #. type: Plain text
3830 #: build/C/man2/rt_sigqueueinfo.2:173 build/C/man2/sgetmask.2:63
3831 #: build/C/man2/timerfd_create.2:372
3832 msgid "These system calls are Linux-specific."
3833 msgstr "これらのシステムコールは Linux 固有である。"
3834
3835 #. type: Plain text
3836 #: build/C/man2/rt_sigqueueinfo.2:178
3837 msgid ""
3838 "Since these system calls are not intended for application use, there are no "
3839 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3840 "want to call them directly."
3841 msgstr ""
3842 "Since these system calls are not intended for application use, there are no "
3843 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3844 "want to call them directly."
3845
3846 #. type: Plain text
3847 #: build/C/man2/rt_sigqueueinfo.2:183
3848 msgid ""
3849 "As with B<kill>(2), the null signal (0) can be used to check if the "
3850 "specified process or thread exists."
3851 msgstr ""
3852 "As with B<kill>(2), the null signal (0) can be used to check if the "
3853 "specified process or thread exists."
3854
3855 #. type: Plain text
3856 #: build/C/man2/rt_sigqueueinfo.2:191
3857 msgid ""
3858 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3859 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3860 msgstr ""
3861 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3862 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3863
3864 #. type: TH
3865 #: build/C/man2/sgetmask.2:24
3866 #, no-wrap
3867 msgid "SGETMASK"
3868 msgstr "SGETMASK"
3869
3870 #. type: TH
3871 #: build/C/man2/sgetmask.2:24
3872 #, no-wrap
3873 msgid "2007-07-05"
3874 msgstr "2007-07-05"
3875
3876 #. type: Plain text
3877 #: build/C/man2/sgetmask.2:27
3878 msgid "sgetmask, ssetmask - manipulation of signal mask (obsolete)"
3879 msgstr "sgetmask, ssetmask - シグナルマスクの操作 (廃止予定)"
3880
3881 #. type: Plain text
3882 #: build/C/man2/sgetmask.2:29
3883 msgid "B<long sgetmask(void);>"
3884 msgstr "B<long sgetmask(void);>"
3885
3886 #. type: Plain text
3887 #: build/C/man2/sgetmask.2:31
3888 msgid "B<long ssetmask(long >I<newmask>B<);>"
3889 msgstr "B<long ssetmask(long >I<newmask>B<);>"
3890
3891 #. type: Plain text
3892 #: build/C/man2/sgetmask.2:37
3893 msgid ""
3894 "These system calls are obsolete.  I<Do not use them>; use B<sigprocmask>(2)  "
3895 "instead."
3896 msgstr ""
3897 "これらのシステムコールは廃止予定であり、 「使用しないこと」。 代わりに "
3898 "B<sigprocmask>(2)  を使用すること。"
3899
3900 #. type: Plain text
3901 #: build/C/man2/sgetmask.2:40
3902 msgid "B<sgetmask>()  returns the signal mask of the calling process."
3903 msgstr "B<sgetmask>()  は、呼び出し元プロセスのシグナルマスクを返す。"
3904
3905 #. type: Plain text
3906 #: build/C/man2/sgetmask.2:45
3907 msgid ""
3908 "B<ssetmask>()  sets the signal mask of the calling process to the value "
3909 "given in I<newmask>.  The previous signal mask is returned."
3910 msgstr ""
3911 "B<ssetmask>()  は、呼び出し元プロセスのシグナルマスクを I<newmask> で指定され"
3912 "た値に設定し、変更前のシグナルマスクを返す。"
3913
3914 #. type: Plain text
3915 #: build/C/man2/sgetmask.2:54
3916 msgid ""
3917 "The signal masks dealt with by these two system calls are plain bit masks "
3918 "(unlike the I<sigset_t> used by B<sigprocmask>(2)); use B<sigmask>(3)  to "
3919 "create and inspect these masks."
3920 msgstr ""
3921 "これら二つのシステムコールが扱うシグナルマスクは、 単純なビットマスクである "
3922 "(この点が B<sigprocmask>(2)  で使用される I<sigset_t> と異なる)。 これらのマ"
3923 "スクを作成したり検査するには B<sigmask>(3)  を使用すること。"
3924
3925 #. type: Plain text
3926 #: build/C/man2/sgetmask.2:59
3927 msgid ""
3928 "B<sgetmask>()  always successfully returns the signal mask.  B<ssetmask>()  "
3929 "always succeeds, and returns the previous signal mask."
3930 msgstr ""
3931 "B<sgetmask>()  は常に成功し、シグナルマスクを返す。 B<ssetmask>()  は常に成功"
3932 "し、直前のシグナルマスクを返す。"
3933
3934 #. type: Plain text
3935 #: build/C/man2/sgetmask.2:61
3936 msgid "These system calls always succeed."
3937 msgstr "これらのシステムコールは常に成功する。"
3938
3939 #. type: Plain text
3940 #: build/C/man2/sgetmask.2:66
3941 msgid ""
3942 "Glibc does not provide wrappers for these system calls; use B<syscall>(2)."
3943 msgstr ""
3944 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
3945 "B<syscall>(2)  を使用すること。"
3946
3947 #. type: Plain text
3948 #: build/C/man2/sgetmask.2:69
3949 msgid ""
3950 "These system calls are unaware of signal numbers greater than 31 (i.e., real-"
3951 "time signals)."
3952 msgstr ""
3953 "これらのシステムコールは、 31 より大きいシグナル番号 (つまり、リアルタイムシ"
3954 "グナル) を扱えない。"
3955
3956 #. type: Plain text
3957 #: build/C/man2/sgetmask.2:74
3958 msgid "It is not possible to block B<SIGSTOP> or B<SIGKILL>."
3959 msgstr "B<SIGSTOP> や B<SIGKILL> をブロックすることはできない。"
3960
3961 #. type: Plain text
3962 #: build/C/man2/sgetmask.2:77
3963 msgid "B<sigprocmask>(2), B<signal>(7)"
3964 msgstr "B<sigprocmask>(2), B<signal>(7)"
3965
3966 #. type: TH
3967 #: build/C/man2/sigaction.2:45
3968 #, no-wrap
3969 msgid "SIGACTION"
3970 msgstr "SIGACTION"
3971
3972 #. type: TH
3973 #: build/C/man2/sigaction.2:45
3974 #, fuzzy, no-wrap
3975 #| msgid "2009-03-15"
3976 msgid "2012-04-26"
3977 msgstr "2009-03-15"
3978
3979 #. type: Plain text
3980 #: build/C/man2/sigaction.2:48
3981 msgid "sigaction - examine and change a signal action"
3982 msgstr "sigaction - シグナルの動作の確認と変更"
3983
3984 #. type: Plain text
3985 #: build/C/man2/sigaction.2:54
3986 #, no-wrap
3987 msgid ""
3988 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3989 "B<              struct sigaction *>I<oldact>B<);>\n"
3990 msgstr ""
3991 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3992 "B<              struct sigaction *>I<oldact>B<);>\n"
3993
3994 #. type: Plain text
3995 #: build/C/man2/sigaction.2:64
3996 msgid ""
3997 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3998 "_POSIX_SOURCE"
3999 msgstr ""
4000 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
4001 "_POSIX_SOURCE"
4002
4003 #. type: Plain text
4004 #: build/C/man2/sigaction.2:73
4005 msgid ""
4006 "The B<sigaction>()  system call is used to change the action taken by a "
4007 "process on receipt of a specific signal.  (See B<signal>(7)  for an overview "
4008 "of signals.)"
4009 msgstr ""
4010 "B<sigaction>()  システムコールは、特定のシグナルを受信した際の プロセスの動作"
4011 "を変更するのに使用される (シグナルの概要については B<signal>(7)  を参照)。"
4012
4013 #. type: Plain text
4014 #: build/C/man2/sigaction.2:79
4015 msgid ""
4016 "I<signum> specifies the signal and can be any valid signal except B<SIGKILL> "
4017 "and B<SIGSTOP>."
4018 msgstr ""
4019 "I<signum> には、 B<SIGKILL> と B<SIGSTOP> 以外の有効なシグナルをどれでも指定"
4020 "できる。"
4021
4022 #. type: Plain text
4023 #: build/C/man2/sigaction.2:90
4024 msgid ""
4025 "If I<act> is non-NULL, the new action for signal I<signum> is installed from "
4026 "I<act>.  If I<oldact> is non-NULL, the previous action is saved in I<oldact>."
4027 msgstr ""
4028 "I<act> が NULL 以外であれば、シグナル I<signum> の新しい動作 (action) として "
4029 "I<act> が設定される。 I<oldact> が NULL でなければ、今までの動作が I<oldact> "
4030 "に格納される。"
4031
4032 #. type: Plain text
4033 #: build/C/man2/sigaction.2:94
4034 msgid "The I<sigaction> structure is defined as something like:"
4035 msgstr "I<sigaction> 構造体は以下のような感じに定義される。"
4036
4037 #. type: Plain text
4038 #: build/C/man2/sigaction.2:104
4039 #, no-wrap
4040 msgid ""
4041 "struct sigaction {\n"
4042 "    void     (*sa_handler)(int);\n"
4043 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
4044 "    sigset_t   sa_mask;\n"
4045 "    int        sa_flags;\n"
4046 "    void     (*sa_restorer)(void);\n"
4047 "};\n"
4048 msgstr ""
4049 "struct sigaction {\n"
4050 "    void     (*sa_handler)(int);\n"
4051 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
4052 "    sigset_t   sa_mask;\n"
4053 "    int        sa_flags;\n"
4054 "    void     (*sa_restorer)(void);\n"
4055 "};\n"
4056
4057 #. type: Plain text
4058 #: build/C/man2/sigaction.2:111
4059 msgid ""
4060 "On some architectures a union is involved: do not assign to both "
4061 "I<sa_handler> and I<sa_sigaction>."
4062 msgstr ""
4063 "アーキテクチャによっては共用体 (union) が用いられており、その場合には "
4064 "I<sa_handler> と I<sa_sigaction> の両方を同時に割り当てることはできない。"
4065
4066 #. type: Plain text
4067 #: build/C/man2/sigaction.2:118
4068 msgid ""
4069 "The I<sa_restorer> element is obsolete and should not be used.  POSIX does "
4070 "not specify a I<sa_restorer> element."
4071 msgstr ""
4072 "I<sa_restorer> 要素は廃止予定であり使用すべきではない。 POSIX には "
4073 "I<sa_restorer> 要素に関する規定はない。"
4074
4075 #. type: Plain text
4076 #: build/C/man2/sigaction.2:128
4077 msgid ""
4078 "I<sa_handler> specifies the action to be associated with I<signum> and may "
4079 "be B<SIG_DFL> for the default action, B<SIG_IGN> to ignore this signal, or a "
4080 "pointer to a signal handling function.  This function receives the signal "
4081 "number as its only argument."
4082 msgstr ""
4083 "I<sa_handler> は I<signum> に対応する動作を指定するもので、 デフォルトの動作"
4084 "を行う B<SIG_DFL>、 そのシグナルを無視する B<SIG_IGN>、 シグナルハンドラ関数"
4085 "へのポインタが設定できる。 シグナルハンドラ関数の引き数は一つであり、シグナル"
4086 "番号が引き数として 渡される。"
4087
4088 #. type: Plain text
4089 #: build/C/man2/sigaction.2:150
4090 #, fuzzy
4091 #| msgid ""
4092 #| "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> "
4093 #| "(instead of I<sa_handler>)  specifies the signal-handling function for "
4094 #| "I<signum>.  This function receives the signal number as its first "
4095 #| "argument, a pointer to a I<siginfo_t> as its second argument and a "
4096 #| "pointer to a I<ucontext_t> (cast to I<void\\ *>) as its third argument."
4097 msgid ""
4098 "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> (instead "
4099 "of I<sa_handler>)  specifies the signal-handling function for I<signum>.  "
4100 "This function receives the signal number as its first argument, a pointer to "
4101 "a I<siginfo_t> as its second argument and a pointer to a I<ucontext_t> (cast "
4102 "to I<void\\ *>) as its third argument.  (Commonly, the handler function "
4103 "doesn't make any use of the third argument.  See B<getcontext>(2)  for "
4104 "further information about I<ucontext_t>.)"
4105 msgstr ""
4106 "I<sa_flags> に B<SA_SIGINFO> が指定された場合、 (I<sa_handler> ではなく)  "
4107 "I<sa_sigaction> により I<signum> に対応するシグナルハンドル関数が指定され"
4108 "る。 指定される関数は、最初の引き数としてシグナル番号を、 二番目の引き数とし"
4109 "て I<siginfo_t> へのポインタを、三番目の引き数として (I<void\\ *> にキャスト"
4110 "した)  I<ucontext_t> へのポインタを受けとる。"
4111
4112 #. type: Plain text
4113 #: build/C/man2/sigaction.2:160
4114 msgid ""
4115 "I<sa_mask> specifies a mask of signals which should be blocked (i.e., added "
4116 "to the signal mask of the thread in which the signal handler is invoked)  "
4117 "during execution of the signal handler.  In addition, the signal which "
4118 "triggered the handler will be blocked, unless the B<SA_NODEFER> flag is used."
4119 msgstr ""
4120 "I<sa_mask> は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスク"
4121 "を指定する (ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動された"
4122 "スレッド のシグナルのマスクに追加することで行われる)。 さらに、 "
4123 "B<SA_NODEFER> フラグが指定されていない場合は、ハンドラを起動するきっかけとな"
4124 "る シグナルにも I<sa_mask> が適用される。"
4125
4126 #. type: Plain text
4127 #: build/C/man2/sigaction.2:164
4128 msgid ""
4129 "I<sa_flags> specifies a set of flags which modify the behavior of the "
4130 "signal.  It is formed by the bitwise OR of zero or more of the following:"
4131 msgstr ""
4132 "I<sa_flags> はシグナル・ハンドラの動作を変更するためのフラグの集合を指定す"
4133 "る。 I<sa_flags> には、以下に示すフラグの (0 個以上の) 論理和をとったものを指"
4134 "定する。"
4135
4136 #. type: TP
4137 #: build/C/man2/sigaction.2:165
4138 #, no-wrap
4139 msgid "B<SA_NOCLDSTOP>"
4140 msgstr "B<SA_NOCLDSTOP>"
4141
4142 #. type: Plain text
4143 #: build/C/man2/sigaction.2:182
4144 msgid ""
4145 "If I<signum> is B<SIGCHLD>, do not receive notification when child processes "
4146 "stop (i.e., when they receive one of B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN> or "
4147 "B<SIGTTOU>)  or resume (i.e., they receive B<SIGCONT>)  (see B<wait>(2)).  "
4148 "This flag is only meaningful when establishing a handler for B<SIGCHLD>."
4149 msgstr ""
4150 "I<signum> が B<SIGCHLD> の場合、 子プロセスが停止したり (子プロセスが "
4151 "B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN>, B<SIGTTOU> を受けたとき) 再開したり (子プ"
4152 "ロセスが B<SIGCONT> を受けたとき) したときに B<SIGCHLD> の通知を受けない。 こ"
4153 "のフラグは、 B<SIGCHLD> に対してハンドラを設定する際にのみ意味を持つ。"
4154
4155 #. type: TP
4156 #: build/C/man2/sigaction.2:182
4157 #, fuzzy, no-wrap
4158 #| msgid "B<SA_NOCLDWAIT> (Since Linux 2.6)"
4159 msgid "B<SA_NOCLDWAIT> (since Linux 2.6)"
4160 msgstr "B<SA_NOCLDWAIT> (Linux 2.6 以降)"
4161
4162 #.  To be precise: Linux 2.5.60 -- MTK
4163 #. type: Plain text
4164 #: build/C/man2/sigaction.2:196
4165 msgid ""
4166 "If I<signum> is B<SIGCHLD>, do not transform children into zombies when they "
4167 "terminate.  See also B<waitpid>(2).  This flag is only meaningful when "
4168 "establishing a handler for B<SIGCHLD>, or when setting that signal's "
4169 "disposition to B<SIG_DFL>."
4170 msgstr ""
4171 "(Linux 2.6 以降)  I<signum> が B<SIGCHLD> の場合、子プロセスが終了したときに "
4172 "子プロセスをゾンビプロセスに変化させない (B<waitpid>(2)  も参照)。 このフラグ"
4173 "は、 B<SIGCHLD> に対してハンドラを設定する際、もしくはそのシグナルの処理方法"
4174 "を B<SIG_DFL> に設定する際にのみ意味を持つ。"
4175
4176 #. type: Plain text
4177 #: build/C/man2/sigaction.2:208
4178 msgid ""
4179 "If the B<SA_NOCLDWAIT> flag is set when establishing a handler for "
4180 "B<SIGCHLD>, POSIX.1 leaves it unspecified whether a B<SIGCHLD> signal is "
4181 "generated when a child process terminates.  On Linux, a B<SIGCHLD> signal is "
4182 "generated in this case; on some other implementations, it is not."
4183 msgstr ""
4184 "B<SIGCHLD> に対してハンドラを設定する際に B<SA_NOCLDWAIT> フラグをセットした"
4185 "場合、 子プロセスが終了した際に B<SIGCHLD> シグナルが生成されるかどうかは、 "
4186 "POSIX.1 では規定されていない。 Linux では、この状況で B<SIGCHLD> シグナルは生"
4187 "成される。 いくつかの他の実装では生成されない。"
4188
4189 #. type: TP
4190 #: build/C/man2/sigaction.2:208
4191 #, no-wrap
4192 msgid "B<SA_NODEFER>"
4193 msgstr "B<SA_NODEFER>"
4194
4195 #. type: Plain text
4196 #: build/C/man2/sigaction.2:215
4197 msgid ""
4198 "Do not prevent the signal from being received from within its own signal "
4199 "handler.  This flag is only meaningful when establishing a signal handler.  "
4200 "B<SA_NOMASK> is an obsolete, nonstandard synonym for this flag."
4201 msgstr ""
4202 "それ自身のシグナル・ハンドラーの内部にいる時でも そのシグナルをマスクしないよ"
4203 "うにする。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。 "
4204 "B<SA_NOMASK> はこのフラグと同じ意味だが、廃止されており、非標準である。"
4205
4206 #. type: TP
4207 #: build/C/man2/sigaction.2:215
4208 #, no-wrap
4209 msgid "B<SA_ONSTACK>"
4210 msgstr "B<SA_ONSTACK>"
4211
4212 #. type: Plain text
4213 #: build/C/man2/sigaction.2:221
4214 msgid ""
4215 "Call the signal handler on an alternate signal stack provided by "
4216 "B<sigaltstack>(2).  If an alternate stack is not available, the default "
4217 "stack will be used.  This flag is only meaningful when establishing a signal "
4218 "handler."
4219 msgstr ""
4220 "B<sigaltstack>(2)  で提供される別のシグナル・スタックでシグナルハンドラを呼び"
4221 "出す。 別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが 使"
4222 "用される。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。"
4223
4224 #. type: TP
4225 #: build/C/man2/sigaction.2:221
4226 #, no-wrap
4227 msgid "B<SA_RESETHAND>"
4228 msgstr "B<SA_RESETHAND>"
4229
4230 #. type: Plain text
4231 #: build/C/man2/sigaction.2:228
4232 msgid ""
4233 "Restore the signal action to the default state once the signal handler has "
4234 "been called.  This flag is only meaningful when establishing a signal "
4235 "handler.  B<SA_ONESHOT> is an obsolete, nonstandard synonym for this flag."
4236 msgstr ""
4237 "シグナルハンドラが呼ばれる度に、シグナルの動作をデフォルトに戻す。 このフラグ"
4238 "はシグナルハンドラを設定する際にのみ意味を持つ。 B<SA_ONESHOT> はこのフラグと"
4239 "同じ意味だが、廃止されており、非標準である。"
4240
4241 #. type: TP
4242 #: build/C/man2/sigaction.2:228
4243 #, no-wrap
4244 msgid "B<SA_RESTART>"
4245 msgstr "B<SA_RESTART>"
4246
4247 #. type: Plain text
4248 #: build/C/man2/sigaction.2:236
4249 msgid ""
4250 "Provide behavior compatible with BSD signal semantics by making certain "
4251 "system calls restartable across signals.  This flag is only meaningful when "
4252 "establishing a signal handler.  See B<signal>(7)  for a discussion of system "
4253 "call restarting."
4254 msgstr ""
4255 "いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、 BSD シ"
4256 "グナル方式 (semantics) と互換性のある動作を提供する。 このフラグはシグナルハ"
4257 "ンドラを設定する際にのみ意味を持つ。 B<signal>(7)  に書かれているシステムコー"
4258 "ルの再開に関する議論を参照のこと。"
4259
4260 #. type: TP
4261 #: build/C/man2/sigaction.2:236
4262 #, no-wrap
4263 msgid "B<SA_SIGINFO> (since Linux 2.2)"
4264 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
4265
4266 #.  (The
4267 #.  .I sa_sigaction
4268 #.  field was added in Linux 2.1.86.)
4269 #. type: Plain text
4270 #: build/C/man2/sigaction.2:247
4271 msgid ""
4272 "The signal handler takes 3 arguments, not one.  In this case, "
4273 "I<sa_sigaction> should be set instead of I<sa_handler>.  This flag is only "
4274 "meaningful when establishing a signal handler."
4275 msgstr ""
4276 "シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は I<sa_handler> "
4277 "のかわりに I<sa_sigaction> を設定しなければならない このフラグはシグナルハン"
4278 "ドラを設定する際にのみ意味を持つ。"
4279
4280 #. type: Plain text
4281 #: build/C/man2/sigaction.2:254
4282 msgid ""
4283 "The I<siginfo_t> argument to I<sa_sigaction> is a struct with the following "
4284 "elements:"
4285 msgstr ""
4286 "I<sa_sigaction> のパラメータ I<siginfo_t> は以下の要素を持つ構造体である:"
4287
4288 #.  FIXME
4289 #.  si_trapno seems to be only used on SPARC and Alpha;
4290 #.  this page could use a little more detail on its purpose there.
4291 #.  In the kernel: si_tid
4292 #. type: Plain text
4293 #: build/C/man2/sigaction.2:285
4294 #, fuzzy, no-wrap
4295 #| msgid ""
4296 #| "siginfo_t {\n"
4297 #| "    int      si_signo;    /* Signal number */\n"
4298 #| "    int      si_errno;    /* An errno value */\n"
4299 #| "    int      si_code;     /* Signal code */\n"
4300 #| "    int      si_trapno;   /* Trap number that caused\n"
4301 #| "                             hardware-generated signal\n"
4302 #| "                             (unused on most architectures) */\n"
4303 #| "    pid_t    si_pid;      /* Sending process ID */\n"
4304 #| "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4305 #| "    int      si_status;   /* Exit value or signal */\n"
4306 #| "    clock_t  si_utime;    /* User time consumed */\n"
4307 #| "    clock_t  si_stime;    /* System time consumed */\n"
4308 #| "    sigval_t si_value;    /* Signal value */\n"
4309 #| "    int      si_int;      /* POSIX.1b signal */\n"
4310 #| "    void    *si_ptr;      /* POSIX.1b signal */\n"
4311 #| "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4312 #| "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4313 #| "    void    *si_addr;     /* Memory location which caused fault */\n"
4314 #| "    int      si_band;     /* Band event */\n"
4315 #| "    int      si_fd;       /* File descriptor */\n"
4316 #| "}\n"
4317 msgid ""
4318 "siginfo_t {\n"
4319 "    int      si_signo;    /* Signal number */\n"
4320 "    int      si_errno;    /* An errno value */\n"
4321 "    int      si_code;     /* Signal code */\n"
4322 "    int      si_trapno;   /* Trap number that caused\n"
4323 "                             hardware-generated signal\n"
4324 "                             (unused on most architectures) */\n"
4325 "    pid_t    si_pid;      /* Sending process ID */\n"
4326 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4327 "    int      si_status;   /* Exit value or signal */\n"
4328 "    clock_t  si_utime;    /* User time consumed */\n"
4329 "    clock_t  si_stime;    /* System time consumed */\n"
4330 "    sigval_t si_value;    /* Signal value */\n"
4331 "    int      si_int;      /* POSIX.1b signal */\n"
4332 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4333 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4334 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4335 "    void    *si_addr;     /* Memory location which caused fault */\n"
4336 "    long     si_band;     /* Band event (was I<int> in\n"
4337 "                             glibc 2.3.2 and earlier) */\n"
4338 "    int      si_fd;       /* File descriptor */\n"
4339 "    short    si_addr_lsb; /* Least significant bit of address\n"
4340 "                             (since kernel 2.6.32) */\n"
4341 "}\n"
4342 msgstr ""
4343 "siginfo_t {\n"
4344 "    int      si_signo;    /* Signal number */\n"
4345 "    int      si_errno;    /* An errno value */\n"
4346 "    int      si_code;     /* Signal code */\n"
4347 "    int      si_trapno;   /* Trap number that caused\n"
4348 "                             hardware-generated signal\n"
4349 "                             (unused on most architectures) */\n"
4350 "    pid_t    si_pid;      /* Sending process ID */\n"
4351 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4352 "    int      si_status;   /* Exit value or signal */\n"
4353 "    clock_t  si_utime;    /* User time consumed */\n"
4354 "    clock_t  si_stime;    /* System time consumed */\n"
4355 "    sigval_t si_value;    /* Signal value */\n"
4356 "    int      si_int;      /* POSIX.1b signal */\n"
4357 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4358 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4359 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4360 "    void    *si_addr;     /* Memory location which caused fault */\n"
4361 "    int      si_band;     /* Band event */\n"
4362 "    int      si_fd;       /* File descriptor */\n"
4363 "}\n"
4364
4365 #. type: Plain text
4366 #: build/C/man2/sigaction.2:294
4367 msgid ""
4368 "I<si_signo>, I<si_errno> and I<si_code> are defined for all signals.  "
4369 "(I<si_errno> is generally unused on Linux.)  The rest of the struct may be a "
4370 "union, so that one should only read the fields that are meaningful for the "
4371 "given signal:"
4372 msgstr ""
4373 "I<si_signo>, I<si_errno>, I<si_code> は全てのシグナルに対して定義されている "
4374 "(I<si_errno> は Linux では一般的には使用されない)。 構造体の残りの部分は、共"
4375 "用体 (union) になっているかもしれない。 その場合は該当するシグナルにおいて意"
4376 "味のあるフィールドのみを読み込む ことができる。"
4377
4378 #. type: Plain text
4379 #: build/C/man2/sigaction.2:309
4380 msgid ""
4381 "Signals sent with B<kill>(2)  and B<sigqueue>(3)  fill in I<si_pid> and "
4382 "I<si_uid>.  In addition, signals sent with B<sigqueue>(3)  fill in I<si_int> "
4383 "and I<si_ptr> with the values specified by the sender of the signal; see "
4384 "B<sigqueue>(3)  for more details."
4385 msgstr ""
4386
4387 #. type: Plain text
4388 #: build/C/man2/sigaction.2:325
4389 #, fuzzy
4390 #| msgid ""
4391 #| "POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4392 #| "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the "
4393 #| "kernel to identify the timer; it is not the same as the timer ID returned "
4394 #| "by B<timer_create>(2)."
4395 msgid ""
4396 "Signals sent by POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4397 "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the kernel "
4398 "to identify the timer; it is not the same as the timer ID returned by "
4399 "B<timer_create>(2).  The I<si_overrun> field is the timer overrun count; "
4400 "this is the same information as is obtained by a call to B<timer_getoverrun>"
4401 "(2).  These fields are nonstandard Linux extensions."
4402 msgstr ""
4403 "POSIX.1b タイマ (Linux 2.6 以降) は I<si_overrun> と I<si_timerid> を設定す"
4404 "る。 I<si_timerid> フィールドはカーネルがタイマを特定するのに使用する内部 ID "
4405 "であり、 B<timer_create>(2)  が返すタイマ ID と同じではない。"
4406
4407 #. type: Plain text
4408 #: build/C/man2/sigaction.2:340
4409 msgid ""
4410 "Signals sent for message queue notification (see the description of "
4411 "B<SIGEV_SIGNAL> in B<mq_notify>(3))  fill in I<si_int>/I<si_ptr>, with the "
4412 "I<sigev_value> supplied to B<mq_notify>(3); I<si_pid>, with the process ID "
4413 "of the message sender; and I<si_uid>, with the real user ID of the message "
4414 "sender."
4415 msgstr ""
4416
4417 #.  FIXME .
4418 #.  When si_utime and si_stime where originally implemented, the
4419 #.  measurement unit was HZ, which was the same as clock ticks
4420 #.  (sysconf(_SC_CLK_TCK)).  In 2.6, HZ became configurable, and
4421 #.  was *still* used as the unit to return the info these fields,
4422 #.  with the result that the field values depended on the the
4423 #.  configured HZ.  Of course, the should have been measured in
4424 #.  USER_HZ instead, so that sysconf(_SC_CLK_TCK) could be used to
4425 #.  convert to seconds.  I have a queued patch to fix this:
4426 #.  http://thread.gmane.org/gmane.linux.kernel/698061/ .
4427 #.  This patch made it into 2.6.27.
4428 #.  But note that these fields still don't return the times of
4429 #.  waited-for children (as is done by getrusage() and times()
4430 #.  and wait4()).  Solaris 8 does include child times.
4431 #. type: Plain text
4432 #: build/C/man2/sigaction.2:387
4433 #, fuzzy
4434 #| msgid ""
4435 #| "B<SIGCHLD> fills in I<si_status>, I<si_utime> and I<si_stime>.  The "
4436 #| "I<si_utime> and I<si_stime> fields do not include the times used by "
4437 #| "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels "
4438 #| "up to 2.6, and since 2.6.27, these fields report CPU time in units of "
4439 #| "I<sysconf(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that "
4440 #| "these fields reported time in units of the (configurable) system jiffy "
4441 #| "(see B<time>(7))."
4442 msgid ""
4443 "B<SIGCHLD> fills in I<si_pid>, I<si_uid>, I<si_status>, I<si_utime> and "
4444 "I<si_stime>, providing information about the child.  The I<si_pid> field is "
4445 "the process ID of the child; I<si_uid> is the child's real user ID.  The "
4446 "I<si_status> field contains the exit status of the child (if I<si_code> is "
4447 "B<CLD_EXITED>), or the signal number that caused the process to change "
4448 "state.  The I<si_utime> and I<si_stime> contain the user and system CPU time "
4449 "used by the child process; these fields do not include the times used by "
4450 "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels up "
4451 "to 2.6, and since 2.6.27, these fields report CPU time in units of I<sysconf"
4452 "(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that these fields "
4453 "reported time in units of the (configurable) system jiffy (see B<time>(7))."
4454 msgstr ""
4455 "B<SIGCHLD> は I<si_status>, I<si_utime>, I<si_stime> を設定する。 "
4456 "(B<getrusage>(2)  や B<time>(2)  と異なり) フィールド I<si_utime> と "
4457 "I<si_stime> には wait 待ちの子プロセスにより使用された時間は含まれない。 2.6 "
4458 "より前と 2.6.27 以降のカーネルでは、 これらのフィールドに格納される CPU 時間"
4459 "の単位は I<sysconf(_SC_CLK_TCK)> である。 2.6.27 より前の 2.6 系のカーネルで"
4460 "は、バグがあり、 これらのフィールドの CPU 時間の単位が (カーネルのコンフィグ"
4461 "で指定される) システムの jiffy であった (B<time>(7)  参照)。"
4462
4463 #.  FIXME SIGTRAP also sets the following for ptrace_notify() ?
4464 #.      info.si_code = exit_code;
4465 #.      info.si_pid = task_pid_vnr(current);
4466 #.      info.si_uid = current_uid();  /* Real UID */
4467 #. type: Plain text
4468 #: build/C/man2/sigaction.2:423
4469 msgid ""
4470 "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS>, and B<SIGTRAP> fill in "
4471 "I<si_addr> with the address of the fault.  On some architectures, these "
4472 "signals also fill in the I<si_trapno> filed.  Some suberrors of B<SIGBUS>, "
4473 "in particular B<BUS_MCEERR_AO> and B<BUS_MCEERR_AR>, also fill in "
4474 "I<si_addr_lsb>.  This field indicates the least significant bit of the "
4475 "reported address and therefore the extent of the corruption.  For example, "
4476 "if a full page was corrupted, I<si_addr_lsb> contains I<log2(sysconf"
4477 "(_SC_PAGESIZE))>.  B<BUS_MCERR_*> and I<si_addr_lsb> are Linux-specific "
4478 "extensions."
4479 msgstr ""
4480
4481 #. type: Plain text
4482 #: build/C/man2/sigaction.2:437
4483 msgid ""
4484 "B<SIGIO>/B<SIGPOLL> (the two names are synonyms on Linux)  fills in "
4485 "I<si_band> and I<si_fd>.  The I<si_band> event is a bit mask containing the "
4486 "same values as are filled in the I<revents> field by B<poll>(2).  The "
4487 "I<si_fd> field indicates the file descriptor for which the I/O event "
4488 "occurred."
4489 msgstr ""
4490
4491 #. type: Plain text
4492 #: build/C/man2/sigaction.2:444
4493 msgid ""
4494 "I<si_code> is a value (not a bit mask)  indicating why this signal was "
4495 "sent.  The following list shows the values which can be placed in I<si_code> "
4496 "for any signal, along with reason that the signal was generated."
4497 msgstr ""
4498 "I<si_code> は、そのシグナルが送信された理由を示す値である (ビットマスクではな"
4499 "い)。 以下のリストに、どのシグナルの場合でも I<si_code> に入りうる値を、シグ"
4500 "ナルが生成された理由とともに記載する。"
4501
4502 #. type: TP
4503 #: build/C/man2/sigaction.2:445
4504 #, no-wrap
4505 msgid "B<SI_USER>"
4506 msgstr "B<SI_USER>"
4507
4508 #. type: TP
4509 #: build/C/man2/sigaction.2:448 build/C/man7/signal.7:109
4510 #, no-wrap
4511 msgid "B<kill>(2)"
4512 msgstr "B<kill>(2)"
4513
4514 #. type: TP
4515 #: build/C/man2/sigaction.2:448
4516 #, no-wrap
4517 msgid "B<SI_KERNEL>"
4518 msgstr "B<SI_KERNEL>"
4519
4520 #. type: Plain text
4521 #: build/C/man2/sigaction.2:451
4522 msgid "Sent by the kernel."
4523 msgstr "カーネルにより送信された"
4524
4525 #. type: TP
4526 #: build/C/man2/sigaction.2:451
4527 #, no-wrap
4528 msgid "B<SI_QUEUE>"
4529 msgstr "B<SI_QUEUE>"
4530
4531 #. type: TP
4532 #: build/C/man2/sigaction.2:454 build/C/man7/signal.7:126
4533 #, no-wrap
4534 msgid "B<sigqueue>(3)"
4535 msgstr "B<sigqueue>(3)"
4536
4537 #. type: TP
4538 #: build/C/man2/sigaction.2:454
4539 #, no-wrap
4540 msgid "B<SI_TIMER>"
4541 msgstr "B<SI_TIMER>"
4542
4543 #. type: Plain text
4544 #: build/C/man2/sigaction.2:457
4545 msgid "POSIX timer expired"
4546 msgstr "POSIX タイマが満了した"
4547
4548 #. type: TP
4549 #: build/C/man2/sigaction.2:457
4550 #, no-wrap
4551 msgid "B<SI_MESGQ>"
4552 msgstr "B<SI_MESGQ>"
4553
4554 #. type: Plain text
4555 #: build/C/man2/sigaction.2:461
4556 msgid ""
4557 "POSIX message queue state changed (since Linux 2.6.6); see B<mq_notify>(3)"
4558 msgstr ""
4559 "POSIX メッセージキューの状態が変化した (Linux 2.6.6 以降)。 B<mq_notify>(3)B<"
4560 "参照。>"
4561
4562 #. type: TP
4563 #: build/C/man2/sigaction.2:461
4564 #, no-wrap
4565 msgid "B<SI_ASYNCIO>"
4566 msgstr "B<SI_ASYNCIO>"
4567
4568 #. type: Plain text
4569 #: build/C/man2/sigaction.2:464
4570 msgid "AIO completed"
4571 msgstr "非同期 IO (AIO) が完了した"
4572
4573 #. type: TP
4574 #: build/C/man2/sigaction.2:464
4575 #, no-wrap
4576 msgid "B<SI_SIGIO>"
4577 msgstr "B<SI_SIGIO>"
4578
4579 #. type: Plain text
4580 #: build/C/man2/sigaction.2:473
4581 msgid ""
4582 "Queued B<SIGIO> (only in kernels up to Linux 2.2; from Linux 2.4 onward "
4583 "B<SIGIO>/B<SIGPOLL> fills in I<si_code> as described below)."
4584 msgstr ""
4585
4586 #. type: TP
4587 #: build/C/man2/sigaction.2:473
4588 #, no-wrap
4589 msgid "B<SI_TKILL>"
4590 msgstr "B<SI_TKILL>"
4591
4592 #.  SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
4593 #.  It appears to have been an idea that was tried during 2.5.6
4594 #.  through to 2.5.24 and then was backed out.
4595 #. type: Plain text
4596 #: build/C/man2/sigaction.2:482
4597 msgid "B<tkill>(2)  or B<tgkill>(2)  (since Linux 2.4.19)"
4598 msgstr "B<tkill>(2)  または B<tgkill>(2)  (Linux 2.4.19 以降)"
4599
4600 #. type: Plain text
4601 #: build/C/man2/sigaction.2:489
4602 msgid ""
4603 "The following values can be placed in I<si_code> for a B<SIGILL> signal:"
4604 msgstr "B<SIGILL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4605
4606 #. type: TP
4607 #: build/C/man2/sigaction.2:490
4608 #, no-wrap
4609 msgid "B<ILL_ILLOPC>"
4610 msgstr "B<ILL_ILLOPC>"
4611
4612 #. type: Plain text
4613 #: build/C/man2/sigaction.2:493
4614 msgid "illegal opcode"
4615 msgstr "不正な命令コード (opcode)"
4616
4617 #. type: TP
4618 #: build/C/man2/sigaction.2:493
4619 #, no-wrap
4620 msgid "B<ILL_ILLOPN>"
4621 msgstr "B<ILL_ILLOPN>"
4622
4623 #. type: Plain text
4624 #: build/C/man2/sigaction.2:496
4625 msgid "illegal operand"
4626 msgstr "不正なオペランド"
4627
4628 #. type: TP
4629 #: build/C/man2/sigaction.2:496
4630 #, no-wrap
4631 msgid "B<ILL_ILLADR>"
4632 msgstr "B<ILL_ILLADR>"
4633
4634 #. type: Plain text
4635 #: build/C/man2/sigaction.2:499
4636 msgid "illegal addressing mode"
4637 msgstr "不正なアドレッシングモード"
4638
4639 #. type: TP
4640 #: build/C/man2/sigaction.2:499
4641 #, no-wrap
4642 msgid "B<ILL_ILLTRP>"
4643 msgstr "B<ILL_ILLTRP>"
4644
4645 #. type: Plain text
4646 #: build/C/man2/sigaction.2:502
4647 msgid "illegal trap"
4648 msgstr "不正なトラップ"
4649
4650 #. type: TP
4651 #: build/C/man2/sigaction.2:502
4652 #, no-wrap
4653 msgid "B<ILL_PRVOPC>"
4654 msgstr "B<ILL_PRVOPC>"
4655
4656 #. type: Plain text
4657 #: build/C/man2/sigaction.2:505
4658 msgid "privileged opcode"
4659 msgstr "特権が必要な命令コード (opcode)"
4660
4661 #. type: TP
4662 #: build/C/man2/sigaction.2:505
4663 #, no-wrap
4664 msgid "B<ILL_PRVREG>"
4665 msgstr "B<ILL_PRVREG>"
4666
4667 #. type: Plain text
4668 #: build/C/man2/sigaction.2:508
4669 msgid "privileged register"
4670 msgstr "特権が必要なレジスタ"
4671
4672 #. type: TP
4673 #: build/C/man2/sigaction.2:508
4674 #, no-wrap
4675 msgid "B<ILL_COPROC>"
4676 msgstr "B<ILL_COPROC>"
4677
4678 #. type: Plain text
4679 #: build/C/man2/sigaction.2:511
4680 msgid "coprocessor error"
4681 msgstr "コプロセッサのエラー"
4682
4683 #. type: TP
4684 #: build/C/man2/sigaction.2:511
4685 #, no-wrap
4686 msgid "B<ILL_BADSTK>"
4687 msgstr "B<ILL_BADSTK>"
4688
4689 #. type: Plain text
4690 #: build/C/man2/sigaction.2:514
4691 msgid "internal stack error"
4692 msgstr "内部スタックエラー"
4693
4694 #. type: Plain text
4695 #: build/C/man2/sigaction.2:521
4696 msgid ""
4697 "The following values can be placed in I<si_code> for a B<SIGFPE> signal:"
4698 msgstr "B<SIGFPE> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4699
4700 #. type: TP
4701 #: build/C/man2/sigaction.2:522
4702 #, no-wrap
4703 msgid "B<FPE_INTDIV>"
4704 msgstr "B<FPE_INTDIV>"
4705
4706 #. type: Plain text
4707 #: build/C/man2/sigaction.2:525
4708 msgid "integer divide by zero"
4709 msgstr "整数の 0 による除算"
4710
4711 #. type: TP
4712 #: build/C/man2/sigaction.2:525
4713 #, no-wrap
4714 msgid "B<FPE_INTOVF>"
4715 msgstr "B<FPE_INTOVF>"
4716
4717 #. type: Plain text
4718 #: build/C/man2/sigaction.2:528
4719 msgid "integer overflow"
4720 msgstr "整数のオーバーフロー"
4721
4722 #. type: TP
4723 #: build/C/man2/sigaction.2:528
4724 #, no-wrap
4725 msgid "B<FPE_FLTDIV>"
4726 msgstr "B<FPE_FLTDIV>"
4727
4728 #. type: Plain text
4729 #: build/C/man2/sigaction.2:531
4730 msgid "floating-point divide by zero"
4731 msgstr "浮動小数点の 0 による除算"
4732
4733 #. type: TP
4734 #: build/C/man2/sigaction.2:531
4735 #, no-wrap
4736 msgid "B<FPE_FLTOVF>"
4737 msgstr "B<FPE_FLTOVF>"
4738
4739 #. type: Plain text
4740 #: build/C/man2/sigaction.2:534
4741 msgid "floating-point overflow"
4742 msgstr "浮動小数点のオーバーフロー"
4743
4744 #. type: TP
4745 #: build/C/man2/sigaction.2:534
4746 #, no-wrap
4747 msgid "B<FPE_FLTUND>"
4748 msgstr "B<FPE_FLTUND>"
4749
4750 #. type: Plain text
4751 #: build/C/man2/sigaction.2:537
4752 msgid "floating-point underflow"
4753 msgstr "浮動小数点のアンダーフロー"
4754
4755 #. type: TP
4756 #: build/C/man2/sigaction.2:537
4757 #, no-wrap
4758 msgid "B<FPE_FLTRES>"
4759 msgstr "B<FPE_FLTRES>"
4760
4761 #. type: Plain text
4762 #: build/C/man2/sigaction.2:540
4763 msgid "floating-point inexact result"
4764 msgstr "浮動小数点の不正確な演算結果 (inexact result)"
4765
4766 #. type: TP
4767 #: build/C/man2/sigaction.2:540
4768 #, no-wrap
4769 msgid "B<FPE_FLTINV>"
4770 msgstr "B<FPE_FLTINV>"
4771
4772 #. type: Plain text
4773 #: build/C/man2/sigaction.2:543
4774 msgid "floating-point invalid operation"
4775 msgstr "浮動小数点の不正な操作"
4776
4777 #. type: TP
4778 #: build/C/man2/sigaction.2:543
4779 #, no-wrap
4780 msgid "B<FPE_FLTSUB>"
4781 msgstr "B<FPE_FLTSUB>"
4782
4783 #. type: Plain text
4784 #: build/C/man2/sigaction.2:546
4785 msgid "subscript out of range"
4786 msgstr "範囲外の添字 (subscript)"
4787
4788 #. type: Plain text
4789 #: build/C/man2/sigaction.2:553
4790 msgid ""
4791 "The following values can be placed in I<si_code> for a B<SIGSEGV> signal:"
4792 msgstr "B<SIGSEGV> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4793
4794 #. type: TP
4795 #: build/C/man2/sigaction.2:554
4796 #, no-wrap
4797 msgid "B<SEGV_MAPERR>"
4798 msgstr "B<SEGV_MAPERR>"
4799
4800 #. type: Plain text
4801 #: build/C/man2/sigaction.2:557
4802 msgid "address not mapped to object"
4803 msgstr "オブジェクトにマッピングされていないアドレス"
4804
4805 #. type: TP
4806 #: build/C/man2/sigaction.2:557
4807 #, no-wrap
4808 msgid "B<SEGV_ACCERR>"
4809 msgstr "B<SEGV_ACCERR>"
4810
4811 #. type: Plain text
4812 #: build/C/man2/sigaction.2:560
4813 msgid "invalid permissions for mapped object"
4814 msgstr "マッピングされたオブジェクトに対するアクセス許可がない"
4815
4816 #. type: Plain text
4817 #: build/C/man2/sigaction.2:567
4818 msgid ""
4819 "The following values can be placed in I<si_code> for a B<SIGBUS> signal:"
4820 msgstr "B<SIGBUS> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4821
4822 #. type: TP
4823 #: build/C/man2/sigaction.2:568
4824 #, no-wrap
4825 msgid "B<BUS_ADRALN>"
4826 msgstr "B<BUS_ADRALN>"
4827
4828 #. type: Plain text
4829 #: build/C/man2/sigaction.2:571
4830 msgid "invalid address alignment"
4831 msgstr "不正なアドレス・アライメント (alignment)"
4832
4833 #. type: TP
4834 #: build/C/man2/sigaction.2:571
4835 #, no-wrap
4836 msgid "B<BUS_ADRERR>"
4837 msgstr "B<BUS_ADRERR>"
4838
4839 #. type: Plain text
4840 #: build/C/man2/sigaction.2:574
4841 msgid "nonexistent physical address"
4842 msgstr "存在しない物理アドレス"
4843
4844 #. type: TP
4845 #: build/C/man2/sigaction.2:574
4846 #, no-wrap
4847 msgid "B<BUS_OBJERR>"
4848 msgstr "B<BUS_OBJERR>"
4849
4850 #. type: Plain text
4851 #: build/C/man2/sigaction.2:577
4852 msgid "object-specific hardware error"
4853 msgstr "オブジェクト固有のハードウェアエラー"
4854
4855 #. type: TP
4856 #: build/C/man2/sigaction.2:577
4857 #, fuzzy, no-wrap
4858 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4859 msgid "B<BUS_MCEERR_AR> (since Linux 2.6.32)"
4860 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4861
4862 #. type: Plain text
4863 #: build/C/man2/sigaction.2:580
4864 msgid "Hardware memory error consumed on a machine check; action required."
4865 msgstr ""
4866
4867 #. type: TP
4868 #: build/C/man2/sigaction.2:580
4869 #, fuzzy, no-wrap
4870 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4871 msgid "B<BUS_MCEERR_AO> (since Linux 2.6.32)"
4872 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4873
4874 #. type: Plain text
4875 #: build/C/man2/sigaction.2:583
4876 msgid ""
4877 "Hardware memory error detected in process but not consumed; action optional."
4878 msgstr ""
4879
4880 #. type: Plain text
4881 #: build/C/man2/sigaction.2:590
4882 msgid ""
4883 "The following values can be placed in I<si_code> for a B<SIGTRAP> signal:"
4884 msgstr "B<SIGTRAP> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4885
4886 #. type: TP
4887 #: build/C/man2/sigaction.2:591
4888 #, no-wrap
4889 msgid "B<TRAP_BRKPT>"
4890 msgstr "B<TRAP_BRKPT>"
4891
4892 #. type: Plain text
4893 #: build/C/man2/sigaction.2:594
4894 msgid "process breakpoint"
4895 msgstr "プロセスのブレークポイント"
4896
4897 #. type: TP
4898 #: build/C/man2/sigaction.2:594
4899 #, no-wrap
4900 msgid "B<TRAP_TRACE>"
4901 msgstr "B<TRAP_TRACE>"
4902
4903 #. type: Plain text
4904 #: build/C/man2/sigaction.2:597
4905 msgid "process trace trap"
4906 msgstr "プロセスのトレース・トラップ"
4907
4908 #. type: TP
4909 #: build/C/man2/sigaction.2:597
4910 #, fuzzy, no-wrap
4911 #| msgid "B<__WALL> (since Linux 2.4)"
4912 msgid "B<TRAP_BRANCH> (since Linux 2.4)"
4913 msgstr "B<__WALL> (Linux 2.4 以降)"
4914
4915 #. type: Plain text
4916 #: build/C/man2/sigaction.2:600
4917 #, fuzzy
4918 #| msgid "process trace trap"
4919 msgid "process taken branch trap"
4920 msgstr "プロセスのトレース・トラップ"
4921
4922 #. type: TP
4923 #: build/C/man2/sigaction.2:600
4924 #, fuzzy, no-wrap
4925 #| msgid "B<__WALL> (since Linux 2.4)"
4926 msgid "B<TRAP_HWBKPT> (since Linux 2.4)"
4927 msgstr "B<__WALL> (Linux 2.4 以降)"
4928
4929 #. type: Plain text
4930 #: build/C/man2/sigaction.2:603
4931 msgid "hardware breakpoint/watchpoint"
4932 msgstr ""
4933
4934 #. type: Plain text
4935 #: build/C/man2/sigaction.2:610
4936 msgid ""
4937 "The following values can be placed in I<si_code> for a B<SIGCHLD> signal:"
4938 msgstr "B<SIGCHLD> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4939
4940 #. type: TP
4941 #: build/C/man2/sigaction.2:611
4942 #, no-wrap
4943 msgid "B<CLD_EXITED>"
4944 msgstr "B<CLD_EXITED>"
4945
4946 #. type: Plain text
4947 #: build/C/man2/sigaction.2:614
4948 msgid "child has exited"
4949 msgstr "子プロセスが終了した (exited)"
4950
4951 #. type: TP
4952 #: build/C/man2/sigaction.2:614
4953 #, no-wrap
4954 msgid "B<CLD_KILLED>"
4955 msgstr "B<CLD_KILLED>"
4956
4957 #. type: Plain text
4958 #: build/C/man2/sigaction.2:617
4959 msgid "child was killed"
4960 msgstr "子プロセスが kill された"
4961
4962 #. type: TP
4963 #: build/C/man2/sigaction.2:617
4964 #, no-wrap
4965 msgid "B<CLD_DUMPED>"
4966 msgstr "B<CLD_DUMPED>"
4967
4968 #. type: Plain text
4969 #: build/C/man2/sigaction.2:620
4970 msgid "child terminated abnormally"
4971 msgstr "子プロセスが異常終了した"
4972
4973 #. type: TP
4974 #: build/C/man2/sigaction.2:620
4975 #, no-wrap
4976 msgid "B<CLD_TRAPPED>"
4977 msgstr "B<CLD_TRAPPED>"
4978
4979 #. type: Plain text
4980 #: build/C/man2/sigaction.2:623
4981 msgid "traced child has trapped"
4982 msgstr "トレース対象の子プロセスがトラップを上げた"
4983
4984 #. type: TP
4985 #: build/C/man2/sigaction.2:623
4986 #, no-wrap
4987 msgid "B<CLD_STOPPED>"
4988 msgstr "B<CLD_STOPPED>"
4989
4990 #. type: Plain text
4991 #: build/C/man2/sigaction.2:626
4992 msgid "child has stopped"
4993 msgstr "子プロセスが停止 (stop) した"
4994
4995 #. type: TP
4996 #: build/C/man2/sigaction.2:626
4997 #, no-wrap
4998 msgid "B<CLD_CONTINUED>"
4999 msgstr "B<CLD_CONTINUED>"
5000
5001 #. type: Plain text
5002 #: build/C/man2/sigaction.2:629
5003 msgid "stopped child has continued (since Linux 2.6.9)"
5004 msgstr "停止していた子プロセスが再開した (Linux 2.6.9 以降)"
5005
5006 #. type: Plain text
5007 #: build/C/man2/sigaction.2:636
5008 #, fuzzy
5009 #| msgid ""
5010 #| "The following values can be placed in I<si_code> for a B<SIGPOLL> signal:"
5011 msgid ""
5012 "The following values can be placed in I<si_code> for a B<SIGIO>/B<SIGPOLL> "
5013 "signal:"
5014 msgstr "B<SIGPOLL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
5015
5016 #. type: TP
5017 #: build/C/man2/sigaction.2:637
5018 #, no-wrap
5019 msgid "B<POLL_IN>"
5020 msgstr "B<POLL_IN>"
5021
5022 #. type: Plain text
5023 #: build/C/man2/sigaction.2:640
5024 msgid "data input available"
5025 msgstr "入力データが利用可能"
5026
5027 #. type: TP
5028 #: build/C/man2/sigaction.2:640
5029 #, no-wrap
5030 msgid "B<POLL_OUT>"
5031 msgstr "B<POLL_OUT>"
5032
5033 #. type: Plain text
5034 #: build/C/man2/sigaction.2:643
5035 msgid "output buffers available"
5036 msgstr "出力バッファが利用可能"
5037
5038 #. type: TP
5039 #: build/C/man2/sigaction.2:643
5040 #, no-wrap
5041 msgid "B<POLL_MSG>"
5042 msgstr "B<POLL_MSG>"
5043
5044 #. type: Plain text
5045 #: build/C/man2/sigaction.2:646
5046 msgid "input message available"
5047 msgstr "入力メッセージが利用可能"
5048
5049 #. type: TP
5050 #: build/C/man2/sigaction.2:646
5051 #, no-wrap
5052 msgid "B<POLL_ERR>"
5053 msgstr "B<POLL_ERR>"
5054
5055 #. type: Plain text
5056 #: build/C/man2/sigaction.2:649
5057 #, fuzzy
5058 #| msgid "i/o error"
5059 msgid "I/O error"
5060 msgstr "I/O エラー"
5061
5062 #. type: TP
5063 #: build/C/man2/sigaction.2:649
5064 #, no-wrap
5065 msgid "B<POLL_PRI>"
5066 msgstr "B<POLL_PRI>"
5067
5068 #. type: Plain text
5069 #: build/C/man2/sigaction.2:652
5070 msgid "high priority input available"
5071 msgstr "高優先の入力が利用可能"
5072
5073 #. type: TP
5074 #: build/C/man2/sigaction.2:652
5075 #, no-wrap
5076 msgid "B<POLL_HUP>"
5077 msgstr "B<POLL_HUP>"
5078
5079 #. type: Plain text
5080 #: build/C/man2/sigaction.2:655
5081 msgid "device disconnected"
5082 msgstr "デバイスが接続されていない"
5083
5084 #. type: Plain text
5085 #: build/C/man2/sigaction.2:659
5086 msgid "B<sigaction>()  returns 0 on success and -1 on error."
5087 msgstr "B<sigaction>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
5088
5089 #. type: Plain text
5090 #: build/C/man2/sigaction.2:664
5091 msgid ""
5092 "I<act> or I<oldact> points to memory which is not a valid part of the "
5093 "process address space."
5094 msgstr ""
5095 "I<act> か I<oldact> が指しているメモリが正しいプロセスのアドレス空間にない。"
5096
5097 #. type: Plain text
5098 #: build/C/man2/sigaction.2:671
5099 msgid ""
5100 "An invalid signal was specified.  This will also be generated if an attempt "
5101 "is made to change the action for B<SIGKILL> or B<SIGSTOP>, which cannot be "
5102 "caught or ignored."
5103 msgstr ""
5104 "無効なシグナルが指定された。補足 (catch) したり無視したりできない シグナルで"
5105 "ある B<SIGKILL> や B<SIGSTOP> に対する動作を変更しようとした場合にも発生す"
5106 "る。"
5107
5108 #.  SVr4 does not document the EINTR condition.
5109 #. type: Plain text
5110 #: build/C/man2/sigaction.2:674
5111 msgid "POSIX.1-2001, SVr4."
5112 msgstr "POSIX.1-2001, SVr4."
5113
5114 #. type: Plain text
5115 #: build/C/man2/sigaction.2:682 build/C/man7/signal.7:103
5116 msgid ""
5117 "A child created via B<fork>(2)  inherits a copy of its parent's signal "
5118 "dispositions.  During an B<execve>(2), the dispositions of handled signals "
5119 "are reset to the default; the dispositions of ignored signals are left "
5120 "unchanged."
5121 msgstr ""
5122 "B<fork>(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コ"
5123 "ピーを継承する。\n"
5124 "B<execve>(2) の前後で、ハンドラが設定されているシグナルの処理方法はデフォルト"
5125 "にリセットされ、\n"
5126 "無視が設定されているシグナルの処理方法は変更されずそのままとなる。"
5127
5128 #. type: Plain text
5129 #: build/C/man2/sigaction.2:700 build/C/man2/signal.2:129
5130 msgid ""
5131 "According to POSIX, the behavior of a process is undefined after it ignores "
5132 "a B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> signal that was not generated by "
5133 "B<kill>(2)  or B<raise>(3).  Integer division by zero has undefined result.  "
5134 "On some architectures it will generate a B<SIGFPE> signal.  (Also dividing "
5135 "the most negative integer by -1 may generate B<SIGFPE>.)  Ignoring this "
5136 "signal might lead to an endless loop."
5137 msgstr ""
5138 "POSIX では、 B<kill>(2)  や B<raise>(3)  で生成できないシグナル B<SIGFPE>, "
5139 "B<SIGILL>, B<SIGSEGV> を無視 (ignore) した場合、その後の動作は未定義である。 "
5140 "ゼロによる整数割り算の結果は未定義となる。 アーキテクチャーによっては、このと"
5141 "き B<SIGFPE> シグナルが生成される。 (同様に負の最大整数を -1 で割ると "
5142 "B<SIGFPE> が生成されるかもしれない)  このシグナルを無視すると無限ループに陥る"
5143 "かもしれない。"
5144
5145 #. type: Plain text
5146 #: build/C/man2/sigaction.2:717
5147 msgid ""
5148 "POSIX.1-1990 disallowed setting the action for B<SIGCHLD> to B<SIG_IGN>.  "
5149 "POSIX.1-2001 allows this possibility, so that ignoring B<SIGCHLD> can be "
5150 "used to prevent the creation of zombies (see B<wait>(2)).  Nevertheless, the "
5151 "historical BSD and System V behaviors for ignoring B<SIGCHLD> differ, so "
5152 "that the only completely portable method of ensuring that terminated "
5153 "children do not become zombies is to catch the B<SIGCHLD> signal and perform "
5154 "a B<wait>(2)  or similar."
5155 msgstr ""
5156 "POSIX.1-1990 では B<SIGCHLD> に B<SIG_IGN> を設定することを認めていない。 "
5157 "POSIX.1-2001 では認められており、 B<SIGCHLD> を無視することでゾンビプロセスの"
5158 "生成を防止することができる (B<wait>(2)  を参照)。 さらに、BSD と SystemV で"
5159 "は B<SIGCHLD> を無視した際の動作が異なっている。 そのため、完全に移植性がある"
5160 "方法で、終了した子プロセスがゾンビにならないこと を保証するには、 B<SIGCHLD> "
5161 "シグナルを補足し、 B<wait>(2)  などを実行するしかない。"
5162
5163 #. type: Plain text
5164 #: build/C/man2/sigaction.2:730
5165 #, fuzzy
5166 #| msgid ""
5167 #| "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
5168 #| "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use "
5169 #| "of these latter values in I<sa_flags> may be less portable in "
5170 #| "applications intended for older Unix implementations."
5171 msgid ""
5172 "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
5173 "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use of "
5174 "these latter values in I<sa_flags> may be less portable in applications "
5175 "intended for older UNIX implementations."
5176 msgstr ""
5177 "POSIX.1-1990 の仕様では B<SA_NOCLDSTOP> のみが定義されている。 POSIX.1-2001 "
5178 "では B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, B<SA_SIGINFO> が追加さ"
5179 "れた。 Unix の古い実装で動かすアプリケーションで、 他の I<sa_flags> フラグを"
5180 "使用すると移植性が下がる。"
5181
5182 #. type: Plain text
5183 #: build/C/man2/sigaction.2:734
5184 msgid ""
5185 "The B<SA_RESETHAND> flag is compatible with the SVr4 flag of the same name."
5186 msgstr "B<SA_RESETHAND> フラグは SVr4 の同じ名前のフラグと互換性がある。"
5187
5188 #. type: Plain text
5189 #: build/C/man2/sigaction.2:744
5190 msgid ""
5191 "The B<SA_NODEFER> flag is compatible with the SVr4 flag of the same name "
5192 "under kernels 1.3.9 and newer.  On older kernels the Linux implementation "
5193 "allowed the receipt of any signal, not just the one we are installing "
5194 "(effectively overriding any I<sa_mask> settings)."
5195 msgstr ""
5196 "B<SA_NODEFER> フラグは 1.3.9 以降のカーネルでは同じ名前の SVr4 のフラグと互換"
5197 "性がある。 ぞれ以前の Linux カーネルの実装では、このフラグを設定しているシグ"
5198 "ナル だけでなく、どのシグナルでも受けることを許していた (実際には I<sa_mask> "
5199 "の設定により無効にできる)。"
5200
5201 #. type: Plain text
5202 #: build/C/man2/sigaction.2:750
5203 #, fuzzy
5204 #| msgid ""
5205 #| "B<sigaction>()  can be called with a null second argument to query the "
5206 #| "current signal handler.  It can also be used to check whether a given "
5207 #| "signal is valid for the current machine by calling it with null second "
5208 #| "and third arguments."
5209 msgid ""
5210 "B<sigaction>()  can be called with a NULL second argument to query the "
5211 "current signal handler.  It can also be used to check whether a given signal "
5212 "is valid for the current machine by calling it with NULL second and third "
5213 "arguments."
5214 msgstr ""
5215 "B<sigaction>()  の二番目の引き数に NULL を指定して呼び出すと、現在のシグナル"
5216 "ハンドラを確認する ことができる。また、二番目と三番目の引き数を NULL にて呼び"
5217 "出すことで、 指定されたシグナルが現在のマシンで使えるかどうかチェックできる。"
5218
5219 #. type: Plain text
5220 #: build/C/man2/sigaction.2:756
5221 msgid ""
5222 "It is not possible to block B<SIGKILL> or B<SIGSTOP> (by specifying them in "
5223 "I<sa_mask>).  Attempts to do so are silently ignored."
5224 msgstr ""
5225 "B<SIGKILL> や B<SIGSTOP> を (I<sa_mask> に指定して) 禁止することはできない。 "
5226 "禁止しようとしても黙って無視される。"
5227
5228 #. type: Plain text
5229 #: build/C/man2/sigaction.2:760 build/C/man2/sigpending.2:65
5230 #: build/C/man2/sigprocmask.2:139 build/C/man2/sigsuspend.2:104
5231 msgid "See B<sigsetops>(3)  for details on manipulating signal sets."
5232 msgstr "シグナル集合の操作に関する詳細は B<sigsetops>(3)  を参照のこと。"
5233
5234 #. type: Plain text
5235 #: build/C/man2/sigaction.2:765
5236 msgid ""
5237 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
5238 "safely called inside from inside a signal handler."
5239 msgstr ""
5240 "シグナルハンドラ内から安全に呼び出すことができる、 async-signal-safe "
5241 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
5242 "照。"
5243
5244 #. type: SS
5245 #: build/C/man2/sigaction.2:765
5246 #, no-wrap
5247 msgid "Undocumented"
5248 msgstr "非公式"
5249
5250 #. type: Plain text
5251 #: build/C/man2/sigaction.2:775
5252 msgid ""
5253 "Before the introduction of B<SA_SIGINFO> it was also possible to get some "
5254 "additional information, namely by using a I<sa_handler> with second argument "
5255 "of type I<struct sigcontext>.  See the relevant kernel sources for details.  "
5256 "This use is obsolete now."
5257 msgstr ""
5258 "B<SA_SIGINFO> が導入される前は、 I<struct sigcontext> 型の二番目の引き数と一"
5259 "緒に I<sa_handler> を使用することで、 いくつかの追加の情報を入手することがで"
5260 "きた。 詳細についてはカーネルソースの関連部分を見てほしい。 現在はこの使用法"
5261 "は廃止されている。"
5262
5263 #. type: Plain text
5264 #: build/C/man2/sigaction.2:784
5265 msgid ""
5266 "In kernels up to and including 2.6.13, specifying B<SA_NODEFER> in "
5267 "I<sa_flags> prevents not only the delivered signal from being masked during "
5268 "execution of the handler, but also the signals specified in I<sa_mask>.  "
5269 "This bug was fixed in kernel 2.6.14."
5270 msgstr ""
5271 "2.6.13 以前のカーネルでは、 I<sa_flags> に B<SA_NODEFER> を指定した場合、 ハ"
5272 "ンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、 "
5273 "I<sa_mask> に指定されたシグナルもマスクされなくなる。 このバグは、カーネル "
5274 "2.6.14 で修正された。"
5275
5276 #. type: Plain text
5277 #: build/C/man2/sigaction.2:787
5278 msgid "See B<mprotect>(2)."
5279 msgstr "B<mprotect>(2)  参照。"
5280
5281 #. type: Plain text
5282 #: build/C/man2/sigaction.2:806
5283 #, fuzzy
5284 #| msgid ""
5285 #| "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
5286 #| "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
5287 #| "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
5288 #| "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
5289 msgid ""
5290 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
5291 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
5292 "B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>(3), B<sigqueue>"
5293 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
5294 msgstr ""
5295 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
5296 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
5297 "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
5298 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
5299
5300 #. type: TH
5301 #: build/C/man2/sigaltstack.2:25
5302 #, no-wrap
5303 msgid "SIGALTSTACK"
5304 msgstr "SIGALTSTACK"
5305
5306 #. type: TH
5307 #: build/C/man2/sigaltstack.2:25 build/C/man2/wait.2:50
5308 #, no-wrap
5309 msgid "2010-09-26"
5310 msgstr "2010-09-26"
5311
5312 #. type: Plain text
5313 #: build/C/man2/sigaltstack.2:28
5314 msgid "sigaltstack - set and/or get signal stack context"
5315 msgstr "sigaltstack - シグナルスタックのコンテキストを設定・取得する"
5316
5317 #. type: Plain text
5318 #: build/C/man2/sigaltstack.2:32
5319 msgid "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
5320 msgstr "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
5321
5322 #. type: Plain text
5323 #: build/C/man2/sigaltstack.2:39
5324 msgid "B<sigaltstack>():"
5325 msgstr "B<sigaltstack>():"
5326
5327 #. type: Plain text
5328 #: build/C/man2/sigaltstack.2:46 build/C/man3/siginterrupt.3:51
5329 #: build/C/man2/wait.2:79
5330 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5331 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5332
5333 #. type: Plain text
5334 #: build/C/man2/sigaltstack.2:58
5335 msgid ""
5336 "B<sigaltstack>()  allows a process to define a new alternate signal stack "
5337 "and/or retrieve the state of an existing alternate signal stack.  An "
5338 "alternate signal stack is used during the execution of a signal handler if "
5339 "the establishment of that handler (see B<sigaction>(2))  requested it."
5340 msgstr ""
5341 "B<sigaltstack>()  を使うと、 プロセスは新しい代替シグナルスタックを定義した"
5342 "り、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラが代替シ"
5343 "グナルスタックを要求するように設定されていると (B<sigaction>(2)  参照)、ハン"
5344 "ドラの実行中はそのシグナルスタックが使われる。"
5345
5346 #. type: Plain text
5347 #: build/C/man2/sigaltstack.2:61
5348 msgid ""
5349 "The normal sequence of events for using an alternate signal stack is the "
5350 "following:"
5351 msgstr "代替シグナルスタックを使う際の一般的な手順は、以下の通りである:"
5352
5353 #. type: IP
5354 #: build/C/man2/sigaltstack.2:61 build/C/man7/signal.7:383
5355 #, no-wrap
5356 msgid "1."
5357 msgstr "1."
5358
5359 #. type: Plain text
5360 #: build/C/man2/sigaltstack.2:65
5361 msgid "Allocate an area of memory to be used for the alternate signal stack."
5362 msgstr "代替シグナルスタックで使うメモリ領域を確保する。"
5363
5364 #. type: IP
5365 #: build/C/man2/sigaltstack.2:65 build/C/man7/signal.7:387
5366 #, no-wrap
5367 msgid "2."
5368 msgstr "2."
5369
5370 #. type: Plain text
5371 #: build/C/man2/sigaltstack.2:71
5372 msgid ""
5373 "Use B<sigaltstack>()  to inform the system of the existence and location of "
5374 "the alternate signal stack."
5375 msgstr ""
5376 "B<sigaltstack>()  を使って、 代替シグナルスタックの存在と場所をシステムに知ら"
5377 "せる。"
5378
5379 #. type: IP
5380 #: build/C/man2/sigaltstack.2:71 build/C/man7/signal.7:407
5381 #, no-wrap
5382 msgid "3."
5383 msgstr "3."
5384
5385 #. type: Plain text
5386 #: build/C/man2/sigaltstack.2:78
5387 msgid ""
5388 "When establishing a signal handler using B<sigaction>(2), inform the system "
5389 "that the signal handler should be executed on the alternate signal stack by "
5390 "specifying the B<SA_ONSTACK> flag."
5391 msgstr ""
5392 "B<sigaction>(2)  を使ってシグナルハンドラを確立する際、 B<SA_ONSTACK> フラグ"
5393 "を指定することにより、 そのシグナルハンドラを代替シグナルスタック上で実行する"
5394 "ことを システムに知らせる。"
5395
5396 #. type: Plain text
5397 #: build/C/man2/sigaltstack.2:86
5398 msgid ""
5399 "The I<ss> argument is used to specify a new alternate signal stack, while "
5400 "the I<oss> argument is used to retrieve information about the currently "
5401 "established signal stack.  If we are interested in performing just one of "
5402 "these tasks then the other argument can be specified as NULL.  Each of these "
5403 "arguments is a structure of the following type:"
5404 msgstr ""
5405 "I<ss> 引き数は、新しいシグナルスタックを指定するために使う。 また I<oss> 引き"
5406 "数は、現在確立されている シグナルスタックの情報を取得するために使う。 この操"
5407 "作のうち 1 つだけを実行させるには、 使用しない引き数を NULL に指定すればよ"
5408 "い。 引き数となる構造体は、以下のような型である:"
5409
5410 #. type: Plain text
5411 #: build/C/man2/sigaltstack.2:94
5412 #, no-wrap
5413 msgid ""
5414 "typedef struct {\n"
5415 "    void  *ss_sp;     /* Base address of stack */\n"
5416 "    int    ss_flags;  /* Flags */\n"
5417 "    size_t ss_size;   /* Number of bytes in stack */\n"
5418 "} stack_t;\n"
5419 msgstr ""
5420 "typedef struct {\n"
5421 "    void  *ss_sp;     /* スタックのベースアドレス */\n"
5422 "    int    ss_flags;  /* フラグ */\n"
5423 "    size_t ss_size;   /* スタックのバイト数 */\n"
5424 "} stack_t;\n"
5425
5426 #. type: Plain text
5427 #: build/C/man2/sigaltstack.2:105
5428 msgid ""
5429 "To establish a new alternate signal stack, I<ss.ss_flags> is set to zero, "
5430 "and I<ss.ss_sp> and I<ss.ss_size> specify the starting address and size of "
5431 "the stack.  The constant B<SIGSTKSZ> is defined to be large enough to cover "
5432 "the usual size requirements for an alternate signal stack, and the constant "
5433 "B<MINSIGSTKSZ> defines the minimum size required to execute a signal handler."
5434 msgstr ""
5435 "新規の代替シグナルスタックを確立するには、 I<ss.ss_flags> を 0 に設定し、 "
5436 "I<ss.ss_sp> と I<ss.ss_size> に スタックの開始アドレスとスタックサイズを指定"
5437 "する。 定数 B<SIGSTKSZ> は、代替シグナルスタックが通常必要する サイズよりも充"
5438 "分大きく定義されている。 また定数 B<MINSIGSTKSZ> は、 シグナルハンドラの実行"
5439 "に必要な最小サイズに定義されている。"
5440
5441 #. type: Plain text
5442 #: build/C/man2/sigaltstack.2:109
5443 msgid ""
5444 "When a signal handler is invoked on the alternate stack, the kernel "
5445 "automatically aligns the address given in I<ss.ss_sp> to a suitable address "
5446 "boundary for the underlying hardware architecture."
5447 msgstr ""
5448 "代替スタックでシグナルハンドラが起動された場合には、 カーネルにより自動的に、"
5449 "I<ss.ss_sp> で指定されたアドレスは 動作しているハードウェアアーキテクチャに適"
5450 "したアドレス境界に 調整される。"
5451
5452 #. type: Plain text
5453 #: build/C/man2/sigaltstack.2:114
5454 msgid ""
5455 "To disable an existing stack, specify I<ss.ss_flags> as B<SS_DISABLE>.  In "
5456 "this case, the remaining fields in I<ss> are ignored."
5457 msgstr ""
5458 "既存のスタックを無効にするには、 I<ss.ss_flags> を B<SS_DISABLE> に指定す"
5459 "る。 この場合、I<ss> の他のフィールドは無視される。"
5460
5461 #. type: Plain text
5462 #: build/C/man2/sigaltstack.2:122
5463 msgid ""
5464 "If I<oss> is not NULL, then it is used to return information about the "
5465 "alternate signal stack which was in effect prior to the call to "
5466 "B<sigaltstack>().  The I<oss.ss_sp> and I<oss.ss_size> fields return the "
5467 "starting address and size of that stack.  The I<oss.ss_flags> may return "
5468 "either of the following values:"
5469 msgstr ""
5470 "I<oss> が NULL 以外の場合、 I<oss> に代替シグナルスタックの情報が返される。 "
5471 "これは (実質的に)  B<sigaltstack>()  の呼び出しより先に行われる。 I<oss."
5472 "ss_sp> と I<oss.ss_size> フィールドに スタックの開始アドレスとスタックサイズ"
5473 "が返される。 I<oss.ss_flags> には以下のどちらかの値が返される:"
5474
5475 #. type: TP
5476 #: build/C/man2/sigaltstack.2:122
5477 #, no-wrap
5478 msgid "B<SS_ONSTACK>"
5479 msgstr "B<SS_ONSTACK>"
5480
5481 #. type: Plain text
5482 #: build/C/man2/sigaltstack.2:128
5483 msgid ""
5484 "The process is currently executing on the alternate signal stack.  (Note "
5485 "that it is not possible to change the alternate signal stack if the process "
5486 "is currently executing on it.)"
5487 msgstr ""
5488 "プロセスが代替シグナルスタック上で実行されている (プロセスが既にそのシグナル"
5489 "スタック上で実行されている場合は、 それと同じシグナルスタックには変更できない"
5490 "点に注意すること)。"
5491
5492 #. type: TP
5493 #: build/C/man2/sigaltstack.2:128
5494 #, no-wrap
5495 msgid "B<SS_DISABLE>"
5496 msgstr "B<SS_DISABLE>"
5497
5498 #. type: Plain text
5499 #: build/C/man2/sigaltstack.2:131
5500 msgid "The alternate signal stack is currently disabled."
5501 msgstr "代替シグナルスタックが現在無効になっている。"
5502
5503 #. type: Plain text
5504 #: build/C/man2/sigaltstack.2:135
5505 msgid ""
5506 "B<sigaltstack>()  returns 0 on success, or -1 on failure with I<errno> set "
5507 "to indicate the error."
5508 msgstr ""
5509 "B<sigaltstack>()  は成功した場合 0 を返す。 失敗した場合は -1 を返して、 エ"
5510 "ラーを示す値に I<errno> を設定する。"
5511
5512 #. type: Plain text
5513 #: build/C/man2/sigaltstack.2:140
5514 msgid ""
5515 "Either I<ss> or I<oss> is not NULL and points to an area outside of the "
5516 "process's address space."
5517 msgstr ""
5518 "I<ss> または I<oss> のどちらが、NULL 以外で、 かつプロセスのアドレス空間の外"
5519 "を指している。"
5520
5521 #. type: Plain text
5522 #: build/C/man2/sigaltstack.2:145
5523 msgid ""
5524 "I<ss> is not NULL and the I<ss_flags> field contains a nonzero value other "
5525 "than B<SS_DISABLE>."
5526 msgstr ""
5527 "I<ss> が NULL 以外で、I<ss_flags> フィールドが B<SS_DISABLE> 以外の 0 でない"
5528 "値になっている。"
5529
5530 #. type: Plain text
5531 #: build/C/man2/sigaltstack.2:149
5532 msgid ""
5533 "The specified size of the new alternate signal stack (I<ss.ss_size>) was "
5534 "less than B<MINSTKSZ>."
5535 msgstr ""
5536 "新しい代替シグナルスタック (I<ss.ss_size>) に指定したサイズが B<MINSTKSZ> よ"
5537 "り小さい。"
5538
5539 #. type: Plain text
5540 #: build/C/man2/sigaltstack.2:154
5541 msgid ""
5542 "An attempt was made to change the alternate signal stack while it was active "
5543 "(i.e., the process was already executing on the current alternate signal "
5544 "stack)."
5545 msgstr ""
5546 "代替シグナルスタックが有効であるときに変更を行おうとした (つまり、プロセスが"
5547 "既に現在の代替シグナルスタック上で実行されていた)。"
5548
5549 #. type: Plain text
5550 #: build/C/man2/sigaltstack.2:156
5551 msgid "SUSv2, SVr4, POSIX.1-2001."
5552 msgstr "SUSv2, SVr4, POSIX.1-2001."
5553
5554 #. type: Plain text
5555 #: build/C/man2/sigaltstack.2:164
5556 msgid ""
5557 "The most common usage of an alternate signal stack is to handle the "
5558 "B<SIGSEGV> signal that is generated if the space available for the normal "
5559 "process stack is exhausted: in this case, a signal handler for B<SIGSEGV> "
5560 "cannot be invoked on the process stack; if we wish to handle it, we must use "
5561 "an alternate signal stack."
5562 msgstr ""
5563 "代替シグナルスタックを使用する最もよくある場面は、 B<SIGSEGV> シグナルを扱う"
5564 "ときである。 B<SIGSEGV> はプロセスの通常のスタックが利用できる空間が使い果た"
5565 "された際に 生成されるシグナルである。この場合には、 B<SIGSEGV> 用のシグナルハ"
5566 "ンドラをプロセスのスタック上では起動することができない。 そのため、このシグナ"
5567 "ルを扱おうとする場合には、 代替シグナルスタックを使用しなければならない。"
5568
5569 #. type: Plain text
5570 #: build/C/man2/sigaltstack.2:174
5571 msgid ""
5572 "Establishing an alternate signal stack is useful if a process expects that "
5573 "it may exhaust its standard stack.  This may occur, for example, because the "
5574 "stack grows so large that it encounters the upwardly growing heap, or it "
5575 "reaches a limit established by a call to B<setrlimit(RLIMIT_STACK, &rlim)>.  "
5576 "If the standard stack is exhausted, the kernel sends the process a "
5577 "B<SIGSEGV> signal.  In these circumstances the only way to catch this signal "
5578 "is on an alternate signal stack."
5579 msgstr ""
5580 "プロセスが標準のシグナルスタックを使い果たすことが予想される場合は、 代替シグ"
5581 "ナルスタックを確立すると便利である。 例えば、スタックが最上位アドレスから 下"
5582 "位アドレス方向に非常にたくさん積まれてしまうことで、 最下位アドレスから上位ア"
5583 "ドレス方向に積まれるヒープとぶつかってしまう場合や、 B<setrlimit"
5584 "(RLIMIT_STACK, &rlim)> の呼び出しで確立された 制限に達してしまった場合に、こ"
5585 "の様な事が起こる。 標準のスタックを使い果たしてしまうと、 カーネルはプロセス"
5586 "に B<SIGSEGV> シグナルを送る。 このような状況では、代替シグナルスタック上でし"
5587 "かシグナルをキャッチできない。"
5588
5589 #. type: Plain text
5590 #: build/C/man2/sigaltstack.2:180
5591 msgid ""
5592 "On most hardware architectures supported by Linux, stacks grow downward.  "
5593 "B<sigaltstack>()  automatically takes account of the direction of stack "
5594 "growth."
5595 msgstr ""
5596 "Linux がサポートする多くのハードウェアアーキテクチャでは、 スタックは下位アド"
5597 "レス方向に積まれる。 B<sigaltstack>()  はスタックが積まれる方向を自動的に決定"
5598 "する。"
5599
5600 #. type: Plain text
5601 #: build/C/man2/sigaltstack.2:189
5602 msgid ""
5603 "Functions called from a signal handler executing on an alternate signal "
5604 "stack will also use the alternate signal stack.  (This also applies to any "
5605 "handlers invoked for other signals while the process is executing on the "
5606 "alternate signal stack.)  Unlike the standard stack, the system does not "
5607 "automatically extend the alternate signal stack.  Exceeding the allocated "
5608 "size of the alternate signal stack will lead to unpredictable results."
5609 msgstr ""
5610 "代替シグナルスタック上で実行されている シグナルハンドラから呼ばれる関数も、代"
5611 "替シグナルハンドラを使う (プロセスが代替シグナルスタック上で実行されている場"
5612 "合、 他のシグナルで呼び出されるハンドラもこの代替シグナルハンドラを使う)。 標"
5613 "準のスタックとは異なり、 システムは代替シグナルスタックを自動的に拡張しな"
5614 "い。 代替シグナルスタック用に確保したサイズを越えた場合、 結果は予想できな"
5615 "い。"
5616
5617 #. type: Plain text
5618 #: build/C/man2/sigaltstack.2:197
5619 msgid ""
5620 "A successful call to B<execve>(2)  removes any existing alternate signal "
5621 "stack.  A child process created via B<fork>(2)  inherits a copy of its "
5622 "parent's alternate signal stack settings."
5623 msgstr ""
5624 "B<execve>(2)  の呼び出しが成功すると、 既存の全ての代替シグナルスタックが削除"
5625 "される。 B<fork>(2)  経由で作成された子プロセスは、親プロセスの代替シグナルス"
5626 "タックの 設定のコピーを継承する。"
5627
5628 #. type: Plain text
5629 #: build/C/man2/sigaltstack.2:206
5630 msgid ""
5631 "B<sigaltstack>()  supersedes the older B<sigstack>()  call.  For backward "
5632 "compatibility, glibc also provides B<sigstack>().  All new applications "
5633 "should be written using B<sigaltstack>()."
5634 msgstr ""
5635 "B<sigaltstack>()  は以前の B<sigstack>()  を置き換えるものである。 過去プログ"
5636 "ラムとの互換性のため、glibc では B<sigstack>()  も提供している。 新しいのアプ"
5637 "リケーションは全て B<sigaltstack>()  を使って書くべきである。"
5638
5639 #. type: SS
5640 #: build/C/man2/sigaltstack.2:206 build/C/man3/sigpause.3:59
5641 #, no-wrap
5642 msgid "History"
5643 msgstr "歴史"
5644
5645 #. type: Plain text
5646 #: build/C/man2/sigaltstack.2:213
5647 msgid ""
5648 "4.2BSD had a B<sigstack>()  system call.  It used a slightly different "
5649 "struct, and had the major disadvantage that the caller had to know the "
5650 "direction of stack growth."
5651 msgstr ""
5652 "4.2BSD には B<sigstack>()  システムコールがあった。 この関数は少し異なった構"
5653 "造体を使っており、 呼び出した側がスタックの積まれる方向を知っていなければなら"
5654 "ないという 大きな欠点があった。"
5655
5656 #. type: Plain text
5657 #: build/C/man2/sigaltstack.2:216
5658 msgid "The following code segment demonstrates the use of B<sigaltstack>():"
5659 msgstr "以下のコードで B<sigaltstack>()  の使用法の一部を示す:"
5660
5661 #. type: Plain text
5662 #: build/C/man2/sigaltstack.2:220
5663 #, no-wrap
5664 msgid "stack_t ss;\n"
5665 msgstr "stack_t ss;\n"
5666
5667 #. type: Plain text
5668 #: build/C/man2/sigaltstack.2:228
5669 #, no-wrap
5670 msgid ""
5671 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5672 "if (ss.ss_sp == NULL)\n"
5673 "    /* Handle error */;\n"
5674 "ss.ss_size = SIGSTKSZ;\n"
5675 "ss.ss_flags = 0;\n"
5676 "if (sigaltstack(&ss, NULL) == -1)\n"
5677 "    /* Handle error */;\n"
5678 msgstr ""
5679 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5680 "if (ss.ss_sp == NULL)\n"
5681 "    /* ハンドルエラー */;\n"
5682 "ss.ss_size = SIGSTKSZ;\n"
5683 "ss.ss_flags = 0;\n"
5684 "if (sigaltstack(&ss, NULL) == -1)\n"
5685 "    /* ハンドルエラー */;\n"
5686
5687 #. type: Plain text
5688 #: build/C/man2/sigaltstack.2:237
5689 msgid ""
5690 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5691 "B<sigsetjmp>(3), B<signal>(7)"
5692 msgstr ""
5693 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5694 "B<sigsetjmp>(3), B<signal>(7)"
5695
5696 #. type: TH
5697 #: build/C/man7/sigevent.7:24
5698 #, no-wrap
5699 msgid "SIGEVENT"
5700 msgstr "SIGEVENT"
5701
5702 #. type: TH
5703 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
5704 #, no-wrap
5705 msgid "2011-09-09"
5706 msgstr "2011-09-09"
5707
5708 #. type: Plain text
5709 #: build/C/man7/sigevent.7:27
5710 msgid "sigevent - structure for notification from asynchronous routines"
5711 msgstr "sigevent - structure for notification from asynchronous routines"
5712
5713 #. type: Plain text
5714 #: build/C/man7/sigevent.7:34
5715 #, no-wrap
5716 msgid ""
5717 "union sigval {          /* Data passed with notification */\n"
5718 "    int     sival_int;         /* Integer value */\n"
5719 "    void   *sival_ptr;         /* Pointer value */\n"
5720 "};\n"
5721 msgstr ""
5722 "union sigval {          /* Data passed with notification */\n"
5723 "    int     sival_int;         /* Integer value */\n"
5724 "    void   *sival_ptr;         /* Pointer value */\n"
5725 "};\n"
5726
5727 #. type: Plain text
5728 #: build/C/man7/sigevent.7:49
5729 #, no-wrap
5730 msgid ""
5731 "struct sigevent {\n"
5732 "    int          sigev_notify; /* Notification method */\n"
5733 "    int          sigev_signo;  /* Notification signal */\n"
5734 "    union sigval sigev_value;  /* Data passed with\n"
5735 "                                  notification */\n"
5736 "    void       (*sigev_notify_function) (union sigval);\n"
5737 "                     /* Function used for thread\n"
5738 "                        notification (SIGEV_THREAD) */\n"
5739 "    void        *sigev_notify_attributes;\n"
5740 "                     /* Attributes for notification thread\n"
5741 "                        (SIGEV_THREAD) */\n"
5742 "    pid_t        sigev_notify_thread_id;\n"
5743 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5744 "};\n"
5745 msgstr ""
5746 "struct sigevent {\n"
5747 "    int          sigev_notify; /* Notification method */\n"
5748 "    int          sigev_signo;  /* Notification signal */\n"
5749 "    union sigval sigev_value;  /* Data passed with\n"
5750 "                                  notification */\n"
5751 "    void       (*sigev_notify_function) (union sigval);\n"
5752 "                     /* Function used for thread\n"
5753 "                        notification (SIGEV_THREAD) */\n"
5754 "    void        *sigev_notify_attributes;\n"
5755 "                     /* Attributes for notification thread\n"
5756 "                        (SIGEV_THREAD) */\n"
5757 "    pid_t        sigev_notify_thread_id;\n"
5758 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5759 "};\n"
5760
5761 #. type: Plain text
5762 #: build/C/man7/sigevent.7:58
5763 msgid ""
5764 "The I<sigevent> structure is used by various APIs to describe the way a "
5765 "process is to be notified about an event (e.g., completion of an "
5766 "asynchronous request, expiration of a timer, or the arrival of a message)."
5767 msgstr ""
5768 "The I<sigevent> structure is used by various APIs to describe the way a "
5769 "process is to be notified about an event (e.g., completion of an "
5770 "asynchronous request, expiration of a timer, or the arrival of a message)."
5771
5772 #. type: Plain text
5773 #: build/C/man7/sigevent.7:66
5774 msgid ""
5775 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5776 "the I<sigevent> structure may be defined as part of a union.  Programs "
5777 "should only employ those fields relevant to the value specified in "
5778 "I<sigev_notify>."
5779 msgstr ""
5780 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5781 "the I<sigevent> structure may be defined as part of a union.  Programs "
5782 "should only employ those fields relevant to the value specified in "
5783 "I<sigev_notify>."
5784
5785 #. type: Plain text
5786 #: build/C/man7/sigevent.7:71
5787 msgid ""
5788 "The I<sigev_notify> field specifies how notification is to be performed.  "
5789 "This field can have one of the following values:"
5790 msgstr ""
5791 "The I<sigev_notify> field specifies how notification is to be performed.  "
5792 "This field can have one of the following values:"
5793
5794 #. type: TP
5795 #: build/C/man7/sigevent.7:71 build/C/man2/timer_create.2:105
5796 #, no-wrap
5797 msgid "B<SIGEV_NONE>"
5798 msgstr "B<SIGEV_NONE>"
5799
5800 #. type: Plain text
5801 #: build/C/man7/sigevent.7:74
5802 msgid "A \"null\" notification: don't do anything when the event occurs."
5803 msgstr "A \"null\" notification: don't do anything when the event occurs."
5804
5805 #. type: TP
5806 #: build/C/man7/sigevent.7:74 build/C/man2/timer_create.2:110
5807 #, no-wrap
5808 msgid "B<SIGEV_SIGNAL>"
5809 msgstr "B<SIGEV_SIGNAL>"
5810
5811 #. type: Plain text
5812 #: build/C/man7/sigevent.7:78
5813 msgid "Notify the process by sending the signal specified in I<sigev_signo>."
5814 msgstr "Notify the process by sending the signal specified in I<sigev_signo>."
5815
5816 #. type: Plain text
5817 #: build/C/man7/sigevent.7:85
5818 msgid ""
5819 "If the signal is caught with a signal handler that was registered using the "
5820 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5821 "the I<siginfo_t> structure that is passed as the second argument of the "
5822 "handler:"
5823 msgstr ""
5824 "If the signal is caught with a signal handler that was registered using the "
5825 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5826 "the I<siginfo_t> structure that is passed as the second argument of the "
5827 "handler:"
5828
5829 #. type: Plain text
5830 #: build/C/man7/sigevent.7:90
5831 msgid ""
5832 "This field is set to a value that depends on the API delivering the "
5833 "notification."
5834 msgstr ""
5835 "This field is set to a value that depends on the API delivering the "
5836 "notification."
5837
5838 #. type: TP
5839 #: build/C/man7/sigevent.7:90 build/C/man2/wait.2:301
5840 #, no-wrap
5841 msgid "I<si_signo>"
5842 msgstr "I<si_signo>"
5843
5844 #. type: Plain text
5845 #: build/C/man7/sigevent.7:94
5846 msgid ""
5847 "This field is set to the signal number (i.e., the same value as in "
5848 "I<sigev_signo>)."
5849 msgstr ""
5850 "This field is set to the signal number (i.e., the same value as in "
5851 "I<sigev_signo>)."
5852
5853 #. type: Plain text
5854 #: build/C/man7/sigevent.7:98
5855 msgid "This field is set to the value specified in I<sigev_value>."
5856 msgstr "This field is set to the value specified in I<sigev_value>."
5857
5858 #. type: Plain text
5859 #: build/C/man7/sigevent.7:103
5860 msgid ""
5861 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5862 "structure."
5863 msgstr ""
5864 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5865 "structure."
5866
5867 #. type: Plain text
5868 #: build/C/man7/sigevent.7:106
5869 msgid ""
5870 "The same information is also available if the signal is accepted using "
5871 "B<sigwaitinfo>(2)."
5872 msgstr ""
5873 "The same information is also available if the signal is accepted using "
5874 "B<sigwaitinfo>(2)."
5875
5876 #. type: TP
5877 #: build/C/man7/sigevent.7:106 build/C/man2/timer_create.2:128
5878 #, no-wrap
5879 msgid "B<SIGEV_THREAD>"
5880 msgstr "B<SIGEV_THREAD>"
5881
5882 #. type: Plain text
5883 #: build/C/man7/sigevent.7:123
5884 msgid ""
5885 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5886 "the start function of a new thread.  (Among the implementation possibilities "
5887 "here are that each timer notification could result in the creation of a new "
5888 "thread, or that a single thread is created to receive all notifications.)  "
5889 "The function is invoked with I<sigev_value> as its sole argument.  If "
5890 "I<sigev_notify_attributes> is not NULL, it should point to a "
5891 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5892 "B<pthread_attr_init>(3))."
5893 msgstr ""
5894 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5895 "the start function of a new thread.  (Among the implementation possibilities "
5896 "here are that each timer notification could result in the creation of a new "
5897 "thread, or that a single thread is created to receive all notifications.)  "
5898 "The function is invoked with I<sigev_value> as its sole argument.  If "
5899 "I<sigev_notify_attributes> is not NULL, it should point to a "
5900 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5901 "B<pthread_attr_init>(3))."
5902
5903 #. type: TP
5904 #: build/C/man7/sigevent.7:123 build/C/man2/timer_create.2:136
5905 #, no-wrap
5906 msgid "B<SIGEV_THREAD_ID> (Linux-specific)"
5907 msgstr "B<SIGEV_THREAD_ID> (Linux-specific)"
5908
5909 #.  | SIGEV_SIGNAL vs not?
5910 #. type: Plain text
5911 #: build/C/man7/sigevent.7:128
5912 msgid "Currently used only by POSIX timers; see B<timer_create>(2)."
5913 msgstr "Currently used only by POSIX timers; see B<timer_create>(2)."
5914
5915 #. type: Plain text
5916 #: build/C/man7/sigevent.7:130 build/C/man2/sigpending.2:61
5917 #: build/C/man2/sigprocmask.2:109 build/C/man3/sigqueue.3:114
5918 #: build/C/man3/sigsetops.3:128 build/C/man2/sigsuspend.2:82
5919 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
5920 #: build/C/man2/timer_create.2:193 build/C/man2/timer_delete.2:66
5921 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/timer_settime.2:205
5922 msgid "POSIX.1-2001."
5923 msgstr "POSIX.1-2001."
5924
5925 #. type: Plain text
5926 #: build/C/man7/sigevent.7:140
5927 msgid ""
5928 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5929 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5930 "B<pthreads>(7)"
5931 msgstr ""
5932 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5933 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5934 "B<pthreads>(7)"
5935
5936 #. type: TH
5937 #: build/C/man3/siginterrupt.3:29
5938 #, no-wrap
5939 msgid "SIGINTERRUPT"
5940 msgstr "SIGINTERRUPT"
5941
5942 #. type: Plain text
5943 #: build/C/man3/siginterrupt.3:32
5944 msgid "siginterrupt - allow signals to interrupt system calls"
5945 msgstr "siginterrupt - シグナルでシステム・コールに割り込むことを許す"
5946
5947 #. type: Plain text
5948 #: build/C/man3/siginterrupt.3:37
5949 #, no-wrap
5950 msgid "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5951 msgstr "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5952
5953 #. type: Plain text
5954 #: build/C/man3/siginterrupt.3:45
5955 msgid "B<siginterrupt>():"
5956 msgstr "B<siginterrupt>():"
5957
5958 #. type: Plain text
5959 #: build/C/man3/siginterrupt.3:62
5960 msgid ""
5961 "The B<siginterrupt>()  function changes the restart behavior when a system "
5962 "call is interrupted by the signal I<sig>.  If the I<flag> argument is false "
5963 "(0), then system calls will be restarted if interrupted by the specified "
5964 "signal I<sig>.  This is the default behavior in Linux."
5965 msgstr ""
5966 "B<siginterrupt>()  関数は、システム・コールがシグナル I<sig> によって割り込ま"
5967 "れた後、再実行の際の振る舞いを変更する。 I<flag> 引き数が偽 (0) ならば、シス"
5968 "テム・コールが指定した シグナル I<sig> によって割り込まれた後に、そのシステ"
5969 "ム・コールは 再実行される。これは Linux においてデフォルトの動作である。"
5970
5971 #. type: Plain text
5972 #: build/C/man3/siginterrupt.3:67
5973 msgid ""
5974 "If the I<flag> argument is true (1) and no data has been transferred, then a "
5975 "system call interrupted by the signal I<sig> will return -1 and I<errno> "
5976 "will be set to B<EINTR>."
5977 msgstr ""
5978 "I<flag> 引き数が真 (1) でデータの転送が全く行なわれていないならば、 シグナル "
5979 "I<sig> でシステム・コールは中断されて、-1 が返され、 I<errno> に B<EINTR> が"
5980 "設定される。"
5981
5982 #. type: Plain text
5983 #: build/C/man3/siginterrupt.3:71
5984 msgid ""
5985 "If the I<flag> argument is true (1) and data transfer has started, then the "
5986 "system call will be interrupted and will return the actual amount of data "
5987 "transferred."
5988 msgstr ""
5989 "I<flag> 引き数が真 (1) でデータの転送が開始されていれば、 システム・コールは"
5990 "中断され、それまでに実際に転送されたデータ の量が返される。"
5991
5992 #. type: Plain text
5993 #: build/C/man3/siginterrupt.3:76
5994 msgid ""
5995 "The B<siginterrupt>()  function returns 0 on success, or -1 if the signal "
5996 "number I<sig> is invalid."
5997 msgstr ""
5998 "B<siginterrupt>()  関数は成功した場合 0 を返す。 シグナル番号 I<sig> が不正な"
5999 "場合は -1 を返す。"
6000
6001 #. type: Plain text
6002 #: build/C/man3/siginterrupt.3:80
6003 msgid "The specified signal number is invalid."
6004 msgstr "指定したシグナル番号が不正である。"
6005
6006 #. type: Plain text
6007 #: build/C/man3/siginterrupt.3:89
6008 msgid ""
6009 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<siginterrupt>()  as obsolete, "
6010 "recommending the use of B<sigaction>(2)  with the B<SA_RESTART> flag instead."
6011 msgstr ""
6012 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 は、 B<siginterrupt>()  を廃止予定として"
6013 "いる。 代わりに、 B<sigaction>(2)  に B<SA_RESTART> フラグを指定して使うこと"
6014 "を推奨している。"
6015
6016 #. type: Plain text
6017 #: build/C/man3/siginterrupt.3:91
6018 msgid "B<signal>(2)"
6019 msgstr "B<signal>(2)"
6020
6021 #. type: TH
6022 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
6023 #, no-wrap
6024 msgid "SIGNAL"
6025 msgstr "SIGNAL"
6026
6027 #. type: TH
6028 #: build/C/man2/signal.2:34
6029 #, no-wrap
6030 msgid "2008-07-11"
6031 msgstr "2008-07-11"
6032
6033 #. type: Plain text
6034 #: build/C/man2/signal.2:37
6035 msgid "signal - ANSI C signal handling"
6036 msgstr "signal - ANSI C シグナル操作"
6037
6038 #. type: Plain text
6039 #: build/C/man2/signal.2:43
6040 msgid "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
6041 msgstr ""
6042 "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<sighandler>B<);>"
6043
6044 #. type: Plain text
6045 #: build/C/man2/signal.2:52
6046 msgid ""
6047 "The behavior of B<signal>()  varies across UNIX versions, and has also "
6048 "varied historically across different versions of Linux.  B<Avoid its use>: "
6049 "use B<sigaction>(2)  instead.  See I<Portability> below."
6050 msgstr ""
6051 "B<signal>()  の動作は UNIX のバージョンにより異なる。 また、歴史的に見て "
6052 "Linux のバージョンによっても異なっている。 B<このシステムコールの使用は避け、"
6053 "> 代わりに B<sigaction>(2)  を使用すること。 下記の「移植性」を参照。"
6054
6055 #. type: Plain text
6056 #: build/C/man2/signal.2:62
6057 msgid ""
6058 "B<signal>()  sets the disposition of the signal I<signum> to I<handler>, "
6059 "which is either B<SIG_IGN>, B<SIG_DFL>, or the address of a programmer-"
6060 "defined function (a \"signal handler\")."
6061 msgstr ""
6062 "B<signal>()  はシグナル I<signum> の処理方法を I<handler> に設定する。 "
6063 "I<handler> には、 B<SIG_IGN>、 B<SIG_DFL>、 プログラマが定義した関数 (「シグ"
6064 "ナル・ハンドラ」) のアドレスの いずれかを指定する。"
6065
6066 #. type: Plain text
6067 #: build/C/man2/signal.2:66
6068 msgid ""
6069 "If the signal I<signum> is delivered to the process, then one of the "
6070 "following happens:"
6071 msgstr ""
6072 "シグナル I<signum> がプロセスに配送されると、以下のいずれかが発生する。"
6073
6074 #. type: Plain text
6075 #: build/C/man2/signal.2:71
6076 msgid "If the disposition is set to B<SIG_IGN>, then the signal is ignored."
6077 msgstr "処理方法が B<SIG_IGN> に設定されている場合、そのシグナルは無視される。"
6078
6079 #. type: Plain text
6080 #: build/C/man2/signal.2:78
6081 msgid ""
6082 "If the disposition is set to B<SIG_DFL>, then the default action associated "
6083 "with the signal (see B<signal>(7))  occurs."
6084 msgstr ""
6085 "処理方法が B<SIG_DFL> に設定されている場合、シグナルに関連づけられた デフォル"
6086 "トの動作が行われる (B<signal>(7)  参照)。"
6087
6088 #. type: Plain text
6089 #: build/C/man2/signal.2:89
6090 msgid ""
6091 "If the disposition is set to a function, then first either the disposition "
6092 "is reset to B<SIG_DFL>, or the signal is blocked (see I<Portability> below), "
6093 "and then I<handler> is called with argument I<signum>.  If invocation of the "
6094 "handler caused the signal to be blocked, then the signal is unblocked upon "
6095 "return from the handler."
6096 msgstr ""
6097 "処理方法として関数が設定されている場合、 まず最初に処理方法が B<SIG_DFL> にリ"
6098 "セットされるかそのシグナルのブロックが実行された後、 I<signum> を引き数とし"
6099 "て I<handler> が呼び出される。 ハンドラが起動される際にシグナルがブロックされ"
6100 "た場合、 ハンドラが返る際にそのシグナルのブロックが解除される。"
6101
6102 #. type: Plain text
6103 #: build/C/man2/signal.2:95
6104 msgid "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught or ignored."
6105 msgstr ""
6106 "シグナル B<SIGKILL> と B<SIGSTOP> は捕捉できず、無視することもできない。"
6107
6108 #. type: Plain text
6109 #: build/C/man2/signal.2:100
6110 msgid ""
6111 "B<signal>()  returns the previous value of the signal handler, or B<SIG_ERR> "
6112 "on error."
6113 msgstr ""
6114 "B<signal>()  は、今までのシグナル・ハンドラの値を返す。エラーの場合は "
6115 "B<SIG_ERR> を返す。"
6116
6117 #. type: Plain text
6118 #: build/C/man2/signal.2:105
6119 msgid "I<signum> is invalid."
6120 msgstr "I<signum> が不正である。"
6121
6122 #. type: Plain text
6123 #: build/C/man2/signal.2:111
6124 msgid "The effects of B<signal>()  in a multithreaded process are unspecified."
6125 msgstr ""
6126 "マルチスレッドプロセスにおける B<signal>()  の結果は、指定されていない。"
6127
6128 #. type: Plain text
6129 #: build/C/man2/signal.2:136
6130 msgid ""
6131 "See B<sigaction>(2)  for details on what happens when B<SIGCHLD> is set to "
6132 "B<SIG_IGN>."
6133 msgstr ""
6134 "B<SIGCHLD> の動作として B<SIG_IGN> を設定した場合の詳細な動作については、 "
6135 "B<sigaction>(2)  を参照すること。"
6136
6137 #. type: Plain text
6138 #: build/C/man2/signal.2:141
6139 msgid ""
6140 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
6141 "safely called from inside a signal handler."
6142 msgstr ""
6143 "シグナル・ハンドラ内から安全に呼び出すことができる、 async-signal-safe "
6144 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
6145 "照。"
6146
6147 #. type: Plain text
6148 #: build/C/man2/signal.2:156
6149 msgid ""
6150 "The use of I<sighandler_t> is a GNU extension.  Various versions of libc "
6151 "predefine this type; libc4 and libc5 define I<SignalHandler>; glibc defines "
6152 "I<sig_t> and, when B<_GNU_SOURCE> is defined, also I<sighandler_t>.  Without "
6153 "use of such a type, the declaration of B<signal>()  is the somewhat harder "
6154 "to read:"
6155 msgstr ""
6156 "I<sighandler_t> の使用は GNU 拡張である。 各種バージョンの libc でこの型は定"
6157 "義済みである; libc4 と libc5 では I<SignalHandler> を定義している。 glibc で"
6158 "は I<sig_t> を定義しており、 B<_GNU_SOURCE> が定義されている場合には "
6159 "I<sighandler_t> も定義されている。 このような型を使用しないと、 B<signal>()  "
6160 "の宣言は読みにくいものとなる。"
6161
6162 #. type: Plain text
6163 #: build/C/man2/signal.2:160
6164 #, no-wrap
6165 msgid "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
6166 msgstr "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
6167
6168 #. type: SS
6169 #: build/C/man2/signal.2:162
6170 #, no-wrap
6171 msgid "Portability"
6172 msgstr "移植性"
6173
6174 #. type: Plain text
6175 #: build/C/man2/signal.2:174
6176 msgid ""
6177 "The only portable use of B<signal>()  is to set a signal's disposition to "
6178 "B<SIG_DFL> or B<SIG_IGN>.  The semantics when using B<signal>()  to "
6179 "establish a signal handler vary across systems (and POSIX.1 explicitly "
6180 "permits this variation); B<do not use it for this purpose.>"
6181 msgstr ""
6182 "移植性のある B<signal>()  の使い方は、シグナルの処理方法を B<SIG_DFL> か "
6183 "B<SIG_IGN> に設定する方法だけである。 シグナル・ハンドラを設定するのに "
6184 "B<signal>()  を使ったときの動作はシステムにより異なる (POSIX.1 は明示的にこの"
6185 "違いを認めている)。 B<移植性が必要なときはこのシステムコールを使用しないこ"
6186 "と。>"
6187
6188 #. type: Plain text
6189 #: build/C/man2/signal.2:180
6190 msgid ""
6191 "POSIX.1 solved the portability mess by specifying B<sigaction>(2), which "
6192 "provides explicit control of the semantics when a signal handler is invoked; "
6193 "use that interface instead of B<signal>()."
6194 msgstr ""
6195 "POSIX.1 は、 B<sigaction>(2)  を規定することで移植性に関する混乱を解決した。 "
6196 "B<sigaction>(2)  はシグナル・ハンドラが起動される際の挙動を明示的に制御でき"
6197 "る。 B<signal>()  の代わりにこのインターフェイスを使うこと。"
6198
6199 #. type: Plain text
6200 #: build/C/man2/signal.2:193
6201 msgid ""
6202 "In the original UNIX systems, when a handler that was established using "
6203 "B<signal>()  was invoked by the delivery of a signal, the disposition of the "
6204 "signal would be reset to B<SIG_DFL>, and the system did not block delivery "
6205 "of further instances of the signal.  System V also provides these semantics "
6206 "for B<signal>().  This was bad because the signal might be delivered again "
6207 "before the handler had a chance to reestablish itself.  Furthermore, rapid "
6208 "deliveries of the same signal could result in recursive invocations of the "
6209 "handler."
6210 msgstr ""
6211 "オリジナルの UNIX システムでは、 B<signal>()  を使って設定されたハンドラがシ"
6212 "グナルの配送により起動されると、 そのシグナルの処理方法は B<SIG_DFL> にリセッ"
6213 "トされ、システムは同じシグナルがさらに生成されても シグナルの配送をブロックし"
6214 "なかった。 System V でも、 B<signal>()  に対してこれらの挙動を規定している。 "
6215 "こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が 来るより前に、"
6216 "同じシグナルがまた配送される可能性がある。 さらに、同じシグナルが立て続けに配"
6217 "送されると、同じシグナルが ハンドラを繰り返し起動されることになる。"
6218
6219 #. type: Plain text
6220 #: build/C/man2/signal.2:203
6221 msgid ""
6222 "BSD improved on this situation by changing the semantics of signal handling "
6223 "(but, unfortunately, silently changed the semantics when establishing a "
6224 "handler with B<signal>()).  On BSD, when a signal handler is invoked, the "
6225 "signal disposition is not reset, and further instances of the signal are "
6226 "blocked from being delivered while the handler is executing."
6227 msgstr ""
6228 "BSD では、シグナル処理の挙動を変更することで、この状況を改善した (しかし、残"
6229 "念なことに、 B<signal>()  を使ってハンドラを設定する際に挙動が黙って変更され"
6230 "る)。 BSD では、シグナルハンドラが起動された際、 シグナルの処理方法はリセット"
6231 "されず、 ハンドラの実行中は、同じシグナルのさらなる生成は配送がブロックされ"
6232 "る。"
6233
6234 #. type: Plain text
6235 #: build/C/man2/signal.2:205
6236 msgid "The situation on Linux is as follows:"
6237 msgstr "Linux での状況は以下の通りである。"
6238
6239 #. type: Plain text
6240 #: build/C/man2/signal.2:209
6241 msgid "The kernel's B<signal>()  system call provides System V semantics."
6242 msgstr "カーネルの B<signal>()  システムコールは System V 方式を提供している。"
6243
6244 #. type: Plain text
6245 #: build/C/man2/signal.2:225
6246 msgid ""
6247 "By default, in glibc 2 and later, the B<signal>()  wrapper function does not "
6248 "invoke the kernel system call.  Instead, it calls B<sigaction>(2)  using "
6249 "flags that supply BSD semantics.  This default behavior is provided as long "
6250 "as the B<_BSD_SOURCE> feature test macro is defined.  By default, "
6251 "B<_BSD_SOURCE> is defined; it is also implicitly defined if one defines "
6252 "B<_GNU_SOURCE>, and can of course be explicitly defined."
6253 msgstr ""
6254 "デフォルトでは、glibc 2 以降では、 B<signal>()  ラッパー関数はカーネルのシス"
6255 "テムコールを起動しない。 代わりに、ラッパー関数は BSD 方式を示すフラグを使っ"
6256 "て B<sigaction>(2)  を呼び出す。 機能検査マクロ B<_BSD_SOURCE> を定義していれ"
6257 "ば、このデフォルトの動作となる。 デフォルトでは、 B<_BSD_SOURCE> が定義され"
6258 "る。 B<_BSD_SOURCE> は B<_GNU_SOURCE> が定義された場合には暗黙のうちに定義さ"
6259 "れ、 もちろん明示的に定義することもできる。"
6260
6261 #.  System V semantics are also provided if one uses the separate
6262 #.  .BR sysv_signal (3)
6263 #.  function.
6264 #. type: Plain text
6265 #: build/C/man2/signal.2:248
6266 msgid ""
6267 "On glibc 2 and later, if the B<_BSD_SOURCE> feature test macro is not "
6268 "defined, then B<signal>()  provides System V semantics.  (The default "
6269 "implicit definition of B<_BSD_SOURCE> is not provided if one invokes B<gcc>"
6270 "(1)  in one of its standard modes (I<-std=xxx> or I<-ansi>)  or defines "
6271 "various other feature test macros such as B<_POSIX_SOURCE>, "
6272 "B<_XOPEN_SOURCE>, or B<_SVID_SOURCE>; see B<feature_test_macros>(7).)"
6273 msgstr ""
6274 "glibc 2 以降では、機能検査マクロ B<_BSD_SOURCE> が定義されていなければ、 "
6275 "B<signal>()  は System V 方式となる。 (B<gcc>(1)  が標準指定モード (I<-"
6276 "std=xxx> or I<-ansi>)  で起動された場合、もしくは B<_POSIX_SOURCE>, "
6277 "B<_XOPEN_SOURCE>, B<_SVID_SOURCE> といった他の様々な機能検査マクロが定義され"
6278 "た場合、 デフォルトの B<_BSD_SOURCE> の暗黙の定義は行われない。 "
6279 "B<feature_test_macros>(7)  を参照のこと。)"
6280
6281 #. type: Plain text
6282 #: build/C/man2/signal.2:259
6283 msgid ""
6284 "The B<signal>()  function in Linux libc4 and libc5 provide System V "
6285 "semantics.  If one on a libc5 system includes I<E<lt>bsd/signal.hE<gt>> "
6286 "instead of I<E<lt>signal.hE<gt>>, then B<signal>()  provides BSD semantics."
6287 msgstr ""
6288 "Linux の libc4 と libc5 の B<signal>()  関数は System V 方式である。 libc5 シ"
6289 "ステムにおいて I<E<lt>signal.hE<gt>> のかわりに I<E<lt>bsd/signal.hE<gt>> を"
6290 "インクルードすると、 B<signal>()  は B<__bsd_signal>()  に再定義され、 "
6291 "B<signal>()  は BSD 方式となる。"
6292
6293 #. type: Plain text
6294 #: build/C/man2/signal.2:278
6295 msgid ""
6296 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
6297 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
6298 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
6299 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
6300 msgstr ""
6301 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
6302 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
6303 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
6304 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
6305
6306 #. type: Plain text
6307 #: build/C/man7/signal.7:47
6308 msgid "signal - overview of signals"
6309 msgstr "signal - シグナルの概要"
6310
6311 #. type: Plain text
6312 #: build/C/man7/signal.7:50
6313 msgid ""
6314 "Linux supports both POSIX reliable signals (hereinafter \"standard signals"
6315 "\") and POSIX real-time signals."
6316 msgstr ""
6317 "Linux は POSIX 信頼シグナル (reliable signal; 以後 \"標準シグナル\"と表記)  "
6318 "と POSIX リアルタイムシグナルの両方に対応している。"
6319
6320 #. type: SS
6321 #: build/C/man7/signal.7:50
6322 #, no-wrap
6323 msgid "Signal Dispositions"
6324 msgstr "シグナル処理方法"
6325
6326 #. type: Plain text
6327 #: build/C/man7/signal.7:55
6328 msgid ""
6329 "Each signal has a current I<disposition>, which determines how the process "
6330 "behaves when it is delivered the signal."
6331 msgstr ""
6332 "シグナルはそれぞれ現在の「処理方法 (disposition)」を保持しており、 この処理方"
6333 "法によりシグナルが配送された際にプロセスが どのような振舞いをするかが決まる。"
6334
6335 #. type: Plain text
6336 #: build/C/man7/signal.7:58
6337 msgid ""
6338 "The entries in the \"Action\" column of the tables below specify the default "
6339 "disposition for each signal, as follows:"
6340 msgstr ""
6341 "後述の表の \"動作\" の欄のエントリは各シグナルのデフォルトの 処理方法を示して"
6342 "おり、以下のような意味を持つ。"
6343
6344 #. type: IP
6345 #: build/C/man7/signal.7:58
6346 #, no-wrap
6347 msgid "Term"
6348 msgstr "Term"
6349
6350 #. type: Plain text
6351 #: build/C/man7/signal.7:60
6352 msgid "Default action is to terminate the process."
6353 msgstr "デフォルトの動作はプロセス終了。"
6354
6355 #. type: IP
6356 #: build/C/man7/signal.7:60
6357 #, no-wrap
6358 msgid "Ign"
6359 msgstr "Ign"
6360
6361 #. type: Plain text
6362 #: build/C/man7/signal.7:62
6363 msgid "Default action is to ignore the signal."
6364 msgstr "デフォルトの動作はこのシグナルの無視。"
6365
6366 #. type: IP
6367 #: build/C/man7/signal.7:62
6368 #, no-wrap
6369 msgid "Core"
6370 msgstr "Core"
6371
6372 #. type: Plain text
6373 #: build/C/man7/signal.7:65
6374 msgid ""
6375 "Default action is to terminate the process and dump core (see B<core>(5))."
6376 msgstr "デフォルトの動作はプロセス終了とコアダンプ出力 (B<core>(5)  参照)。"
6377
6378 #. type: IP
6379 #: build/C/man7/signal.7:65
6380 #, no-wrap
6381 msgid "Stop"
6382 msgstr "Stop"
6383
6384 #. type: Plain text
6385 #: build/C/man7/signal.7:67
6386 msgid "Default action is to stop the process."
6387 msgstr "デフォルトの動作はプロセスの一時停止。"
6388
6389 #. type: IP
6390 #: build/C/man7/signal.7:67
6391 #, no-wrap
6392 msgid "Cont"
6393 msgstr "Cont"
6394
6395 #. type: Plain text
6396 #: build/C/man7/signal.7:69
6397 msgid "Default action is to continue the process if it is currently stopped."
6398 msgstr "デフォルトの動作は、プロセスが停止中の場合にその実行の再開。"
6399
6400 #. type: Plain text
6401 #: build/C/man7/signal.7:91
6402 msgid ""
6403 "A process can change the disposition of a signal using B<sigaction>(2)  or "
6404 "B<signal>(2).  (The latter is less portable when establishing a signal "
6405 "handler; see B<signal>(2)  for details.)  Using these system calls, a "
6406 "process can elect one of the following behaviors to occur on delivery of the "
6407 "signal: perform the default action; ignore the signal; or catch the signal "
6408 "with a I<signal handler>, a programmer-defined function that is "
6409 "automatically invoked when the signal is delivered.  (By default, the signal "
6410 "handler is invoked on the normal process stack.  It is possible to arrange "
6411 "that the signal handler uses an alternate stack; see B<sigaltstack>(2)  for "
6412 "a discussion of how to do this and when it might be useful.)"
6413 msgstr ""
6414 "プロセスは、 B<sigaction>(2)  や B<signal>(2)  を使って、シグナルの処理方法を"
6415 "変更することができる (B<signal>(2)  の方がシグナルハンドラを設定する際の移植"
6416 "性が低い; 詳細は B<signal>(2)  を参照)。 シグナルの配送時に起こる動作として "
6417 "プロセスが選択できるのは、次のいずれか一つである。 デフォルトの動作を実行す"
6418 "る、シグナルを無視する、 I<シグナルハンドラ (signal handler)> でシグナルを捕"
6419 "捉する。シグナルハンドラとは、シグナル配送時に 自動的に起動されるプログラマ定"
6420 "義の関数である。 (デフォルトでは、シグナルハンドラは通常のプロセスのスタック"
6421 "上で起動される。 シグナルハンドラが代替スタック (alternate stack) を使用する"
6422 "ように設定する こともできる。代替スタックを使用するように設定する方法と、どの"
6423 "ような際に 代替スタックが役に立つかについての議論については B<sigaltstack>"
6424 "(2)  を参照のこと。"
6425
6426 #. type: Plain text
6427 #: build/C/man7/signal.7:95
6428 msgid ""
6429 "The signal disposition is a per-process attribute: in a multithreaded "
6430 "application, the disposition of a particular signal is the same for all "
6431 "threads."
6432 msgstr ""
6433 "シグナルの処理方法はプロセス単位の属性である。 マルチスレッドのアプリケーショ"
6434 "ンでは、あるシグナルの処理方法は 全てのスレッドで同じである。"
6435
6436 #. type: SS
6437 #: build/C/man7/signal.7:103
6438 #, no-wrap
6439 msgid "Sending a Signal"
6440 msgstr "シグナルの送信"
6441
6442 #. type: Plain text
6443 #: build/C/man7/signal.7:106
6444 msgid ""
6445 "The following system calls and library functions allow the caller to send a "
6446 "signal:"
6447 msgstr ""
6448 "以下のシステムコールとライブラリ関数を使って、 呼び出し者はシグナルを送信する"
6449 "ことができる。"
6450
6451 #. type: TP
6452 #: build/C/man7/signal.7:106
6453 #, no-wrap
6454 msgid "B<raise>(3)"
6455 msgstr "B<raise>(3)"
6456
6457 #. type: Plain text
6458 #: build/C/man7/signal.7:109
6459 msgid "Sends a signal to the calling thread."
6460 msgstr "呼び出したスレッドにシグナルを送る。"
6461
6462 #. type: Plain text
6463 #: build/C/man7/signal.7:114
6464 msgid ""
6465 "Sends a signal to a specified process, to all members of a specified process "
6466 "group, or to all processes on the system."
6467 msgstr ""
6468 "指定されたプロセスや、指定されたプロセスグループの全メンバー、 システムの全プ"
6469 "ロセスにシグナルを送る。"
6470
6471 #. type: TP
6472 #: build/C/man7/signal.7:114
6473 #, no-wrap
6474 msgid "B<killpg>(2)"
6475 msgstr "B<killpg>(2)"
6476
6477 #. type: Plain text
6478 #: build/C/man7/signal.7:117
6479 msgid "Sends a signal to all of the members of a specified process group."
6480 msgstr "指定されたプロセスグループの全メンバーにシグナルを送る。"
6481
6482 #. type: TP
6483 #: build/C/man7/signal.7:117
6484 #, no-wrap
6485 msgid "B<pthread_kill>(3)"
6486 msgstr "B<pthread_kill>(3)"
6487
6488 #. type: Plain text
6489 #: build/C/man7/signal.7:121
6490 msgid ""
6491 "Sends a signal to a specified POSIX thread in the same process as the caller."
6492 msgstr ""
6493 "呼び出し者と同じプロセス内の指定された POSIX スレッドにシグナルを送る。"
6494
6495 #. type: TP
6496 #: build/C/man7/signal.7:121
6497 #, no-wrap
6498 msgid "B<tgkill>(2)"
6499 msgstr "B<tgkill>(2)"
6500
6501 #. type: Plain text
6502 #: build/C/man7/signal.7:126
6503 msgid ""
6504 "Sends a signal to a specified thread within a specific process.  (This is "
6505 "the system call used to implement B<pthread_kill>(3).)"
6506 msgstr ""
6507 "指定されたプロセス内の指定されたスレッドにシグナルを送る (このシステムコール"
6508 "を使って B<pthread_kill>(3)  は実装されている)。"
6509
6510 #. type: Plain text
6511 #: build/C/man7/signal.7:129
6512 msgid "Sends a real-time signal with accompanying data to a specified process."
6513 msgstr "指定されたプロセスに付属データとともにリアルタイムシグナルを送る。"
6514
6515 #. type: SS
6516 #: build/C/man7/signal.7:129
6517 #, no-wrap
6518 msgid "Waiting for a Signal to be Caught"
6519 msgstr "シグナルが捕捉されるのを待つ"
6520
6521 #. type: Plain text
6522 #: build/C/man7/signal.7:133
6523 msgid ""
6524 "The following system calls suspend execution of the calling process or "
6525 "thread until a signal is caught (or an unhandled signal terminates the "
6526 "process):"
6527 msgstr ""
6528 "以下のシステムコールを使って、シグナルが捕捉されるまで 呼び出したプロセスやス"
6529 "レッドの実行を中断 (suspend) することができる (ハンドラが設定されていないシグ"
6530 "ナルによりそのプロセスが終了した 場合にも実行の停止は終了する)。"
6531
6532 #. type: TP
6533 #: build/C/man7/signal.7:133
6534 #, no-wrap
6535 msgid "B<pause>(2)"
6536 msgstr "B<pause>(2)"
6537
6538 #. type: Plain text
6539 #: build/C/man7/signal.7:136
6540 msgid "Suspends execution until any signal is caught."
6541 msgstr "何かシグナルが捕捉されるまで実行を停止する。"
6542
6543 #. type: TP
6544 #: build/C/man7/signal.7:136
6545 #, no-wrap
6546 msgid "B<sigsuspend>(2)"
6547 msgstr "B<sigsuspend>(2)"
6548
6549 #. type: Plain text
6550 #: build/C/man7/signal.7:140
6551 msgid ""
6552 "Temporarily changes the signal mask (see below) and suspends execution until "
6553 "one of the unmasked signals is caught."
6554 msgstr ""
6555 "一時的にシグナルマスク (下記参照) を変更し、 マスクされていないシグナルのいず"
6556 "れかが捕捉されるまで 実行を中断する。"
6557
6558 #. type: SS
6559 #: build/C/man7/signal.7:140
6560 #, no-wrap
6561 msgid "Synchronously Accepting a Signal"
6562 msgstr "シグナルの同期受信"
6563
6564 #. type: Plain text
6565 #: build/C/man7/signal.7:147
6566 msgid ""
6567 "Rather than asynchronously catching a signal via a signal handler, it is "
6568 "possible to synchronously accept the signal, that is, to block execution "
6569 "until the signal is delivered, at which point the kernel returns information "
6570 "about the signal to the caller.  There are two general ways to do this:"
6571 msgstr ""
6572 "シグナルハンドラ経由でシグナルを非同期 (asynchronously) で捕捉する以外にも、 "
6573 "シグナルを同期 (synchronously) して受け付けることもできる。 同期して受け付け"
6574 "るとは、シグナルが配送されるまで実行を停止 (block)  するということである。シ"
6575 "グナルを受け付けた際に、カーネルは そのシグナルに関する情報を呼び出し者に返"
6576 "す。 これを行う一般的な方法が二つある。"
6577
6578 #. type: Plain text
6579 #: build/C/man7/signal.7:155
6580 msgid ""
6581 "B<sigwaitinfo>(2), B<sigtimedwait>(2), and B<sigwait>(3)  suspend execution "
6582 "until one of the signals in a specified set is delivered.  Each of these "
6583 "calls returns information about the delivered signal."
6584 msgstr ""
6585 "B<sigwaitinfo>(2), B<sigtimedwait>(2), B<sigwait>(3)  は、指定されたシグナル"
6586 "集合のシグナルの一つが配送されるまで実行を中断する。 どのシステムコールや関数"
6587 "でも、配送されたシグナルに関する情報が返される。"
6588
6589 #. type: Plain text
6590 #: build/C/man7/signal.7:168
6591 msgid ""
6592 "B<signalfd>(2)  returns a file descriptor that can be used to read "
6593 "information about signals that are delivered to the caller.  Each B<read>"
6594 "(2)  from this file descriptor blocks until one of the signals in the set "
6595 "specified in the B<signalfd>(2)  call is delivered to the caller.  The "
6596 "buffer returned by B<read>(2)  contains a structure describing the signal."
6597 msgstr ""
6598 "B<signalfd>(2)  が返すファイルディスクリプタを使うと、呼び出し元に配送された "
6599 "シグナルに関する情報を読み出すことができる。 このファイルディスクリプタから"
6600 "の B<read>(2)  は、 B<signalfd>(2)  の呼び出し時に指定されたシグナル集合のシ"
6601 "グナルの一つが呼び出し元に 配送されるまで停止 (block) する。 B<read>(2)  が返"
6602 "すバッファにはシグナルに関する情報を格納した構造体が入っている。"
6603
6604 #. type: SS
6605 #: build/C/man7/signal.7:168
6606 #, no-wrap
6607 msgid "Signal Mask and Pending Signals"
6608 msgstr "シグナルマスクと処理待ちシグナル"
6609
6610 #. type: Plain text
6611 #: build/C/man7/signal.7:175
6612 msgid ""
6613 "A signal may be I<blocked>, which means that it will not be delivered until "
6614 "it is later unblocked.  Between the time when it is generated and when it is "
6615 "delivered a signal is said to be I<pending>."
6616 msgstr ""
6617 "シグナルは I<ブロック (block)> されることがある。ブロックされると、そのシグナ"
6618 "ルは その後ブロックを解除されるまで配送されなくなる。 シグナルが生成されてか"
6619 "ら配送されるまでの間、そのシグナルは I<処理待ち (pending)> であると呼ばれる。"
6620
6621 #. type: Plain text
6622 #: build/C/man7/signal.7:184
6623 msgid ""
6624 "Each thread in a process has an independent I<signal mask>, which indicates "
6625 "the set of signals that the thread is currently blocking.  A thread can "
6626 "manipulate its signal mask using B<pthread_sigmask>(3).  In a traditional "
6627 "single-threaded application, B<sigprocmask>(2)  can be used to manipulate "
6628 "the signal mask."
6629 msgstr ""
6630 "プロセス内の各スレッドは、それぞれ独立な I<シグナルマスク (signal mask)> を持"
6631 "つ。シグナルマスクはそのスレッドが現在ブロックしている シグナル集合を示すもの"
6632 "である。 スレッドは、 B<pthread_sigmask>(3)  を使って自分のシグナルマスクを操"
6633 "作できる。 伝統的なシングルスレッドのアプリケーションでは、 B<sigprocmask>"
6634 "(2)  を使って、シグナルマスクを操作できる。"
6635
6636 #. type: Plain text
6637 #: build/C/man7/signal.7:190 build/C/man2/sigprocmask.2:121
6638 msgid ""
6639 "A child created via B<fork>(2)  inherits a copy of its parent's signal mask; "
6640 "the signal mask is preserved across B<execve>(2)."
6641 msgstr ""
6642 "B<fork>(2)  経由で作成された子プロセスは親プロセスのシグナルマスクのコピーを"
6643 "継承する。 B<execve>(2)  の前後でシグナルマスクは保持される。"
6644
6645 #. type: Plain text
6646 #: build/C/man7/signal.7:207
6647 msgid ""
6648 "A signal may be generated (and thus pending)  for a process as a whole (e."
6649 "g., when sent using B<kill>(2))  or for a specific thread (e.g., certain "
6650 "signals, such as B<SIGSEGV> and B<SIGFPE>, generated as a consequence of "
6651 "executing a specific machine-language instruction are thread directed, as "
6652 "are signals targeted at a specific thread using B<pthread_kill>(3)).  A "
6653 "process-directed signal may be delivered to any one of the threads that does "
6654 "not currently have the signal blocked.  If more than one of the threads has "
6655 "the signal unblocked, then the kernel chooses an arbitrary thread to which "
6656 "to deliver the signal."
6657 msgstr ""
6658 "生成されるシグナル (したがって処理待ちとなるシグナル) には、 プロセス全体宛て"
6659 "と特定のスレッド宛てがある。 例えば、プロセス全体宛てのシグナルは B<kill>"
6660 "(2)  を使って送信される。 特定のマシン語の命令の実行の結果として生成される、 "
6661 "B<SIGSEGV> や B<SIGFPE> などのシグナルは、スレッド宛てとなる。 また、 "
6662 "B<pthread_kill>(3)  を使って特定のスレッド宛てに生成されたシグナルも スレッド"
6663 "宛てとなる。 プロセス宛てのシグナルは、そのシグナルをブロックしていないスレッ"
6664 "ドのうち いずれかの一つに配送することができる。そのシグナルをブロックしていな"
6665 "い スレッドが複数ある場合、シグナルを配送するスレッドはカーネルが 無作為に選"
6666 "択する。"
6667
6668 #. type: Plain text
6669 #: build/C/man7/signal.7:214
6670 msgid ""
6671 "A thread can obtain the set of signals that it currently has pending using "
6672 "B<sigpending>(2).  This set will consist of the union of the set of pending "
6673 "process-directed signals and the set of signals pending for the calling "
6674 "thread."
6675 msgstr ""
6676 "スレッドは、 B<sigpending>(2)  を使って、現在処理待ちのシグナル集合を取得する"
6677 "ことができる。 この集合は、プロセス宛ての処理待ちシグナルと 呼び出したスレッ"
6678 "ド宛てのシグナルの両方から構成される。"
6679
6680 #. type: Plain text
6681 #: build/C/man7/signal.7:220 build/C/man2/sigpending.2:76
6682 msgid ""
6683 "A child created via B<fork>(2)  initially has an empty pending signal set; "
6684 "the pending signal set is preserved across an B<execve>(2)."
6685 msgstr ""
6686 "B<fork>(2)  経由で作成された子プロセスでは、処理待ちのシグナル集合は空の集合"
6687 "で初期化される。 B<execve>(2)  の前後で、処理待ちのシグナル集合は保持される。"
6688
6689 #. type: SS
6690 #: build/C/man7/signal.7:220
6691 #, no-wrap
6692 msgid "Standard Signals"
6693 msgstr "標準シグナル"
6694
6695 #.  parisc is a law unto itself
6696 #. type: Plain text
6697 #: build/C/man7/signal.7:230
6698 msgid ""
6699 "Linux supports the standard signals listed below.  Several signal numbers "
6700 "are architecture-dependent, as indicated in the \"Value\" column.  (Where "
6701 "three values are given, the first one is usually valid for alpha and sparc, "
6702 "the middle one for ix86, ia64, ppc, s390, arm and sh, and the last one for "
6703 "mips.  A - denotes that a signal is absent on the corresponding "
6704 "architecture.)"
6705 msgstr ""
6706 "Linux は以下に示す標準シグナルに対応している。 シグナル番号の一部はアーキテク"
6707 "チャ依存であり、\"値\" 欄に示す通りである。 (3つの値が書かれているものは、 1"
6708 "つ目が alpha と sparc で通常有効な値、 真ん中が ix86, ia64, ppc, s390, arm, "
6709 "sh での値、最後が mips での値である。 - はそのアーキテクチャにおいて対応する"
6710 "シグナルがないことを示す。)"
6711
6712 #. type: Plain text
6713 #: build/C/man7/signal.7:232
6714 msgid "First the signals described in the original POSIX.1-1990 standard."
6715 msgstr "最初に、POSIX.1-1990 に定義されているシグナルを示す。"
6716
6717 #. type: tbl table
6718 #: build/C/man7/signal.7:236 build/C/man7/signal.7:272
6719 #: build/C/man7/signal.7:301
6720 #, no-wrap
6721 msgid "Signal\tValue\tAction\tComment\n"
6722 msgstr "シグナル\t値\t動作\tコメント\n"
6723
6724 #. type: tbl table
6725 #: build/C/man7/signal.7:237
6726 #, no-wrap
6727 msgid "SIGHUP\t\\01\tTerm\tHangup detected on controlling terminal\n"
6728 msgstr "SIGHUP\t\\01\tTerm\t制御端末(controlling terminal)のハングアップ検出、\n"
6729
6730 #. type: tbl table
6731 #: build/C/man7/signal.7:238
6732 #, no-wrap
6733 msgid "\t\t\tor death of controlling process\n"
6734 msgstr "\t\t\tまたは制御しているプロセスの死\n"
6735
6736 #. type: tbl table
6737 #: build/C/man7/signal.7:239
6738 #, no-wrap
6739 msgid "SIGINT\t\\02\tTerm\tInterrupt from keyboard\n"
6740 msgstr "SIGINT\t\\02\tTerm\tキーボードからの割り込み (Interrupt)\n"
6741
6742 #. type: tbl table
6743 #: build/C/man7/signal.7:240
6744 #, no-wrap
6745 msgid "SIGQUIT\t\\03\tCore\tQuit from keyboard\n"
6746 msgstr "SIGQUIT\t\\03\tCore\tキーボードによる中止 (Quit)\n"
6747
6748 #. type: tbl table
6749 #: build/C/man7/signal.7:241
6750 #, no-wrap
6751 msgid "SIGILL\t\\04\tCore\tIllegal Instruction\n"
6752 msgstr "SIGILL\t\\04\tCore\t不正な命令\n"
6753
6754 #. type: tbl table
6755 #: build/C/man7/signal.7:242
6756 #, no-wrap
6757 msgid "SIGABRT\t\\06\tCore\tAbort signal from B<abort>(3)\n"
6758 msgstr "SIGABRT\t\\06\tCore\tB<abort>(3) からの中断 (Abort) シグナル\n"
6759
6760 #. type: tbl table
6761 #: build/C/man7/signal.7:243
6762 #, no-wrap
6763 msgid "SIGFPE\t\\08\tCore\tFloating point exception\n"
6764 msgstr "SIGFPE\t\\08\tCore\t浮動小数点例外\n"
6765
6766 #. type: tbl table
6767 #: build/C/man7/signal.7:244
6768 #, no-wrap
6769 msgid "SIGKILL\t\\09\tTerm\tKill signal\n"
6770 msgstr "SIGKILL\t\\09\tTerm\tKill シグナル\n"
6771
6772 #. type: tbl table
6773 #: build/C/man7/signal.7:245
6774 #, no-wrap
6775 msgid "SIGSEGV\t11\tCore\tInvalid memory reference\n"
6776 msgstr "SIGSEGV\t11\tCore\t不正なメモリ参照\n"
6777
6778 #. type: tbl table
6779 #: build/C/man7/signal.7:246
6780 #, no-wrap
6781 msgid "SIGPIPE\t13\tTerm\tBroken pipe: write to pipe with no\n"
6782 msgstr "SIGPIPE\t13\tTerm\tパイプ破壊:\n"
6783
6784 #. type: tbl table
6785 #: build/C/man7/signal.7:247
6786 #, no-wrap
6787 msgid "\t\t\treaders\n"
6788 msgstr "\t\t\t読み手の無いパイプへの書き出し\n"
6789
6790 #. type: tbl table
6791 #: build/C/man7/signal.7:248
6792 #, no-wrap
6793 msgid "SIGALRM\t14\tTerm\tTimer signal from B<alarm>(2)\n"
6794 msgstr "SIGALRM\t14\tTerm\tB<alarm>(2) からのタイマーシグナル\n"
6795
6796 #. type: tbl table
6797 #: build/C/man7/signal.7:249
6798 #, no-wrap
6799 msgid "SIGTERM\t15\tTerm\tTermination signal\n"
6800 msgstr "SIGTERM\t15\tTerm\t終了 (termination) シグナル\n"
6801
6802 #. type: tbl table
6803 #: build/C/man7/signal.7:250
6804 #, no-wrap
6805 msgid "SIGUSR1\t30,10,16\tTerm\tUser-defined signal 1\n"
6806 msgstr "SIGUSR1\t30,10,16\tTerm\tユーザ定義シグナル 1\n"
6807
6808 #. type: tbl table
6809 #: build/C/man7/signal.7:251
6810 #, no-wrap
6811 msgid "SIGUSR2\t31,12,17\tTerm\tUser-defined signal 2\n"
6812 msgstr "SIGUSR2\t31,12,17\tTerm\tユーザ定義シグナル 2\n"
6813
6814 #. type: tbl table
6815 #: build/C/man7/signal.7:252
6816 #, no-wrap
6817 msgid "SIGCHLD\t20,17,18\tIgn\tChild stopped or terminated\n"
6818 msgstr "SIGCHLD\t20,17,18\tIgn\t子プロセスの一時停止 (stop) または終了\n"
6819
6820 #. type: tbl table
6821 #: build/C/man7/signal.7:253
6822 #, no-wrap
6823 msgid "SIGCONT\t19,18,25\tCont\tContinue if stopped\n"
6824 msgstr "SIGCONT\t19,18,25\tCont\t一時停止 (stop) からの再開\n"
6825
6826 #. type: tbl table
6827 #: build/C/man7/signal.7:254
6828 #, no-wrap
6829 msgid "SIGSTOP\t17,19,23\tStop\tStop process\n"
6830 msgstr "SIGSTOP\t17,19,23\tStop\tプロセスの一時停止 (stop)\n"
6831
6832 #. type: tbl table
6833 #: build/C/man7/signal.7:255
6834 #, no-wrap
6835 msgid "SIGTSTP\t18,20,24\tStop\tStop typed at tty\n"
6836 msgstr "SIGTSTP\t18,20,24\tStop\t端末 (tty) より入力された一時停止 (stop)\n"
6837
6838 #. type: tbl table
6839 #: build/C/man7/signal.7:256
6840 #, no-wrap
6841 msgid "SIGTTIN\t21,21,26\tStop\ttty input for background process\n"
6842 msgstr "SIGTTIN\t21,21,26\tStop\tバックグランドプロセスの tty 入力\n"
6843
6844 #. type: tbl table
6845 #: build/C/man7/signal.7:257
6846 #, no-wrap
6847 msgid "SIGTTOU\t22,22,27\tStop\ttty output for background process\n"
6848 msgstr "SIGTTOU\t22,22,27\tStop\tバックグランドプロセスの tty 出力\n"
6849
6850 #. type: Plain text
6851 #: build/C/man7/signal.7:265
6852 msgid ""
6853 "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught, blocked, or ignored."
6854 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> はキャッチ、ブロック、無視できない。"
6855
6856 #. type: Plain text
6857 #: build/C/man7/signal.7:268
6858 msgid ""
6859 "Next the signals not in the POSIX.1-1990 standard but described in SUSv2 and "
6860 "POSIX.1-2001."
6861 msgstr ""
6862 "次に、 POSIX.1-1990 標準にはないが、 SUSv2 と POSIX.1-2001 に記述されているシ"
6863 "グナルを示す。"
6864
6865 #. type: tbl table
6866 #: build/C/man7/signal.7:273
6867 #, no-wrap
6868 msgid "SIGBUS\t10,7,10\tCore\tBus error (bad memory access)\n"
6869 msgstr "SIGBUS\t10,7,10\tCore\tバスエラー (不正なメモリアクセス)\n"
6870
6871 #. type: tbl table
6872 #: build/C/man7/signal.7:274
6873 #, no-wrap
6874 msgid "SIGPOLL\t\tTerm\tPollable event (Sys V).\n"
6875 msgstr "SIGPOLL\t\tTerm\tポーリング可能なイベント (Sys V)。\n"
6876
6877 #. type: tbl table
6878 #: build/C/man7/signal.7:275
6879 #, no-wrap
6880 msgid "\t\t\tSynonym for B<SIGIO>\n"
6881 msgstr "\t\t\tB<SIGIO> と同義\n"
6882
6883 #. type: tbl table
6884 #: build/C/man7/signal.7:276
6885 #, no-wrap
6886 msgid "SIGPROF\t27,27,29\tTerm\tProfiling timer expired\n"
6887 msgstr "SIGPROF\t27,27,29\tTerm\tprofiling タイマの時間切れ\n"
6888
6889 #. type: tbl table
6890 #: build/C/man7/signal.7:277
6891 #, no-wrap
6892 msgid "SIGSYS\t12,31,12\tCore\tBad argument to routine (SVr4)\n"
6893 msgstr "SIGSYS\t12,31,12\tCore\tルーチンへの引き数が不正 (SVr4)\n"
6894
6895 #. type: tbl table
6896 #: build/C/man7/signal.7:278
6897 #, no-wrap
6898 msgid "SIGTRAP\t5\tCore\tTrace/breakpoint trap\n"
6899 msgstr "SIGTRAP\t5\tCore\tトレース/ブレークポイント トラップ\n"
6900
6901 #. type: tbl table
6902 #: build/C/man7/signal.7:279
6903 #, no-wrap
6904 msgid "SIGURG\t16,23,21\tIgn\tUrgent condition on socket (4.2BSD)\n"
6905 msgstr "SIGURG\t16,23,21\tIgn\tソケットの緊急事態 (urgent condition) (4.2BSD)\n"
6906
6907 #. type: tbl table
6908 #: build/C/man7/signal.7:280
6909 #, no-wrap
6910 msgid "SIGVTALRM\t26,26,28\tTerm\tVirtual alarm clock (4.2BSD)\n"
6911 msgstr "SIGVTALRM\t26,26,28\tTerm\t仮想アラームクロック (4.2BSD)\n"
6912
6913 #. type: tbl table
6914 #: build/C/man7/signal.7:281
6915 #, no-wrap
6916 msgid "SIGXCPU\t24,24,30\tCore\tCPU time limit exceeded (4.2BSD)\n"
6917 msgstr "SIGXCPU\t24,24,30\tCore\tCPU時間制限超過 (4.2BSD)\n"
6918
6919 #. type: tbl table
6920 #: build/C/man7/signal.7:282
6921 #, no-wrap
6922 msgid "SIGXFSZ\t25,25,31\tCore\tFile size limit exceeded (4.2BSD)\n"
6923 msgstr "SIGXFSZ\t25,25,31\tCore\tファイルサイズ制限の超過 (4.2BSD)\n"
6924
6925 #. type: Plain text
6926 #: build/C/man7/signal.7:295
6927 msgid ""
6928 "Up to and including Linux 2.2, the default behavior for B<SIGSYS>, "
6929 "B<SIGXCPU>, B<SIGXFSZ>, and (on architectures other than SPARC and MIPS)  "
6930 "B<SIGBUS> was to terminate the process (without a core dump).  (On some "
6931 "other UNIX systems the default action for B<SIGXCPU> and B<SIGXFSZ> is to "
6932 "terminate the process without a core dump.)  Linux 2.4 conforms to the "
6933 "POSIX.1-2001 requirements for these signals, terminating the process with a "
6934 "core dump."
6935 msgstr ""
6936 "Linux 2.2 以前では、 B<SIGSYS>, B<SIGXCPU>, B<SIGXFSZ> および SPARC と MIPS "
6937 "以外のアーキテクチャでの B<SIGBUS> のデフォルトの振る舞いは (コアダンプ出力な"
6938 "しの) プロセス終了であった。 (他の UNIX システムにも B<SIGXCPU> と "
6939 "B<SIGXFSZ> のデフォルトの動作がコアダンプなしのプロセス終了のものがある。)  "
6940 "Linux 2.4 では、POSIX.1-2001 での要求仕様に準拠して、 これらのシグナルで、プ"
6941 "ロセスを終了させ、コアダンプを出力する ようになっている。"
6942
6943 #. type: Plain text
6944 #: build/C/man7/signal.7:297
6945 msgid "Next various other signals."
6946 msgstr "次にその他の各種シグナルを示す。"
6947
6948 #. type: tbl table
6949 #: build/C/man7/signal.7:302
6950 #, no-wrap
6951 msgid "SIGIOT\t6\tCore\tIOT trap. A synonym for B<SIGABRT>\n"
6952 msgstr "SIGIOT\t6\tCore\tIOT トラップ。B<SIGABRT> と同義\n"
6953
6954 #. type: tbl table
6955 #: build/C/man7/signal.7:303
6956 #, no-wrap
6957 msgid "SIGEMT\t7,-,7\tTerm\n"
6958 msgstr "SIGEMT\t7,-,7\tTerm\n"
6959
6960 #. type: tbl table
6961 #: build/C/man7/signal.7:304
6962 #, no-wrap
6963 msgid "SIGSTKFLT\t-,16,-\tTerm\tStack fault on coprocessor (unused)\n"
6964 msgstr "SIGSTKFLT\t-,16,-\tA\t数値演算プロセッサにおけるスタックフォルト (未使用)\n"
6965
6966 #. type: tbl table
6967 #: build/C/man7/signal.7:305
6968 #, no-wrap
6969 msgid "SIGIO\t23,29,22\tTerm\tI/O now possible (4.2BSD)\n"
6970 msgstr "SIGIO\t23,29,22\tTerm\t入出力が可能になった (4.2BSD)\n"
6971
6972 #. type: tbl table
6973 #: build/C/man7/signal.7:306
6974 #, no-wrap
6975 msgid "SIGCLD\t-,-,18\tIgn\tA synonym for B<SIGCHLD>\n"
6976 msgstr "SIGCLD\t-,-,18\tIgn\tB<SIGCHLD> と同義\n"
6977
6978 #. type: tbl table
6979 #: build/C/man7/signal.7:307
6980 #, no-wrap
6981 msgid "SIGPWR\t29,30,19\tTerm\tPower failure (System V)\n"
6982 msgstr "SIGPWR\t29,30,19\tTerm\t電源喪失 (Power failure) (System V)\n"
6983
6984 #. type: tbl table
6985 #: build/C/man7/signal.7:308
6986 #, no-wrap
6987 msgid "SIGINFO\t29,-,-\t\tA synonym for B<SIGPWR>\n"
6988 msgstr "SIGINFO\t29,-,-\t \tB<SIGPWR> と同義\n"
6989
6990 #. type: tbl table
6991 #: build/C/man7/signal.7:309
6992 #, no-wrap
6993 msgid "SIGLOST\t-,-,-\tTerm\tFile lock lost\n"
6994 msgstr "SIGLOST\t-,-,-\tTerm\tファイルロックが失われた\n"
6995
6996 #. type: tbl table
6997 #: build/C/man7/signal.7:310
6998 #, no-wrap
6999 msgid "SIGWINCH\t28,28,20\tIgn\tWindow resize signal (4.3BSD, Sun)\n"
7000 msgstr "SIGWINCH\t28,28,20\tIgn\tウィンドウ リサイズ シグナル (4.3BSD, Sun)\n"
7001
7002 #. type: tbl table
7003 #: build/C/man7/signal.7:311
7004 #, no-wrap
7005 msgid "SIGUNUSED\t-,31,-\tCore\tSynonymous with B<SIGSYS>\n"
7006 msgstr "SIGUNUSED\t-,31,-\tCore\tB<SIGSYS> と同義\n"
7007
7008 #. type: Plain text
7009 #: build/C/man7/signal.7:321
7010 msgid ""
7011 "(Signal 29 is B<SIGINFO> / B<SIGPWR> on an alpha but B<SIGLOST> on a sparc.)"
7012 msgstr ""
7013 "(シグナル 29 は alpha では B<SIGINFO> / B<SIGPWR> だが、sparc では "
7014 "B<SIGLOST> である。)"
7015
7016 #. type: Plain text
7017 #: build/C/man7/signal.7:327
7018 msgid ""
7019 "B<SIGEMT> is not specified in POSIX.1-2001, but nevertheless appears on most "
7020 "other UNIX systems, where its default action is typically to terminate the "
7021 "process with a core dump."
7022 msgstr ""
7023 "B<SIGEMT> は POSIX.1-2001 に規定されていないが、 その他の多くの UNIX システム"
7024 "に存在する。 デフォルトの動作は多くの場合、コアダンプ出力を伴うプロセスの終了"
7025 "である。"
7026
7027 #. type: Plain text
7028 #: build/C/man7/signal.7:331
7029 msgid ""
7030 "B<SIGPWR> (which is not specified in POSIX.1-2001) is typically ignored by "
7031 "default on those other UNIX systems where it appears."
7032 msgstr ""
7033 "B<SIGPWR> は (POSIX.1-2001 に規定されていないが) このシグナルが存在する 他の "
7034 "UNIX システムでは多くの場合、デフォルト動作は無視である。"
7035
7036 #. type: Plain text
7037 #: build/C/man7/signal.7:335
7038 msgid ""
7039 "B<SIGIO> (which is not specified in POSIX.1-2001) is ignored by default on "
7040 "several other UNIX systems."
7041 msgstr ""
7042 "B<SIGIO> は (POSIX.1-2001 に規定されていないが) いくつかの他の UNIX システム"
7043 "では デフォルト動作は無視である。"
7044
7045 #.  parisc is the only exception: SIGSYS is 12, SIGUNUSED is 31
7046 #. type: Plain text
7047 #: build/C/man7/signal.7:342
7048 msgid ""
7049 "Where defined, B<SIGUNUSED> is synonymous with B<SIGSYS> on most "
7050 "architectures."
7051 msgstr ""
7052 "B<SIGUNUSED> が定義されている場合には、ほとんどのアーキテクチャで B<SIGSYS> "
7053 "の同義語となっている。"
7054
7055 #. type: SS
7056 #: build/C/man7/signal.7:342
7057 #, no-wrap
7058 msgid "Real-time Signals"
7059 msgstr "リアルタイムシグナル"
7060
7061 #. type: Plain text
7062 #: build/C/man7/signal.7:352
7063 msgid ""
7064 "Linux supports real-time signals as originally defined in the POSIX.1b real-"
7065 "time extensions (and now included in POSIX.1-2001).  The range of supported "
7066 "real-time signals is defined by the macros B<SIGRTMIN> and B<SIGRTMAX>.  "
7067 "POSIX.1-2001 requires that an implementation support at least "
7068 "B<_POSIX_RTSIG_MAX> (8) real-time signals."
7069 msgstr ""
7070 "Linux はリアルタイムシグナルをサポートしている。 リアルタイムシグナルは元々 "
7071 "POSIX.1b のリアルタイム拡張で定義されて いるものであり、現在では "
7072 "POSIX.1-2001 に含まれている。 対応しているリアルタイムシグナルの範囲は、マク"
7073 "ロ B<SIGRTMIN> と B<SIGRTMAX> で定義される。 POSIX.1-2001 では、少なくとも "
7074 "B<_POSIX_RTSIG_MAX> (8) 個のリアルタイムシグナルに対応した実装が要求されてい"
7075 "る。"
7076
7077 #. type: Plain text
7078 #: build/C/man7/signal.7:374
7079 msgid ""
7080 "The Linux kernel supports a range of 32 different real-time signals, "
7081 "numbered 33 to 64.  However, the glibc POSIX threads implementation "
7082 "internally uses two (for NPTL) or three (for LinuxThreads) real-time signals "
7083 "(see B<pthreads>(7)), and adjusts the value of B<SIGRTMIN> suitably (to 34 "
7084 "or 35).  Because the range of available real-time signals varies according "
7085 "to the glibc threading implementation (and this variation can occur at run "
7086 "time according to the available kernel and glibc), and indeed the range of "
7087 "real-time signals varies across UNIX systems, programs should I<never refer "
7088 "to real-time signals using hard-coded numbers>, but instead should always "
7089 "refer to real-time signals using the notation B<SIGRTMIN>+n, and include "
7090 "suitable (run-time) checks that B<SIGRTMIN>+n does not exceed B<SIGRTMAX>."
7091 msgstr ""
7092 "Linux は、32 個の異なるリアルタイムシグナルに対応しており、 その番号は 33 か"
7093 "ら 64 である。 しかしながら、glibc の POSIX スレッド実装は、 内部で 2個 "
7094 "(NPTL の場合) か 3個 (LinuxThreads の場合) の リアルタイムシグナルを使用して"
7095 "おり (B<pthreads>(7)  参照)、 B<SIGRTMIN> の値を適切に (34 か 35 に) 調整す"
7096 "る。 利用可能なリアルタイムシグナルの範囲は glibc のスレッド実装により 異なる"
7097 "し (使用するカーネルと glibc により実行時にも変化する)、 UNIX システムの種類"
7098 "によっても異なる。したがって、 プログラムでは「ハードコーディングした数字を"
7099 "使ってのリアルタイムシグナルの 参照は決してすべきではなく」、代わりに "
7100 "B<SIGRTMIN>+n の形で参照すべきである。また、 B<SIGRTMIN>+n が B<SIGRTMAX> を"
7101 "超えていないかのチェックを (実行時に) 適切に行うべきである。"
7102
7103 #. type: Plain text
7104 #: build/C/man7/signal.7:378
7105 msgid ""
7106 "Unlike standard signals, real-time signals have no predefined meanings: the "
7107 "entire set of real-time signals can be used for application-defined purposes."
7108 msgstr ""
7109 "標準シグナルと異なり、リアルタイムシグナルには 事前に定義された意味はない。 "
7110 "リアルタイムシグナルの全部をアプリケーションで定義した用途に使える。"
7111
7112 #. type: Plain text
7113 #: build/C/man7/signal.7:381
7114 msgid ""
7115 "The default action for an unhandled real-time signal is to terminate the "
7116 "receiving process."
7117 msgstr ""
7118 "ハンドリングしないリアルタイムシグナルのデフォルトの動作は 受信したプロセスの"
7119 "終了である。"
7120
7121 #. type: Plain text
7122 #: build/C/man7/signal.7:383
7123 msgid "Real-time signals are distinguished by the following:"
7124 msgstr "リアルタイムシグナルは以下の特徴がある:"
7125
7126 #. type: Plain text
7127 #: build/C/man7/signal.7:387
7128 msgid ""
7129 "Multiple instances of real-time signals can be queued.  By contrast, if "
7130 "multiple instances of a standard signal are delivered while that signal is "
7131 "currently blocked, then only one instance is queued."
7132 msgstr ""
7133 "リアルタイムシグナルは複数の実体をキューに入れることができる。 一方、標準シグ"
7134 "ナルの場合、そのシグナルがブロックされている間に 同じシグナルの複数のインスタ"
7135 "ンスが配送されても、 1 つだけがキューに入れられる。"
7136
7137 #. type: Plain text
7138 #: build/C/man7/signal.7:407
7139 msgid ""
7140 "If the signal is sent using B<sigqueue>(3), an accompanying value (either an "
7141 "integer or a pointer) can be sent with the signal.  If the receiving process "
7142 "establishes a handler for this signal using the B<SA_SIGINFO> flag to "
7143 "B<sigaction>(2)  then it can obtain this data via the I<si_value> field of "
7144 "the I<siginfo_t> structure passed as the second argument to the handler.  "
7145 "Furthermore, the I<si_pid> and I<si_uid> fields of this structure can be "
7146 "used to obtain the PID and real user ID of the process sending the signal."
7147 msgstr ""
7148 "シグナルが B<sigqueue>(3)  を用いて送信された場合、 付属データ (整数かポイン"
7149 "タ) をシグナルと共に送信できる。 受信側プロセスが B<sigaction>(2)  に "
7150 "B<SA_SIGINFO> フラグを指定してシグナルハンドラを設定した場合、 このデータは "
7151 "I<siginfo_t> 構造体の I<si_value> フィールド経由でハンドラの第 2 引き数として"
7152 "渡され、 利用することができる。 さらに、この構造体の I<si_pid> と I<si_uid> "
7153 "フィールドでシグナルを送信したプロセスの PID と実ユーザ ID を 得ることができ"
7154 "る。"
7155
7156 #. type: Plain text
7157 #: build/C/man7/signal.7:416
7158 msgid ""
7159 "Real-time signals are delivered in a guaranteed order.  Multiple real-time "
7160 "signals of the same type are delivered in the order they were sent.  If "
7161 "different real-time signals are sent to a process, they are delivered "
7162 "starting with the lowest-numbered signal.  (I.e., low-numbered signals have "
7163 "highest priority.)  By contrast, if multiple standard signals are pending "
7164 "for a process, the order in which they are delivered is unspecified."
7165 msgstr ""
7166 "リアルタイムシグナルでは配送される順序が保証される。 同じタイプのリアルタイム"
7167 "シグナルは送信された順番に到着する。 異なるリアルタイムシグナルが一つのプロセ"
7168 "スに送信された場合、 番号の小さいシグナルから先に到着する。 (つまり小さい番号"
7169 "のシグナルが高い優先順位を持つ。)  対照的に、一つのプロセスに対して複数の標準"
7170 "シグナルが処理待ちとなった場合、 これらのシグナルが配送される順序は不定であ"
7171 "る。"
7172
7173 #. type: Plain text
7174 #: build/C/man7/signal.7:421
7175 msgid ""
7176 "If both standard and real-time signals are pending for a process, POSIX "
7177 "leaves it unspecified which is delivered first.  Linux, like many other "
7178 "implementations, gives priority to standard signals in this case."
7179 msgstr ""
7180 "一つのプロセスに対して標準シグナルとリアルタイムシグナルの両方が 処理待ちの場"
7181 "合、POSIX はどちらが先に配送されるかを規定していない。 Linux では、他の多くの"
7182 "実装と同様、このような場合には 標準シグナルが優先される。"
7183
7184 #. type: Plain text
7185 #: build/C/man7/signal.7:444
7186 msgid ""
7187 "According to POSIX, an implementation should permit at least "
7188 "B<_POSIX_SIGQUEUE_MAX> (32) real-time signals to be queued to a process.  "
7189 "However, Linux does things differently.  In kernels up to and including "
7190 "2.6.7, Linux imposes a system-wide limit on the number of queued real-time "
7191 "signals for all processes.  This limit can be viewed and (with privilege) "
7192 "changed via the I</proc/sys/kernel/rtsig-max> file.  A related file, I</proc/"
7193 "sys/kernel/rtsig-nr>, can be used to find out how many real-time signals are "
7194 "currently queued.  In Linux 2.6.8, these I</proc> interfaces were replaced "
7195 "by the B<RLIMIT_SIGPENDING> resource limit, which specifies a per-user limit "
7196 "for queued signals; see B<setrlimit>(2)  for further details."
7197 msgstr ""
7198 "POSIX によれば、1 プロセス毎に最低 B<_POSIX_SIGQUEUE_MAX> (32) 個のリアルタイ"
7199 "ムシグナルをキューに入れられるべきとしている。 しかし、 Linux では違った実装"
7200 "になっている。カーネル 2.6.7 までは (2.6.7 を含む)、全プロセスでキューに入っ"
7201 "ているリアルタイムシグナル の数の合計についてシステム全体での制限がある。 こ"
7202 "の制限は I</proc/sys/kernel/rtsig-max> ファイルで見ることができ、 (権限があれ"
7203 "ば) 変更もできる。 関係するファイルとして、 I</proc/sys/kernel/rtsig-nr> を見"
7204 "ることで、いくつのリアルタイムシグナルが現在キューに入っているかを 知ることが"
7205 "できる。 Linux 2.6.8 で、これらの I</proc> 経由のインターフェースは、 "
7206 "B<RLIMIT_SIGPENDING> リソース制限に置き換えられた。 これは、キューに入るシグ"
7207 "ナル数に関してユーザ単位に 上限を指定するものである。 詳しくは B<setrlimit>"
7208 "(2)  を参照。"
7209
7210 #. type: SS
7211 #: build/C/man7/signal.7:444
7212 #, no-wrap
7213 msgid "Async-signal-safe functions"
7214 msgstr "非同期シグナルで安全な関数 (async-signal-safe functions)"
7215
7216 #. type: Plain text
7217 #: build/C/man7/signal.7:453
7218 msgid ""
7219 "A signal handler function must be very careful, since processing elsewhere "
7220 "may be interrupted at some arbitrary point in the execution of the program.  "
7221 "POSIX has the concept of \"safe function\".  If a signal interrupts the "
7222 "execution of an unsafe function, and I<handler> calls an unsafe function, "
7223 "then the behavior of the program is undefined."
7224 msgstr ""
7225 "シグナルハンドラ関数には非常に注意しなければならない。 他の場所の処理はプログ"
7226 "ラム実行の任意の箇所で中断される可能性があるためである。 POSIX には「安全な関"
7227 "数 (safe function)」という概念がある。 シグナルが安全でない関数の実行を中断"
7228 "し、かつ I<handler> が安全でない関数を呼び出した場合、プログラムの挙動は未定"
7229 "義である。"
7230
7231 #. type: Plain text
7232 #: build/C/man7/signal.7:457
7233 msgid ""
7234 "POSIX.1-2004 (also known as POSIX.1-2001 Technical Corrigendum 2)  requires "
7235 "an implementation to guarantee that the following functions can be safely "
7236 "called inside a signal handler:"
7237 msgstr ""
7238 "POSIX.1-2004 (POSIX.1-2001 Technical Corrigendum (正誤表) 2 とも言う) では、 "
7239 "シグナルハンドラ内での安全な呼び出しを保証することが必須の関数として 以下が規"
7240 "定されている。"
7241
7242 #. type: Plain text
7243 #: build/C/man7/signal.7:578
7244 #, no-wrap
7245 msgid ""
7246 "_Exit()\n"
7247 "_exit()\n"
7248 "abort()\n"
7249 "accept()\n"
7250 "access()\n"
7251 "aio_error()\n"
7252 "aio_return()\n"
7253 "aio_suspend()\n"
7254 "alarm()\n"
7255 "bind()\n"
7256 "cfgetispeed()\n"
7257 "cfgetospeed()\n"
7258 "cfsetispeed()\n"
7259 "cfsetospeed()\n"
7260 "chdir()\n"
7261 "chmod()\n"
7262 "chown()\n"
7263 "clock_gettime()\n"
7264 "close()\n"
7265 "connect()\n"
7266 "creat()\n"
7267 "dup()\n"
7268 "dup2()\n"
7269 "execle()\n"
7270 "execve()\n"
7271 "fchmod()\n"
7272 "fchown()\n"
7273 "fcntl()\n"
7274 "fdatasync()\n"
7275 "fork()\n"
7276 "fpathconf()\n"
7277 "fstat()\n"
7278 "fsync()\n"
7279 "ftruncate()\n"
7280 "getegid()\n"
7281 "geteuid()\n"
7282 "getgid()\n"
7283 "getgroups()\n"
7284 "getpeername()\n"
7285 "getpgrp()\n"
7286 "getpid()\n"
7287 "getppid()\n"
7288 "getsockname()\n"
7289 "getsockopt()\n"
7290 "getuid()\n"
7291 "kill()\n"
7292 "link()\n"
7293 "listen()\n"
7294 "lseek()\n"
7295 "lstat()\n"
7296 "mkdir()\n"
7297 "mkfifo()\n"
7298 "open()\n"
7299 "pathconf()\n"
7300 "pause()\n"
7301 "pipe()\n"
7302 "poll()\n"
7303 "posix_trace_event()\n"
7304 "pselect()\n"
7305 "raise()\n"
7306 "read()\n"
7307 "readlink()\n"
7308 "recv()\n"
7309 "recvfrom()\n"
7310 "recvmsg()\n"
7311 "rename()\n"
7312 "rmdir()\n"
7313 "select()\n"
7314 "sem_post()\n"
7315 "send()\n"
7316 "sendmsg()\n"
7317 "sendto()\n"
7318 "setgid()\n"
7319 "setpgid()\n"
7320 "setsid()\n"
7321 "setsockopt()\n"
7322 "setuid()\n"
7323 "shutdown()\n"
7324 "sigaction()\n"
7325 "sigaddset()\n"
7326 "sigdelset()\n"
7327 "sigemptyset()\n"
7328 "sigfillset()\n"
7329 "sigismember()\n"
7330 "signal()\n"
7331 "sigpause()\n"
7332 "sigpending()\n"
7333 "sigprocmask()\n"
7334 "sigqueue()\n"
7335 "sigset()\n"
7336 "sigsuspend()\n"
7337 "sleep()\n"
7338 "sockatmark()\n"
7339 "socket()\n"
7340 "socketpair()\n"
7341 "stat()\n"
7342 "symlink()\n"
7343 "sysconf()\n"
7344 "tcdrain()\n"
7345 "tcflow()\n"
7346 "tcflush()\n"
7347 "tcgetattr()\n"
7348 "tcgetpgrp()\n"
7349 "tcsendbreak()\n"
7350 "tcsetattr()\n"
7351 "tcsetpgrp()\n"
7352 "time()\n"
7353 "timer_getoverrun()\n"
7354 "timer_gettime()\n"
7355 "timer_settime()\n"
7356 "times()\n"
7357 "umask()\n"
7358 "uname()\n"
7359 "unlink()\n"
7360 "utime()\n"
7361 "wait()\n"
7362 "waitpid()\n"
7363 "write()\n"
7364 msgstr ""
7365 "_Exit()\n"
7366 "_exit()\n"
7367 "abort()\n"
7368 "accept()\n"
7369 "access()\n"
7370 "aio_error()\n"
7371 "aio_return()\n"
7372 "aio_suspend()\n"
7373 "alarm()\n"
7374 "bind()\n"
7375 "cfgetispeed()\n"
7376 "cfgetospeed()\n"
7377 "cfsetispeed()\n"
7378 "cfsetospeed()\n"
7379 "chdir()\n"
7380 "chmod()\n"
7381 "chown()\n"
7382 "clock_gettime()\n"
7383 "close()\n"
7384 "connect()\n"
7385 "creat()\n"
7386 "dup()\n"
7387 "dup2()\n"
7388 "execle()\n"
7389 "execve()\n"
7390 "fchmod()\n"
7391 "fchown()\n"
7392 "fcntl()\n"
7393 "fdatasync()\n"
7394 "fork()\n"
7395 "fpathconf()\n"
7396 "fstat()\n"
7397 "fsync()\n"
7398 "ftruncate()\n"
7399 "getegid()\n"
7400 "geteuid()\n"
7401 "getgid()\n"
7402 "getgroups()\n"
7403 "getpeername()\n"
7404 "getpgrp()\n"
7405 "getpid()\n"
7406 "getppid()\n"
7407 "getsockname()\n"
7408 "getsockopt()\n"
7409 "getuid()\n"
7410 "kill()\n"
7411 "link()\n"
7412 "listen()\n"
7413 "lseek()\n"
7414 "lstat()\n"
7415 "mkdir()\n"
7416 "mkfifo()\n"
7417 "open()\n"
7418 "pathconf()\n"
7419 "pause()\n"
7420 "pipe()\n"
7421 "poll()\n"
7422 "posix_trace_event()\n"
7423 "pselect()\n"
7424 "raise()\n"
7425 "read()\n"
7426 "readlink()\n"
7427 "recv()\n"
7428 "recvfrom()\n"
7429 "recvmsg()\n"
7430 "rename()\n"
7431 "rmdir()\n"
7432 "select()\n"
7433 "sem_post()\n"
7434 "send()\n"
7435 "sendmsg()\n"
7436 "sendto()\n"
7437 "setgid()\n"
7438 "setpgid()\n"
7439 "setsid()\n"
7440 "setsockopt()\n"
7441 "setuid()\n"
7442 "shutdown()\n"
7443 "sigaction()\n"
7444 "sigaddset()\n"
7445 "sigdelset()\n"
7446 "sigemptyset()\n"
7447 "sigfillset()\n"
7448 "sigismember()\n"
7449 "signal()\n"
7450 "sigpause()\n"
7451 "sigpending()\n"
7452 "sigprocmask()\n"
7453 "sigqueue()\n"
7454 "sigset()\n"
7455 "sigsuspend()\n"
7456 "sleep()\n"
7457 "sockatmark()\n"
7458 "socket()\n"
7459 "socketpair()\n"
7460 "stat()\n"
7461 "symlink()\n"
7462 "sysconf()\n"
7463 "tcdrain()\n"
7464 "tcflow()\n"
7465 "tcflush()\n"
7466 "tcgetattr()\n"
7467 "tcgetpgrp()\n"
7468 "tcsendbreak()\n"
7469 "tcsetattr()\n"
7470 "tcsetpgrp()\n"
7471 "time()\n"
7472 "timer_getoverrun()\n"
7473 "timer_gettime()\n"
7474 "timer_settime()\n"
7475 "times()\n"
7476 "umask()\n"
7477 "uname()\n"
7478 "unlink()\n"
7479 "utime()\n"
7480 "wait()\n"
7481 "waitpid()\n"
7482 "write()\n"
7483
7484 #. type: Plain text
7485 #: build/C/man7/signal.7:583
7486 msgid ""
7487 "POSIX.1-2008 removes fpathconf(), pathconf(), and sysconf()  from the above "
7488 "list, and adds the following functions:"
7489 msgstr ""
7490 "POSIX.1-2008 では、上記のリストのうち fpathconf(), pathconf(), sysconf()  が"
7491 "削除され、以下の関数が追加された。"
7492
7493 #. type: Plain text
7494 #: build/C/man7/signal.7:606
7495 #, no-wrap
7496 msgid ""
7497 "execl()\n"
7498 "execv()\n"
7499 "faccessat()\n"
7500 "fchmodat()\n"
7501 "fchownat()\n"
7502 "fexecve()\n"
7503 "fstatat()\n"
7504 "futimens()\n"
7505 "linkat()\n"
7506 "mkdirat()\n"
7507 "mkfifoat()\n"
7508 "mknod()\n"
7509 "mknodat()\n"
7510 "openat()\n"
7511 "readlinkat()\n"
7512 "renameat()\n"
7513 "symlinkat()\n"
7514 "unlinkat()\n"
7515 "utimensat()\n"
7516 "utimes()\n"
7517 msgstr ""
7518 "execl()\n"
7519 "execv()\n"
7520 "faccessat()\n"
7521 "fchmodat()\n"
7522 "fchownat()\n"
7523 "fexecve()\n"
7524 "fstatat()\n"
7525 "futimens()\n"
7526 "linkat()\n"
7527 "mkdirat()\n"
7528 "mkfifoat()\n"
7529 "mknod()\n"
7530 "mknodat()\n"
7531 "openat()\n"
7532 "readlinkat()\n"
7533 "renameat()\n"
7534 "symlinkat()\n"
7535 "unlinkat()\n"
7536 "utimensat()\n"
7537 "utimes()\n"
7538
7539 #. type: SS
7540 #: build/C/man7/signal.7:608
7541 #, no-wrap
7542 msgid "Interruption of System Calls and Library Functions by Signal Handlers"
7543 msgstr "シグナルハンドラによるシステムコールやライブラリ関数への割り込み"
7544
7545 #. type: Plain text
7546 #: build/C/man7/signal.7:611
7547 msgid ""
7548 "If a signal handler is invoked while a system call or library function call "
7549 "is blocked, then either:"
7550 msgstr ""
7551 "システムコールやライブラリが停止 (block) している間にシグナルハンドラが 起動"
7552 "されると、以下のどちらかとなる。"
7553
7554 #. type: Plain text
7555 #: build/C/man7/signal.7:613
7556 msgid ""
7557 "the call is automatically restarted after the signal handler returns; or"
7558 msgstr "シグナルが返った後、呼び出しは自動的に再スタートされる。"
7559
7560 #. type: Plain text
7561 #: build/C/man7/signal.7:616
7562 msgid "the call fails with the error B<EINTR>."
7563 msgstr "呼び出しはエラー B<EINTR> で失敗する。"
7564
7565 #. type: Plain text
7566 #: build/C/man7/signal.7:624
7567 msgid ""
7568 "Which of these two behaviors occurs depends on the interface and whether or "
7569 "not the signal handler was established using the B<SA_RESTART> flag (see "
7570 "B<sigaction>(2)).  The details vary across UNIX systems; below, the details "
7571 "for Linux."
7572 msgstr ""
7573 "これらの二つの挙動のうちどちらが起こるかは、インターフェイスにより依存し、 シ"
7574 "グナルハンドラが B<SA_RESTART> フラグ (B<sigaction>(2)  参照) を使って設定さ"
7575 "れていたかにも依存する。 詳細は UNIX システムによって異なる。 Linux における"
7576 "詳細を以下で説明する。"
7577
7578 #.  The following system calls use ERESTARTSYS,
7579 #.  so that they are restartable
7580 #. type: Plain text
7581 #: build/C/man7/signal.7:633
7582 msgid ""
7583 "If a blocked call to one of the following interfaces is interrupted by a "
7584 "signal handler, then the call will be automatically restarted after the "
7585 "signal handler returns if the B<SA_RESTART> flag was used; otherwise the "
7586 "call will fail with the error B<EINTR>:"
7587 msgstr ""
7588 "以下のインターフェイスのいずれかの呼び出しが停止している間に シグナルハンドラ"
7589 "により割り込まれた場合、 B<SA_RESTART> フラグが使用されていれば、シグナルハン"
7590 "ドラが返った後に その呼び出しは自動的に再スタートされることになる。 それ以外"
7591 "の場合は、その呼び出しはエラー B<EINTR> で失敗することになる。"
7592
7593 #. type: Plain text
7594 #: build/C/man7/signal.7:649
7595 msgid ""
7596 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), and B<ioctl>(2)  calls "
7597 "on \"slow\" devices.  A \"slow\" device is one where the I/O call may block "
7598 "for an indefinite time, for example, a terminal, pipe, or socket.  (A disk "
7599 "is not a slow device according to this definition.)  If an I/O call on a "
7600 "slow device has already transferred some data by the time it is interrupted "
7601 "by a signal handler, then the call will return a success status (normally, "
7602 "the number of bytes transferred)."
7603 msgstr ""
7604 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), B<ioctl>(2)  の「遅い "
7605 "(slow)」デバイスに対する呼び出し。 ここでいう「遅い」デバイスとは、I/O 呼び出"
7606 "しが無期限に停止 (block) する 可能性のあるデバイスのことで、例としては端末、"
7607 "パイプ、ソケットがある (この定義では、ディスクは遅いデバイスではない)。 遅い"
7608 "デバイスに対する I/O 呼び出しが、 シグナルハンドラにより割り込まれた時点まで"
7609 "に何らかのデータを すでに転送していれば、呼び出しは成功ステータス (通常は、転"
7610 "送されたバイト数) を返すことだろう。"
7611
7612 #. type: Plain text
7613 #: build/C/man7/signal.7:653
7614 msgid ""
7615 "B<open>(2), if it can block (e.g., when opening a FIFO; see B<fifo>(7))."
7616 msgstr ""
7617 "停止 (block) する可能性のある B<open>(2)  (例えば、FIFO のオープン時; B<fifo>"
7618 "(7)  参照)。"
7619
7620 #. type: Plain text
7621 #: build/C/man7/signal.7:660
7622 msgid "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), and B<waitpid>(2)."
7623 msgstr "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), B<waitpid>(2)."
7624
7625 #.  If a timeout (setsockopt()) is in effect on the socket, then these
7626 #.  system calls switch to using EINTR.  Consequently, they and are not
7627 #.  automatically restarted, and they show the stop/cont behavior
7628 #.  described below.  (Verified from 2.6.26 source, and by experiment; mtk)
7629 #. type: Plain text
7630 #: build/C/man7/signal.7:676
7631 msgid ""
7632 "Socket interfaces: B<accept>(2), B<connect>(2), B<recv>(2), B<recvfrom>(2), "
7633 "B<recvmsg>(2), B<send>(2), B<sendto>(2), and B<sendmsg>(2), unless a timeout "
7634 "has been set on the socket (see below)."
7635 msgstr ""
7636 "ソケットインターフェイス: B<accept>(2), B<connect>(2), B<recv>(2), "
7637 "B<recvfrom>(2), B<recvmsg>(2), B<send>(2), B<sendto>(2), B<sendmsg>(2).  但"
7638 "し、ソケットにタイムアウトが設定されていない場合 (下記参照)。"
7639
7640 #. type: Plain text
7641 #: build/C/man7/signal.7:682
7642 msgid "File locking interfaces: B<flock>(2)  and B<fcntl>(2)  B<F_SETLKW>."
7643 msgstr ""
7644 "ファイルロック用インターフェイス: B<flock>(2), B<fcntl>(2)  B<F_SETLKW>."
7645
7646 #. type: Plain text
7647 #: build/C/man7/signal.7:689
7648 msgid ""
7649 "POSIX message queue interfaces: B<mq_receive>(3), B<mq_timedreceive>(3), "
7650 "B<mq_send>(3), and B<mq_timedsend>(3)."
7651 msgstr ""
7652 "POSIX メッセージキューインターフェイス: B<mq_receive>(3), B<mq_timedreceive>"
7653 "(3), B<mq_send>(3), B<mq_timedsend>(3)."
7654
7655 #. type: Plain text
7656 #: build/C/man7/signal.7:694
7657 msgid ""
7658 "B<futex>(2)  B<FUTEX_WAIT> (since Linux 2.6.22; beforehand, always failed "
7659 "with B<EINTR>)."
7660 msgstr ""
7661 "B<futex>(2)  B<FUTEX_WAIT> (Linux 2.6.22 以降; それ以前は常に B<EINTR> で失敗"
7662 "していた)。"
7663
7664 #. type: Plain text
7665 #: build/C/man7/signal.7:701
7666 msgid ""
7667 "POSIX semaphore interfaces: B<sem_wait>(3)  and B<sem_timedwait>(3)  (since "
7668 "Linux 2.6.22; beforehand, always failed with B<EINTR>)."
7669 msgstr ""
7670 "POSIX セマフォインターフェイス: B<sem_wait>(3), B<sem_timedwait>(3)  (Linux "
7671 "2.6.22 以降; それ以前は常に B<EINTR> で失敗していた)。"
7672
7673 #.  These are the system calls that give EINTR or ERESTARTNOHAND
7674 #.  on interruption by a signal handler.
7675 #. type: Plain text
7676 #: build/C/man7/signal.7:712
7677 msgid ""
7678 "The following interfaces are never restarted after being interrupted by a "
7679 "signal handler, regardless of the use of B<SA_RESTART>; they always fail "
7680 "with the error B<EINTR> when interrupted by a signal handler:"
7681 msgstr ""
7682 "以下のインターフェイスは、 B<SA_RESTART> を使っているどうかに関わらず、シグナ"
7683 "ルハンドラにより割り込まれた後、 再スタートすることは決してない。 これらは、"
7684 "シグナルハンドラにより割り込まれると、常にエラー B<EINTR> で失敗する。"
7685
7686 #. type: Plain text
7687 #: build/C/man7/signal.7:732 build/C/man7/signal.7:806
7688 msgid ""
7689 "Socket interfaces, when a timeout has been set on the socket using "
7690 "B<setsockopt>(2): B<accept>(2), B<recv>(2), B<recvfrom>(2), and B<recvmsg>"
7691 "(2), if a receive timeout (B<SO_RCVTIMEO>)  has been set; B<connect>(2), "
7692 "B<send>(2), B<sendto>(2), and B<sendmsg>(2), if a send timeout "
7693 "(B<SO_SNDTIMEO>)  has been set."
7694 msgstr ""
7695 "B<setsockopt>(2)  を使ってタイムアウトが設定されているソケットインターフェー"
7696 "ス: B<accept>(2), B<recv>(2), B<recvfrom>(2), B<recvmsg>(2)  で受信タイムアウ"
7697 "ト (B<SO_RCVTIMEO>)  が設定されている場合と、 B<connect>(2), B<send>(2), "
7698 "B<sendto>(2), B<sendmsg>(2)  で送信タイムアウト (B<SO_SNDTIMEO>)  が設定され"
7699 "ている場合。"
7700
7701 #. type: Plain text
7702 #: build/C/man7/signal.7:739
7703 msgid ""
7704 "Interfaces used to wait for signals: B<pause>(2), B<sigsuspend>(2), "
7705 "B<sigtimedwait>(2), and B<sigwaitinfo>(2)."
7706 msgstr ""
7707 "シグナル待ちに使われるインターフェイス: B<pause>(2), B<sigsuspend>(2), "
7708 "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7709
7710 #. type: Plain text
7711 #: build/C/man7/signal.7:748
7712 msgid ""
7713 "File descriptor multiplexing interfaces: B<epoll_wait>(2), B<epoll_pwait>"
7714 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), and B<pselect>(2)."
7715 msgstr ""
7716 "ファイルディスクリプタ多重インターフェイス: B<epoll_wait>(2), B<epoll_pwait>"
7717 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), B<pselect>(2)."
7718
7719 #.  On some other systems, SA_RESTART does restart these system calls
7720 #. type: Plain text
7721 #: build/C/man7/signal.7:756
7722 msgid ""
7723 "System V IPC interfaces: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), and "
7724 "B<semtimedop>(2)."
7725 msgstr ""
7726 "System V IPC インターフェイス: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), "
7727 "B<semtimedop>(2)."
7728
7729 #. type: Plain text
7730 #: build/C/man7/signal.7:762
7731 msgid ""
7732 "Sleep interfaces: B<clock_nanosleep>(2), B<nanosleep>(2), and B<usleep>(3)."
7733 msgstr ""
7734 "スリープ用のインターフェイス: B<clock_nanosleep>(2), B<nanosleep>(2), "
7735 "B<usleep>(3)."
7736
7737 #. type: Plain text
7738 #: build/C/man7/signal.7:767 build/C/man7/signal.7:820
7739 msgid "B<read>(2)  from an B<inotify>(7)  file descriptor."
7740 msgstr "B<inotify>(7)  ファイルディスクリプタからの B<read>(2)."
7741
7742 #. type: Plain text
7743 #: build/C/man7/signal.7:769
7744 msgid "B<io_getevents>(2)."
7745 msgstr "B<io_getevents>(2)."
7746
7747 #. type: Plain text
7748 #: build/C/man7/signal.7:775
7749 msgid ""
7750 "The B<sleep>(3)  function is also never restarted if interrupted by a "
7751 "handler, but gives a success return: the number of seconds remaining to "
7752 "sleep."
7753 msgstr ""
7754 "B<sleep>(3)  関数も、ハンドラにより割り込まれた場合、決して再スタートされるこ"
7755 "とはない。 しかし、成功となり、残っている停止時間を返す。"
7756
7757 #. type: SS
7758 #: build/C/man7/signal.7:775
7759 #, no-wrap
7760 msgid "Interruption of System Calls and Library Functions by Stop Signals"
7761 msgstr "一時停止シグナルによるシステムコールやライブラリ関数への割り込み"
7762
7763 #. type: Plain text
7764 #: build/C/man7/signal.7:784
7765 msgid ""
7766 "On Linux, even in the absence of signal handlers, certain blocking "
7767 "interfaces can fail with the error B<EINTR> after the process is stopped by "
7768 "one of the stop signals and then resumed via B<SIGCONT>.  This behavior is "
7769 "not sanctioned by POSIX.1, and doesn't occur on other systems."
7770 msgstr ""
7771 "Linux では、シグナルハンドラが設定されていない場合でも、 いくつかのブロッキン"
7772 "グ型のインターフェイスは、 プロセスが一時停止 (stop) シグナルの一つにより停止"
7773 "され、 B<SIGCONT> により再開された後に、エラー B<EINTR> で失敗する可能性があ"
7774 "る。 この挙動は POSIX.1 で認められておらず、他のシステムでは起こらない。"
7775
7776 #. type: Plain text
7777 #: build/C/man7/signal.7:786
7778 msgid "The Linux interfaces that display this behavior are:"
7779 msgstr "この挙動を示す Linux のインターフェイスは以下の通りである。"
7780
7781 #. type: Plain text
7782 #: build/C/man7/signal.7:809
7783 msgid "B<epoll_wait>(2), B<epoll_pwait>(2)."
7784 msgstr "B<epoll_wait>(2), B<epoll_pwait>(2)."
7785
7786 #. type: Plain text
7787 #: build/C/man7/signal.7:812
7788 msgid "B<semop>(2), B<semtimedop>(2)."
7789 msgstr "B<semop>(2), B<semtimedop>(2)."
7790
7791 #. type: Plain text
7792 #: build/C/man7/signal.7:815
7793 msgid "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7794 msgstr "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7795
7796 #. type: Plain text
7797 #: build/C/man7/signal.7:826
7798 msgid ""
7799 "Linux 2.6.21 and earlier: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7800 "B<sem_wait>(3)."
7801 msgstr ""
7802 "Linux 2.6.21 以前: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7803 "B<sem_wait>(3)."
7804
7805 #. type: Plain text
7806 #: build/C/man7/signal.7:830
7807 msgid "Linux 2.6.8 and earlier: B<msgrcv>(2), B<msgsnd>(2)."
7808 msgstr "Linux 2.6.8 以前: B<msgrcv>(2), B<msgsnd>(2)."
7809
7810 #. type: Plain text
7811 #: build/C/man7/signal.7:833
7812 msgid "Linux 2.4 and earlier: B<nanosleep>(2)."
7813 msgstr "Linux 2.4 以前: B<nanosleep>(2)."
7814
7815 #. type: Plain text
7816 #: build/C/man7/signal.7:836
7817 msgid "POSIX.1, except as noted."
7818 msgstr "POSIX.1 (注記した内容以外)。"
7819
7820 #. type: Plain text
7821 #: build/C/man7/signal.7:845
7822 msgid ""
7823 "B<SIGIO> and B<SIGLOST> have the same value.  The latter is commented out in "
7824 "the kernel source, but the build process of some software still thinks that "
7825 "signal 29 is B<SIGLOST>."
7826 msgstr ""
7827 "B<SIGIO> と B<SIGLOST> は同じ値を持っている。 B<SIGLOST> はカーネルのソースで"
7828 "はコメントアウトされている。 しかし、ソフトウェアによってはビルドの過程でシグ"
7829 "ナル 29 を B<SIGLOST> とみなしてしまうものがある。"
7830
7831 #. type: Plain text
7832 #: build/C/man7/signal.7:878
7833 msgid ""
7834 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7835 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7836 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7837 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7838 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7839 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7840 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7841 "B<sigevent>(7)"
7842 msgstr ""
7843 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7844 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7845 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7846 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7847 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7848 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7849 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7850 "B<sigevent>(7)"
7851
7852 #. type: TH
7853 #: build/C/man2/signalfd.2:19
7854 #, no-wrap
7855 msgid "SIGNALFD"
7856 msgstr "SIGNALFD"
7857
7858 #. type: TH
7859 #: build/C/man2/signalfd.2:19
7860 #, no-wrap
7861 msgid "2009-01-13"
7862 msgstr "2009-01-13"
7863
7864 #. type: Plain text
7865 #: build/C/man2/signalfd.2:22
7866 msgid "signalfd - create a file descriptor for accepting signals"
7867 msgstr "signalfd - シグナル受け付け用のファイルディスクリプタを生成する"
7868
7869 #. type: Plain text
7870 #: build/C/man2/signalfd.2:24
7871 msgid "B<#include E<lt>sys/signalfd.hE<gt>>"
7872 msgstr "B<#include E<lt>sys/signalfd.hE<gt>>"
7873
7874 #. type: Plain text
7875 #: build/C/man2/signalfd.2:26
7876 msgid ""
7877 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7878 msgstr ""
7879 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7880
7881 #. type: Plain text
7882 #: build/C/man2/signalfd.2:37
7883 msgid ""
7884 "B<signalfd>()  creates a file descriptor that can be used to accept signals "
7885 "targeted at the caller.  This provides an alternative to the use of a signal "
7886 "handler or B<sigwaitinfo>(2), and has the advantage that the file descriptor "
7887 "may be monitored by B<select>(2), B<poll>(2), and B<epoll>(7)."
7888 msgstr ""
7889 "B<signalfd>()  は、呼び出し元宛てのシグナルを受け付けるために使用されるファイ"
7890 "ル ディスクリプタを生成する。 この方法はシグナルハンドラや B<sigwaitinfo>"
7891 "(2)  を用いる方法の代わりとなるものであり、このファイルディスクリプタを "
7892 "B<select>(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
7893
7894 #. type: Plain text
7895 #: build/C/man2/signalfd.2:57
7896 msgid ""
7897 "The I<mask> argument specifies the set of signals that the caller wishes to "
7898 "accept via the file descriptor.  This argument is a signal set whose "
7899 "contents can be initialized using the macros described in B<sigsetops>(3).  "
7900 "Normally, the set of signals to be received via the file descriptor should "
7901 "be blocked using B<sigprocmask>(2), to prevent the signals being handled "
7902 "according to their default dispositions.  It is not possible to receive "
7903 "B<SIGKILL> or B<SIGSTOP> signals via a signalfd file descriptor; these "
7904 "signals are silently ignored if specified in I<mask>."
7905 msgstr ""
7906 "I<mask> 引き数には、呼び出し元がこのファイルディスクリプタ経由で受け付けたい "
7907 "シグナル集合を指定する。この引き数で指定するシグナル集合の内容は、 "
7908 "B<sigsetops>(3)  で説明されているマクロを使って初期化することができる。 通"
7909 "常、ファイルディスクリプタ経由で受信するシグナル集合は、 そのシグナルがデフォ"
7910 "ルトの配送方法に基いて処理されるのを防ぐために、 B<sigprocmask>(2)  を使って"
7911 "ブロックしておくべきである。 シグナル B<SIGKILL> と B<SIGSTOP> を signalfd "
7912 "ファイルディスクリプタ経由で受信することはできない。 これらのシグナルが "
7913 "I<mask> で指定された場合には黙って無視される。"
7914
7915 #. type: Plain text
7916 #: build/C/man2/signalfd.2:71
7917 msgid ""
7918 "If the I<fd> argument is -1, then the call creates a new file descriptor and "
7919 "associates the signal set specified in I<mask> with that descriptor.  If "
7920 "I<fd> is not -1, then it must specify a valid existing signalfd file "
7921 "descriptor, and I<mask> is used to replace the signal set associated with "
7922 "that descriptor."
7923 msgstr ""
7924 "I<fd> 引き数が -1 の場合、 B<signalfd>()  は新しいファイルディスクリプタを生"
7925 "成し、 I<mask> で指定されたシグナル集合をそのファイルディスクリプタに関連付け"
7926 "る。 I<fd> 引き数が -1 以外の場合、 I<fd> には有効な既存の signalfd ファイル"
7927 "ディスクリプタを指定しなければならず、 そのディスクリプタに関連付けられている"
7928 "シグナル集合は I<mask> を使って置き換えられる。"
7929
7930 #. type: Plain text
7931 #: build/C/man2/signalfd.2:76
7932 msgid ""
7933 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
7934 "I<flags> to change the behaviour of B<signalfd>():"
7935 msgstr ""
7936 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
7937 "ることで、 B<signalfd>()  の振舞いを変更することができる。"
7938
7939 #. type: TP
7940 #: build/C/man2/signalfd.2:76
7941 #, no-wrap
7942 msgid "B<SFD_NONBLOCK>"
7943 msgstr "B<SFD_NONBLOCK>"
7944
7945 #. type: TP
7946 #: build/C/man2/signalfd.2:84
7947 #, no-wrap
7948 msgid "B<SFD_CLOEXEC>"
7949 msgstr "B<SFD_CLOEXEC>"
7950
7951 #. type: Plain text
7952 #: build/C/man2/signalfd.2:101
7953 msgid ""
7954 "B<signalfd>()  returns a file descriptor that supports the following "
7955 "operations:"
7956 msgstr ""
7957 "B<signalfd>()  が返すファイルディスクリプタは以下の操作をサポートしている。"
7958
7959 #. type: Plain text
7960 #: build/C/man2/signalfd.2:120
7961 msgid ""
7962 "If one or more of the signals specified in I<mask> is pending for the "
7963 "process, then the buffer supplied to B<read>(2)  is used to return one or "
7964 "more I<signalfd_siginfo> structures (see below) that describe the signals.  "
7965 "The B<read>(2)  returns information for as many signals as are pending and "
7966 "will fit in the supplied buffer.  The buffer must be at least I<sizeof"
7967 "(struct signalfd_siginfo)> bytes.  The return value of the B<read>(2)  is "
7968 "the total number of bytes read."
7969 msgstr ""
7970 "I<mask> に指定されているシグナルのうち一つ以上がそのプロセスに対して 処理待"
7971 "ち (pending) であれば、それらのシグナルの情報が B<read>(2)  に渡されたバッ"
7972 "ファを使って、 I<signalfd_siginfo> 構造体に格納されて返される。 B<read>(2)  "
7973 "は、バッファに格納可能な範囲でできるだけ多くの処理待ちのシグナルに ついての情"
7974 "報を返す。 バッファは最低でも I<sizeof(struct signalfd_siginfo)> バイトの大き"
7975 "さがなければならない。 B<read>(2)  の返り値は読み出されたトータルのバイト数で"
7976 "ある。"
7977
7978 #. type: Plain text
7979 #: build/C/man2/signalfd.2:128
7980 msgid ""
7981 "As a consequence of the B<read>(2), the signals are consumed, so that they "
7982 "are no longer pending for the process (i.e., will not be caught by signal "
7983 "handlers, and cannot be accepted using B<sigwaitinfo>(2))."
7984 msgstr ""
7985 "B<read>(2)  が行われた結果、シグナルは消費され、 これらのシグナルはそのプロセ"
7986 "スに対しては処理待ちではなくなる (つまり、シグナルハンドラで捕捉されることも"
7987 "なく、 B<sigwaitinfo>(2)  を使って受け取ることもできなくなる)。"
7988
7989 #. type: Plain text
7990 #: build/C/man2/signalfd.2:139
7991 msgid ""
7992 "If none of the signals in I<mask> is pending for the process, then the "
7993 "B<read>(2)  either blocks until one of the signals in I<mask> is generated "
7994 "for the process, or fails with the error B<EAGAIN> if the file descriptor "
7995 "has been made nonblocking."
7996 msgstr ""
7997 "I<mask> に指定されているシグナルがそのプロセスに対して一つも処理待ちでなけれ"
7998 "ば、 B<read>(2)  は、 I<mask> で指定されたシグナルのうちいずれか一つがそのプ"
7999 "ロセスに対して発生するまで 停止 (block) する、もしくはファイルディスクリプタ"
8000 "が非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
8001
8002 #. type: Plain text
8003 #: build/C/man2/signalfd.2:152
8004 msgid ""
8005 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
8006 "B<poll>(2)  B<POLLIN> flag)  if one or more of the signals in I<mask> is "
8007 "pending for the process."
8008 msgstr ""
8009 "I<mask> に指定されたシグナルのうち一つ以上がそのプロセスに対して処理待ちであ"
8010 "れば、 ファイルディスクリプタは読み出し可能となる (B<select>(2)  の "
8011 "I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
8012
8013 #. type: Plain text
8014 #: build/C/man2/signalfd.2:159
8015 msgid ""
8016 "The signalfd file descriptor also supports the other file-descriptor "
8017 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
8018 msgstr ""
8019 "signalfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
8020 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
8021
8022 #. type: Plain text
8023 #: build/C/man2/signalfd.2:164
8024 msgid ""
8025 "When the file descriptor is no longer required it should be closed.  When "
8026 "all file descriptors associated with the same signalfd object have been "
8027 "closed, the resources for object are freed by the kernel."
8028 msgstr ""
8029 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
8030 "る。 同じ signalfd オブジェクトに関連付けられたファイルディスクリプタが全て "
8031 "クローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
8032
8033 #. type: SS
8034 #: build/C/man2/signalfd.2:164
8035 #, no-wrap
8036 msgid "The signalfd_siginfo structure"
8037 msgstr "signalfd_siginfo 構造体"
8038
8039 #. type: Plain text
8040 #: build/C/man2/signalfd.2:170
8041 msgid ""
8042 "The format of the I<signalfd_siginfo> structure(s) returned by B<read>(2)s "
8043 "from a signalfd file descriptor is as follows:"
8044 msgstr ""
8045 "signalfd ファイルディスクリプタからの B<read>(2)  で返される "
8046 "I<signalfd_siginfo> 構造体のフォーマットは以下の通りである。"
8047
8048 #.  ssi_trapno is unused on most arches
8049 #. type: Plain text
8050 #: build/C/man2/signalfd.2:195
8051 #, no-wrap
8052 msgid ""
8053 "struct signalfd_siginfo {\n"
8054 "    uint32_t ssi_signo;   /* Signal number */\n"
8055 "    int32_t  ssi_errno;   /* Error number (unused) */\n"
8056 "    int32_t  ssi_code;    /* Signal code */\n"
8057 "    uint32_t ssi_pid;     /* PID of sender */\n"
8058 "    uint32_t ssi_uid;     /* Real UID of sender */\n"
8059 "    int32_t  ssi_fd;      /* File descriptor (SIGIO) */\n"
8060 "    uint32_t ssi_tid;     /* Kernel timer ID (POSIX timers)\n"
8061 "    uint32_t ssi_band;    /* Band event (SIGIO) */\n"
8062 "    uint32_t ssi_overrun; /* POSIX timer overrun count */\n"
8063 "    uint32_t ssi_trapno;  /* Trap number that caused signal */\n"
8064 "    int32_t  ssi_status;  /* Exit status or signal (SIGCHLD) */\n"
8065 "    int32_t  ssi_int;     /* Integer sent by sigqueue(3) */\n"
8066 "    uint64_t ssi_ptr;     /* Pointer sent by sigqueue(3) */\n"
8067 "    uint64_t ssi_utime;   /* User CPU time consumed (SIGCHLD) */\n"
8068 "    uint64_t ssi_stime;   /* System CPU time consumed (SIGCHLD) */\n"
8069 "    uint64_t ssi_addr;    /* Address that generated signal\n"
8070 "                             (for hardware-generated signals) */\n"
8071 "    uint8_t  pad[I<X>];      /* Pad size to 128 bytes (allow for\n"
8072 "                              additional fields in the future) */\n"
8073 "};\n"
8074 msgstr ""
8075 "struct signalfd_siginfo {\n"
8076 "struct signalfd_siginfo {\n"
8077 "    uint32_t ssi_signo;   /* シグナル番号 */\n"
8078 "    int32_t  ssi_errno;   /* エラー番号 (未使用) */\n"
8079 "    int32_t  ssi_code;    /* シグナルコード */\n"
8080 "    uint32_t ssi_pid;     /* 送信元の PID */\n"
8081 "    uint32_t ssi_uid;     /* 送信元の実 UID */\n"
8082 "    int32_t  ssi_fd;      /* ファイルディスクリプタ (SIGIO) */\n"
8083 "    uint32_t ssi_tid;     /* カーネルタイマ ID (POSIX タイマ)\n"
8084 "    uint32_t ssi_band;    /* Band イベント (SIGIO) */\n"
8085 "    uint32_t ssi_overrun; /* POSIX タイマのオーバーラン回数 */\n"
8086 "    uint32_t ssi_trapno;  /* シグナルの原因となったトラップ番号 */\n"
8087 "    int32_t  ssi_status;  /* 終了ステータスかシグナル (SIGCHLD) */\n"
8088 "    int32_t  ssi_int;     /* sigqueue(3) から送られた整数 */\n"
8089 "    uint64_t ssi_ptr;     /* sigqueue(3) から送られたポインタ */\n"
8090 "    uint64_t ssi_utime;   /* 消費したユーザ CPU 時間 (SIGCHLD) */\n"
8091 "    uint64_t ssi_stime;   /* 消費したシステム CPU 時間 (SIGCHLD) */\n"
8092 "    uint64_t ssi_addr;    /* シグナルを生成したアドレス\n"
8093 "                             (ハードウェアが生成したシグナルの場合) */\n"
8094 "    uint8_t  pad[I<X>];      /* pad の大きさは 128 バイト\n"
8095 "                             (将来のフィールド追加用の場所の確保) */\n"
8096 "};\n"
8097
8098 #. type: Plain text
8099 #: build/C/man2/signalfd.2:218
8100 msgid ""
8101 "Each of the fields in this structure is analogous to the similarly named "
8102 "field in the I<siginfo_t> structure.  The I<siginfo_t> structure is "
8103 "described in B<sigaction>(2).  Not all fields in the returned "
8104 "I<signalfd_siginfo> structure will be valid for a specific signal; the set "
8105 "of valid fields can be determined from the value returned in the I<ssi_code> "
8106 "field.  This field is the analog of the I<siginfo_t> I<si_code> field; see "
8107 "B<sigaction>(2)  for details."
8108 msgstr ""
8109 "I<signalfd_siginfo> 構造体の各フィールドは、 I<siginfo_t> 構造体の同じような"
8110 "名前のフィールドと同様である。 I<siginfo_t> 構造体については B<sigaction>"
8111 "(2)  に説明がある。 返された I<signalfd_siginfo> 構造体の全てのフィールドがあ"
8112 "るシグナルに対して有効なわけではない。 どのフィールドが有効かは、 "
8113 "I<ssi_code> フィールドで返される値から判定することができる。 このフィールド"
8114 "は I<siginfo_t> の I<si_code> フィールドと同様である。詳細は B<sigaction>"
8115 "(2)  を参照。"
8116
8117 #. type: SS
8118 #: build/C/man2/signalfd.2:218 build/C/man2/timerfd_create.2:268
8119 #, no-wrap
8120 msgid "fork(2) semantics"
8121 msgstr "fork(2) での扱い"
8122
8123 #. type: Plain text
8124 #: build/C/man2/signalfd.2:226
8125 msgid ""
8126 "After a B<fork>(2), the child inherits a copy of the signalfd file "
8127 "descriptor.  A B<read>(2)  from the file descriptor in the child will return "
8128 "information about signals queued to the child."
8129 msgstr ""
8130 "B<fork>(2)  が行われると、子プロセスは signalfd ファイルディスクリプタのコ"
8131 "ピーを 継承する。 子プロセスでこのファイルディスクリプタから B<read>(2)  を行"
8132 "うと、子プロセスに対するキューに入っているシグナルに関する 情報が返される。"
8133
8134 #. type: SS
8135 #: build/C/man2/signalfd.2:226 build/C/man2/timerfd_create.2:280
8136 #, no-wrap
8137 msgid "execve(2) semantics"
8138 msgstr "execve(2) での扱い"
8139
8140 #. type: Plain text
8141 #: build/C/man2/signalfd.2:238
8142 msgid ""
8143 "Just like any other file descriptor, a signalfd file descriptor remains open "
8144 "across an B<execve>(2), unless it has been marked for close-on-exec (see "
8145 "B<fcntl>(2)).  Any signals that were available for reading before the "
8146 "B<execve>(2)  remain available to the newly loaded program.  (This is "
8147 "analogous to traditional signal semantics, where a blocked signal that is "
8148 "pending remains pending across an B<execve>(2).)"
8149 msgstr ""
8150 "他のファイルディスクリプタと全く同様に、 signalfd ファイルディスクリプタも "
8151 "B<execve>(2)  の前後でオープンされたままとなる。但し、そのファイルディスクリ"
8152 "プタに close-on-exec のマーク (B<fcntl>(2)  参照) が付いている場合はクローズ"
8153 "される。 B<execve>(2)  の前に読み出し可能となっていた全てのシグナルは新しく起"
8154 "動されたプログラム でも引き続き読み出し可能である (これは伝統的なシグナルの扱"
8155 "いと同じであり、 処理待ちのブロックされたシグナルは B<execve>(2)  の前後で処"
8156 "理待ちのままとなる)。"
8157
8158 #. type: SS
8159 #: build/C/man2/signalfd.2:238
8160 #, no-wrap
8161 msgid "Thread semantics"
8162 msgstr "スレッドでの扱い"
8163
8164 #. type: Plain text
8165 #: build/C/man2/signalfd.2:248
8166 msgid ""
8167 "The semantics of signalfd file descriptors in a multithreaded program mirror "
8168 "the standard semantics for signals.  In other words, when a thread reads "
8169 "from a signalfd file descriptor, it will read the signals that are directed "
8170 "to the thread itself and the signals that are directed to the process (i.e., "
8171 "the entire thread group).  (A thread will not be able to read signals that "
8172 "are directed to other threads in the process.)"
8173 msgstr ""
8174 "マルチスレッドプログラムにおける signalfd ファイルディスクリプタの扱いは シグ"
8175 "ナルの標準的な扱いと全く同じである。 言い換えると、あるスレッドが signalfd "
8176 "ファイルディスクリプタから 読み出しを行うと、そのスレッド自身宛てのシグナルと"
8177 "プロセス (すなわち スレッドグループ全体) 宛てのシグナルが読み出される。 (ス"
8178 "レッドは同じプロセスの他のスレッド宛てのシグナルを読み出すことはできない。)"
8179
8180 #. type: Plain text
8181 #: build/C/man2/signalfd.2:262
8182 msgid ""
8183 "On success, B<signalfd>()  returns a signalfd file descriptor; this is "
8184 "either a new file descriptor (if I<fd> was -1), or I<fd> if I<fd> was a "
8185 "valid signalfd file descriptor.  On error, -1 is returned and I<errno> is "
8186 "set to indicate the error."
8187 msgstr ""
8188 "成功すると、 B<signalfd>()  は signalfd ファイルディスクリプタを返す。 返され"
8189 "るファイルディスクリプタは、 I<fd> が -1 の場合は新規のファイルディスクリプタ"
8190 "であり、 I<fd> が有効な signalfd ファイルディスクリプタだった場合は I<fd> 自"
8191 "身である。 エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
8192
8193 #. type: TP
8194 #: build/C/man2/signalfd.2:263 build/C/man2/timerfd_create.2:337
8195 #, no-wrap
8196 msgid "B<EBADF>"
8197 msgstr "B<EBADF>"
8198
8199 #. type: Plain text
8200 #: build/C/man2/signalfd.2:268
8201 msgid "The I<fd> file descriptor is not a valid file descriptor."
8202 msgstr "ファイルディスクリプタ I<fd> が有効なファイルディスクリプタでない。"
8203
8204 #.  or, the
8205 #.  .I sizemask
8206 #.  argument is not equal to
8207 #.  .IR sizeof(sigset_t) ;
8208 #. type: Plain text
8209 #: build/C/man2/signalfd.2:276
8210 msgid "I<fd> is not a valid signalfd file descriptor."
8211 msgstr "I<fd> が有効な signalfd ファイルディスクリプタではない。"
8212
8213 #. type: Plain text
8214 #: build/C/man2/signalfd.2:283 build/C/man2/timerfd_create.2:319
8215 msgid ""
8216 "I<flags> is invalid; or, in Linux 2.6.26 or earlier, I<flags> is nonzero."
8217 msgstr ""
8218 "I<flags> が無効である。もしくは、Linux 2.6.26 以前の場合には I<flags> が 0 以"
8219 "外である。"
8220
8221 #. type: Plain text
8222 #: build/C/man2/signalfd.2:286 build/C/man2/timerfd_create.2:322
8223 msgid "The per-process limit of open file descriptors has been reached."
8224 msgstr ""
8225 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
8226
8227 #. type: Plain text
8228 #: build/C/man2/signalfd.2:296
8229 msgid "There was insufficient memory to create a new signalfd file descriptor."
8230 msgstr ""
8231 "新しい signalfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
8232
8233 #.  signalfd() is in glibc 2.7, but reportedly does not build
8234 #. type: Plain text
8235 #: build/C/man2/signalfd.2:304
8236 msgid ""
8237 "B<signalfd>()  is available on Linux since kernel 2.6.22.  Working support "
8238 "is provided in glibc since version 2.8.  The B<signalfd4>()  system call "
8239 "(see NOTES) is available on Linux since kernel 2.6.27."
8240 msgstr ""
8241 "B<signalfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
8242 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<signalfd4>()  "
8243 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
8244 "る。"
8245
8246 #. type: Plain text
8247 #: build/C/man2/signalfd.2:309
8248 msgid "B<signalfd>()  and B<signalfd4>()  are Linux-specific."
8249 msgstr "B<signalfd>()  と B<signalfd4>()  は Linux 固有である。"
8250
8251 #. type: Plain text
8252 #: build/C/man2/signalfd.2:319
8253 msgid ""
8254 "The underlying Linux system call requires an additional argument, I<size_t "
8255 "sizemask>, which specifies the size of the I<mask> argument.  The glibc "
8256 "B<signalfd>()  wrapper function does not include this argument, since it "
8257 "provides the required value for the underlying system call."
8258 msgstr ""
8259 "実際の Linux のシステムコールでは I<size_t sizemask> という引き数が追加で必要"
8260 "である。この引き数で I<mask> のサイズを指定する。 glibc の B<signalfd>()  "
8261 "ラッパー関数にはこの引き数は含まれず、 ラッパー関数が必要な値を計算して内部で"
8262 "呼び出すシステムコールに提供する。"
8263
8264 #. type: Plain text
8265 #: build/C/man2/signalfd.2:333
8266 msgid ""
8267 "A process can create multiple signalfd file descriptors.  This makes it "
8268 "possible to accept different signals on different file descriptors.  (This "
8269 "may be useful if monitoring the file descriptors using B<select>(2), B<poll>"
8270 "(2), or B<epoll>(7): the arrival of different signals will make different "
8271 "descriptors ready.)  If a signal appears in the I<mask> of more than one of "
8272 "the file descriptors, then occurrences of that signal can be read (once) "
8273 "from any one of the descriptors."
8274 msgstr ""
8275 "一つのプロセスは複数の signalfd ファイルディスクリプタを生成することができ"
8276 "る。 これにより、異なるファイルディスクリプタで異なるシグナルを受け取ること"
8277 "が できる (この機能は B<select>(2), B<poll>(2), B<epoll>(7)  を使ってファイル"
8278 "ディスクリプタを監視する場合に有用かもしれない。 異なるシグナルが到着すると、"
8279 "異なるファイルディスクリプタが利用可能に なるからだ)。 一つのシグナルが二つ以"
8280 "上のファイルディスクリプタの I<mask> に含まれている場合、そのシグナルの発生は"
8281 "そのシグナルを I<mask> に含むファイルディスクリプタのうちいずれか一つから読み"
8282 "出すことができる。"
8283
8284 #. type: Plain text
8285 #: build/C/man2/signalfd.2:349
8286 msgid ""
8287 "There are two underlying Linux system calls: B<signalfd>()  and the more "
8288 "recent B<signalfd4>().  The former system call does not implement a I<flags> "
8289 "argument.  The latter system call implements the I<flags> values described "
8290 "above.  Starting with glibc 2.9, the B<signalfd>()  wrapper function will "
8291 "use B<signalfd4>()  where it is available."
8292 msgstr ""
8293 "下層にある Linux システムコールは二種類あり、 B<signalfd>()  と、もっと新し"
8294 "い B<signalfd4>()  である。 B<signalfd>()  は I<flags> 引き数を実装していな"
8295 "い。 B<signalfd4>()  では上記の値の I<flags> が実装されている。 glibc 2.9 以"
8296 "降では、 B<signalfd>()  のラッパー関数は、 B<signalfd4>()  が利用可能であれ"
8297 "ば、これを使用する。"
8298
8299 #.  The fix also was put into 2.6.24.5
8300 #. type: Plain text
8301 #: build/C/man2/signalfd.2:357
8302 msgid ""
8303 "In kernels before 2.6.25, the I<ssi_ptr> and I<ssi_int> fields are not "
8304 "filled in with the data accompanying a signal sent by B<sigqueue>(3)."
8305 msgstr ""
8306 "カーネル 2.6.25 より前では、 B<sigqueue>(3)  により送信されたシグナルと一緒に"
8307 "渡されるデータでは、フィールド I<ssi_ptr> と I<ssi_int> は設定されない。"
8308
8309 #. type: Plain text
8310 #: build/C/man2/signalfd.2:367
8311 msgid ""
8312 "The program below accepts the signals B<SIGINT> and B<SIGQUIT> via a "
8313 "signalfd file descriptor.  The program terminates after accepting a "
8314 "B<SIGQUIT> signal.  The following shell session demonstrates the use of the "
8315 "program:"
8316 msgstr ""
8317 "下記のプログラムは、シグナル B<SIGINT> と B<SIGQUIT> を signalfd ファイルディ"
8318 "スクリプタ経由で受信する。 シグナル B<SIGQUIT> 受信後にプログラムは終了す"
8319 "る。 以下に示すシェルセッションにこのプログラムの使い方を示す。"
8320
8321 #. type: Plain text
8322 #: build/C/man2/signalfd.2:378
8323 #, no-wrap
8324 msgid ""
8325 "$B< ./signalfd_demo>\n"
8326 "B<^C>                   # Control-C generates SIGINT\n"
8327 "Got SIGINT\n"
8328 "B<^C>\n"
8329 "Got SIGINT\n"
8330 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
8331 "Got SIGQUIT\n"
8332 "$\n"
8333 msgstr ""
8334 "$B< ./signalfd_demo>\n"
8335 "B<^C>                   # Control-C generates SIGINT\n"
8336 "Got SIGINT\n"
8337 "B<^C>\n"
8338 "Got SIGINT\n"
8339 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
8340 "Got SIGQUIT\n"
8341 "$\n"
8342
8343 #. type: Plain text
8344 #: build/C/man2/signalfd.2:388
8345 #, no-wrap
8346 msgid ""
8347 "#include E<lt>sys/signalfd.hE<gt>\n"
8348 "#include E<lt>signal.hE<gt>\n"
8349 "#include E<lt>unistd.hE<gt>\n"
8350 "#include E<lt>stdlib.hE<gt>\n"
8351 "#include E<lt>stdio.hE<gt>\n"
8352 msgstr ""
8353 "#include E<lt>sys/signalfd.hE<gt>\n"
8354 "#include E<lt>signal.hE<gt>\n"
8355 "#include E<lt>unistd.hE<gt>\n"
8356 "#include E<lt>stdlib.hE<gt>\n"
8357 "#include E<lt>stdio.hE<gt>\n"
8358
8359 #. type: Plain text
8360 #: build/C/man2/signalfd.2:399
8361 #, no-wrap
8362 msgid ""
8363 "int\n"
8364 "main(int argc, char *argv[])\n"
8365 "{\n"
8366 "    sigset_t mask;\n"
8367 "    int sfd;\n"
8368 "    struct signalfd_siginfo fdsi;\n"
8369 "    ssize_t s;\n"
8370 msgstr ""
8371 "int\n"
8372 "main(int argc, char *argv[])\n"
8373 "{\n"
8374 "    sigset_t mask;\n"
8375 "    int sfd;\n"
8376 "    struct signalfd_siginfo fdsi;\n"
8377 "    ssize_t s;\n"
8378
8379 #. type: Plain text
8380 #: build/C/man2/signalfd.2:403
8381 #, no-wrap
8382 msgid ""
8383 "    sigemptyset(&mask);\n"
8384 "    sigaddset(&mask, SIGINT);\n"
8385 "    sigaddset(&mask, SIGQUIT);\n"
8386 msgstr ""
8387 "    sigemptyset(&mask);\n"
8388 "    sigaddset(&mask, SIGINT);\n"
8389 "    sigaddset(&mask, SIGQUIT);\n"
8390
8391 #. type: Plain text
8392 #: build/C/man2/signalfd.2:406
8393 #, no-wrap
8394 msgid ""
8395 "    /* Block signals so that they aren\\(aqt handled\n"
8396 "       according to their default dispositions */\n"
8397 msgstr ""
8398 "    /* Block signals so that they aren\\(aqt handled\n"
8399 "       according to their default dispositions */\n"
8400
8401 #. type: Plain text
8402 #: build/C/man2/signalfd.2:409
8403 #, no-wrap
8404 msgid ""
8405 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8406 "        handle_error(\"sigprocmask\");\n"
8407 msgstr ""
8408 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8409 "        handle_error(\"sigprocmask\");\n"
8410
8411 #. type: Plain text
8412 #: build/C/man2/signalfd.2:413
8413 #, no-wrap
8414 msgid ""
8415 "    sfd = signalfd(-1, &mask, 0);\n"
8416 "    if (sfd == -1)\n"
8417 "        handle_error(\"signalfd\");\n"
8418 msgstr ""
8419 "    sfd = signalfd(-1, &mask, 0);\n"
8420 "    if (sfd == -1)\n"
8421 "        handle_error(\"signalfd\");\n"
8422
8423 #. type: Plain text
8424 #: build/C/man2/signalfd.2:418
8425 #, no-wrap
8426 msgid ""
8427 "    for (;;) {\n"
8428 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8429 "        if (s != sizeof(struct signalfd_siginfo))\n"
8430 "            handle_error(\"read\");\n"
8431 msgstr ""
8432 "    for (;;) {\n"
8433 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8434 "        if (s != sizeof(struct signalfd_siginfo))\n"
8435 "            handle_error(\"read\");\n"
8436
8437 #. type: Plain text
8438 #: build/C/man2/signalfd.2:429
8439 #, no-wrap
8440 msgid ""
8441 "        if (fdsi.ssi_signo == SIGINT) {\n"
8442 "            printf(\"Got SIGINT\\en\");\n"
8443 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8444 "            printf(\"Got SIGQUIT\\en\");\n"
8445 "            exit(EXIT_SUCCESS);\n"
8446 "        } else {\n"
8447 "            printf(\"Read unexpected signal\\en\");\n"
8448 "        }\n"
8449 "    }\n"
8450 "}\n"
8451 msgstr ""
8452 "        if (fdsi.ssi_signo == SIGINT) {\n"
8453 "            printf(\"Got SIGINT\\en\");\n"
8454 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8455 "            printf(\"Got SIGQUIT\\en\");\n"
8456 "            exit(EXIT_SUCCESS);\n"
8457 "        } else {\n"
8458 "            printf(\"Read unexpected signal\\en\");\n"
8459 "        }\n"
8460 "    }\n"
8461 "}\n"
8462
8463 #. type: Plain text
8464 #: build/C/man2/signalfd.2:443
8465 msgid ""
8466 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8467 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8468 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8469 msgstr ""
8470 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8471 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8472 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8473
8474 #. type: TH
8475 #: build/C/man3/sigpause.3:23
8476 #, no-wrap
8477 msgid "SIGPAUSE"
8478 msgstr "SIGPAUSE"
8479
8480 #. type: TH
8481 #: build/C/man3/sigpause.3:23
8482 #, no-wrap
8483 msgid "2010-09-12"
8484 msgstr "2010-09-12"
8485
8486 #. type: Plain text
8487 #: build/C/man3/sigpause.3:26
8488 msgid "sigpause - atomically release blocked signals and wait for interrupt"
8489 msgstr "sigpause - ブロックされたシグナルをアトミックに解放して割り込みを待つ"
8490
8491 #. type: Plain text
8492 #: build/C/man3/sigpause.3:31
8493 #, no-wrap
8494 msgid "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8495 msgstr "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8496
8497 #. type: Plain text
8498 #: build/C/man3/sigpause.3:33
8499 #, no-wrap
8500 msgid "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8501 msgstr "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8502
8503 #. type: Plain text
8504 #: build/C/man3/sigpause.3:39
8505 msgid "Don't use this function.  Use B<sigsuspend>(2)  instead."
8506 msgstr "この関数を使わないこと。 代わりに B<sigsuspend>(2)  を使うこと。"
8507
8508 #. type: Plain text
8509 #: build/C/man3/sigpause.3:46
8510 msgid ""
8511 "The function B<sigpause>()  is designed to wait for some signal.  It changes "
8512 "the process's signal mask (set of blocked signals), and then waits for a "
8513 "signal to arrive.  Upon arrival of a signal, the original signal mask is "
8514 "restored."
8515 msgstr ""
8516 "関数 B<sigpause>()  はシグナルを待つように設計されている。 この関数はプロセス"
8517 "のシグナルマスク (ブロックされたシグナルのセット) を変更し、 シグナルが到着す"
8518 "るのを待つ。 シグナルが到着すると、シグナルマスクは元に戻される。"
8519
8520 #. type: Plain text
8521 #: build/C/man3/sigpause.3:54
8522 msgid ""
8523 "If B<sigpause>()  returns, it was interrupted by a signal and the return "
8524 "value is -1 with I<errno> set to B<EINTR>."
8525 msgstr ""
8526 "B<sigpause>()  が返った場合、この関数はシグナルによって割り込まれている。 返"
8527 "り値は -1 で、 I<errno> は B<EINTR> に設定される。"
8528
8529 #. type: Plain text
8530 #: build/C/man3/sigpause.3:58
8531 msgid "The System V version of B<sigpause>()  is standardized in POSIX.1-2001."
8532 msgstr "System V 版の B<sigpause>()  は POSIX.1-2001 で標準化されている。"
8533
8534 #.  __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
8535 #. type: Plain text
8536 #: build/C/man3/sigpause.3:75
8537 msgid ""
8538 "The classical BSD version of this function appeared in 4.2BSD.  It sets the "
8539 "process's signal mask to I<sigmask>.  UNIX 95 standardized the incompatible "
8540 "System V version of this function, which removes only the specified signal "
8541 "I<sig> from the process's signal mask.  The unfortunate situation with two "
8542 "incompatible functions with the same name was solved by the B<\\%sigsuspend>"
8543 "(2)  function, that takes a I<sigset_t *> argument (instead of an I<int>)."
8544 msgstr ""
8545 "この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナル"
8546 "マスクを I<sigmask> に設定する。 UNIX 95 では BSD 版と互換性のない System V "
8547 "版のこの関数が標準化された。 UNIX 95 版は、指定されたシグナル I<sig> をプロセ"
8548 "スのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2 つの関数"
8549 "があるという不幸な事態は、 B<\\%sigsuspend>(2)  関数によって解消された。 この"
8550 "関数は (I<int> の代わりに)  B<sigset_t *> 引き数をとる。"
8551
8552 #. type: Plain text
8553 #: build/C/man3/sigpause.3:78
8554 msgid ""
8555 "On Linux, this routine is a system call only on the Sparc (sparc64)  "
8556 "architecture."
8557 msgstr ""
8558 "Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコー"
8559 "ルとなっている。"
8560
8561 #. type: Plain text
8562 #: build/C/man3/sigpause.3:80
8563 msgid "Libc4 and libc5 only know about the BSD version."
8564 msgstr "libc4 と libc5 には BSD 版しかない。"
8565
8566 #.  For the BSD version, one usually uses a zero
8567 #.  .I sigmask
8568 #.  to indicate that no signals are to be blocked.
8569 #. type: Plain text
8570 #: build/C/man3/sigpause.3:96
8571 msgid ""
8572 "Glibc uses the BSD version if the B<_BSD_SOURCE> feature test macro is "
8573 "defined and none of B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, "
8574 "B<_GNU_SOURCE>, or B<_SVID_SOURCE> is defined.  Otherwise, the System V "
8575 "version is used."
8576 msgstr ""
8577 "機能検査マクロ B<_BSD_SOURCE> が定義され、 B<_POSIX_SOURCE>, "
8578 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, B<_SVID_SOURCE> のいず"
8579 "れも定義されていない場合、 glibc は BSD 版を使う。 それ以外の場合には、"
8580 "System V 版を使用する。"
8581
8582 #. type: Plain text
8583 #: build/C/man3/sigpause.3:104
8584 msgid ""
8585 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8586 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8587 msgstr ""
8588 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8589 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8590
8591 #. type: TH
8592 #: build/C/man2/sigpending.2:27
8593 #, no-wrap
8594 msgid "SIGPENDING"
8595 msgstr "SIGPENDING"
8596
8597 #. type: TH
8598 #: build/C/man2/sigpending.2:27
8599 #, no-wrap
8600 msgid "2008-10-04"
8601 msgstr "2008-10-04"
8602
8603 #. type: Plain text
8604 #: build/C/man2/sigpending.2:30
8605 msgid "sigpending - examine pending signals"
8606 msgstr "sigpending - 処理待ちのシグナルの検査"
8607
8608 #. type: Plain text
8609 #: build/C/man2/sigpending.2:34
8610 msgid "B<int sigpending(sigset_t *>I<set>B<);>"
8611 msgstr "B<int sigpending(sigset_t *>I<set>B<);>"
8612
8613 #. type: Plain text
8614 #: build/C/man2/sigpending.2:43
8615 msgid ""
8616 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8617 "_POSIX_SOURCE"
8618 msgstr ""
8619 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8620 "_POSIX_SOURCE"
8621
8622 #. type: Plain text
8623 #: build/C/man2/sigpending.2:51
8624 msgid ""
8625 "B<sigpending>()  returns the set of signals that are pending for delivery to "
8626 "the calling thread (i.e., the signals which have been raised while "
8627 "blocked).  The mask of pending signals is returned in I<set>."
8628 msgstr ""
8629 "B<sigpending>()  は、呼び出し元のスレッドへの配送を待っている (pending) シグ"
8630 "ナル集合 (すなわち、禁止中に発生したシグナル) を返す。 処理待ちのシグナルのマ"
8631 "スクが I<set> に格納される。"
8632
8633 #. type: Plain text
8634 #: build/C/man2/sigpending.2:54
8635 msgid "B<sigpending>()  returns 0 on success and -1 on error."
8636 msgstr "B<sigpending>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8637
8638 #. type: Plain text
8639 #: build/C/man2/sigpending.2:59
8640 msgid ""
8641 "I<set> points to memory which is not a valid part of the process address "
8642 "space."
8643 msgstr ""
8644 "I<set> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
8645
8646 #. type: Plain text
8647 #: build/C/man2/sigpending.2:70
8648 msgid ""
8649 "The set of signals that is pending for a thread is the union of the set of "
8650 "signals that is pending for that thread and the set of signals that is "
8651 "pending for the process as a whole; see B<signal>(7)."
8652 msgstr ""
8653 "あるスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体への処理待ち"
8654 "のシグナル集合と、プロセス全体への処理待ちの シグナル集合をあわせたものであ"
8655 "る。 B<signal>(7)  参照。"
8656
8657 #. type: Plain text
8658 #: build/C/man2/sigpending.2:82
8659 msgid ""
8660 "In versions of glibc up to and including 2.2.1, there is a bug in the "
8661 "wrapper function for B<sigpending>()  which means that information about "
8662 "pending real-time signals is not correctly returned."
8663 msgstr ""
8664 "バージョン 2.2.1 以前の glibc では、 B<sigpending>()  のラッパー関数に、処理"
8665 "待ちのリアルタイムシグナルに関する情報が 正しく返されないというバグがある。"
8666
8667 #. type: Plain text
8668 #: build/C/man2/sigpending.2:90
8669 msgid ""
8670 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8671 "(2), B<sigsetops>(3), B<signal>(7)"
8672 msgstr ""
8673 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8674 "(2), B<sigsetops>(3), B<signal>(7)"
8675
8676 #. type: TH
8677 #: build/C/man2/sigprocmask.2:27
8678 #, no-wrap
8679 msgid "SIGPROCMASK"
8680 msgstr "SIGPROCMASK"
8681
8682 #. type: TH
8683 #: build/C/man2/sigprocmask.2:27
8684 #, fuzzy, no-wrap
8685 #| msgid "2009-03-15"
8686 msgid "2012-04-15"
8687 msgstr "2009-03-15"
8688
8689 #. type: Plain text
8690 #: build/C/man2/sigprocmask.2:30
8691 msgid "sigprocmask - examine and change blocked signals"
8692 msgstr "sigprocmask - 禁止するシグナルの確認と変更"
8693
8694 #. type: Plain text
8695 #: build/C/man2/sigprocmask.2:35
8696 msgid ""
8697 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8698 "*>I<oldset>B<);>"
8699 msgstr ""
8700 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8701 "*>I<oldset>B<);>"
8702
8703 #. type: Plain text
8704 #: build/C/man2/sigprocmask.2:44
8705 msgid ""
8706 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8707 "_POSIX_SOURCE"
8708 msgstr ""
8709 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8710 "_POSIX_SOURCE"
8711
8712 #. type: Plain text
8713 #: build/C/man2/sigprocmask.2:53
8714 msgid ""
8715 "B<sigprocmask>()  is used to fetch and/or change the signal mask of the "
8716 "calling thread.  The signal mask is the set of signals whose delivery is "
8717 "currently blocked for the caller (see also B<signal>(7)  for more details)."
8718 msgstr ""
8719 "B<sigprocmask>()  を使うと、呼び出したスレッドのシグナルマスクの取得/変更がで"
8720 "きる。 シグナルマスクは、呼び出し元に対して現在配送が禁止されているシグナル"
8721 "の 集合のことである (詳細については B<signal>(7)  も参照のこと)。"
8722
8723 #. type: Plain text
8724 #: build/C/man2/sigprocmask.2:57
8725 msgid ""
8726 "The behavior of the call is dependent on the value of I<how>, as follows."
8727 msgstr "このコールの動作は I<how> の値によって決まる:"
8728
8729 #. type: TP
8730 #: build/C/man2/sigprocmask.2:57
8731 #, no-wrap
8732 msgid "B<SIG_BLOCK>"
8733 msgstr "B<SIG_BLOCK>"
8734
8735 #. type: Plain text
8736 #: build/C/man2/sigprocmask.2:62
8737 msgid ""
8738 "The set of blocked signals is the union of the current set and the I<set> "
8739 "argument."
8740 msgstr ""
8741 "禁止されたシグナルの集合は現在の値と I<set> 引き数を結合したものとなる。"
8742
8743 #. type: TP
8744 #: build/C/man2/sigprocmask.2:62
8745 #, no-wrap
8746 msgid "B<SIG_UNBLOCK>"
8747 msgstr "B<SIG_UNBLOCK>"
8748
8749 #. type: Plain text
8750 #: build/C/man2/sigprocmask.2:68
8751 msgid ""
8752 "The signals in I<set> are removed from the current set of blocked signals.  "
8753 "It is permissible to attempt to unblock a signal which is not blocked."
8754 msgstr ""
8755 "現在禁止されているシグナルの集合から I<set> にあるシグナルを取り除く。禁止さ"
8756 "れていないシグナルを取り除こうと することも認められている。"
8757
8758 #. type: TP
8759 #: build/C/man2/sigprocmask.2:68
8760 #, no-wrap
8761 msgid "B<SIG_SETMASK>"
8762 msgstr "B<SIG_SETMASK>"
8763
8764 #. type: Plain text
8765 #: build/C/man2/sigprocmask.2:72
8766 msgid "The set of blocked signals is set to the argument I<set>."
8767 msgstr "禁止されているシグナルの集合に I<set> 引き数を設定する。"
8768
8769 #. type: Plain text
8770 #: build/C/man2/sigprocmask.2:77
8771 msgid ""
8772 "If I<oldset> is non-NULL, the previous value of the signal mask is stored in "
8773 "I<oldset>."
8774 msgstr ""
8775 "I<oldset> が NULL でなければ、シグナルマスクの今までの値を I<oldset> に格納す"
8776 "る。"
8777
8778 #. type: Plain text
8779 #: build/C/man2/sigprocmask.2:86
8780 msgid ""
8781 "If I<set> is NULL, then the signal mask is unchanged (i.e., I<how> is "
8782 "ignored), but the current value of the signal mask is nevertheless returned "
8783 "in I<oldset> (if it is not NULL)."
8784 msgstr ""
8785 "I<set> が NULL であれば、シグナルマスクは変更されない (すなわち、 I<how> は無"
8786 "視される)。 I<set> の値にかかわらず、現在のシグナルマスクの値は I<oldset> に"
8787 "入れて返される (但し、 I<oldset> が NULL でない場合)。"
8788
8789 #. type: Plain text
8790 #: build/C/man2/sigprocmask.2:91
8791 msgid ""
8792 "The use of B<sigprocmask>()  is unspecified in a multithreaded process; see "
8793 "B<pthread_sigmask>(3)."
8794 msgstr ""
8795 "マルチスレッドのプロセスで B<sigprocmask>()  を使用した場合の動作は規定されて"
8796 "いない。 B<pthread_sigmask>(3)  を参照のこと。"
8797
8798 #. type: Plain text
8799 #: build/C/man2/sigprocmask.2:94
8800 msgid "B<sigprocmask>()  returns 0 on success and -1 on error."
8801 msgstr "B<sigprocmask>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8802
8803 #. type: Plain text
8804 #: build/C/man2/sigprocmask.2:102
8805 #, fuzzy
8806 #| msgid ""
8807 #| "Either I<ss> or I<oss> is not NULL and points to an area outside of the "
8808 #| "process's address space."
8809 msgid ""
8810 "the I<set> or I<oldset> argument points outside the process's allocated "
8811 "address space."
8812 msgstr ""
8813 "I<ss> または I<oss> のどちらが、NULL 以外で、 かつプロセスのアドレス空間の外"
8814 "を指している。"
8815
8816 #. type: Plain text
8817 #: build/C/man2/sigprocmask.2:107
8818 #, fuzzy
8819 #| msgid "B<EINVAL> The value specified in I<how> was invalid."
8820 msgid "The value specified in I<how> was invalid."
8821 msgstr "B<EINVAL> I<how> に指定された値が有効ではない。"
8822
8823 #. type: Plain text
8824 #: build/C/man2/sigprocmask.2:113
8825 msgid ""
8826 "It is not possible to block B<SIGKILL> or B<SIGSTOP>.  Attempts to do so are "
8827 "silently ignored."
8828 msgstr ""
8829 "B<SIGKILL> や B<SIGSTOP> を禁止することはできない。 禁止しようとしても黙って"
8830 "無視される。"
8831
8832 #. type: Plain text
8833 #: build/C/man2/sigprocmask.2:115
8834 msgid "Each of the threads in a process has its own signal mask."
8835 msgstr "プロセス内の各スレッドはそれぞれ専用のシグナルマスクを持つ。"
8836
8837 #. type: Plain text
8838 #: build/C/man2/sigprocmask.2:135
8839 msgid ""
8840 "If B<SIGBUS>, B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> are generated while they "
8841 "are blocked, the result is undefined, unless the signal was generated by "
8842 "B<kill>(2), B<sigqueue>(3), or B<raise>(3)."
8843 msgstr ""
8844 "シグナル B<SIGBUS>, B<SIGFPE>, B<SIGILL>, B<SIGSEGV> が禁止されている間に生成"
8845 "された場合で、 そのシグナルが B<kill>(2), B<sigqueue>(3), B<raise>(3)  によっ"
8846 "て生成されたものでないときには、 その後の動作は未定義である。"
8847
8848 #. type: Plain text
8849 #: build/C/man2/sigprocmask.2:150
8850 msgid ""
8851 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8852 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8853 "B<signal>(7)"
8854 msgstr ""
8855 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8856 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8857 "B<signal>(7)"
8858
8859 #. type: TH
8860 #: build/C/man3/sigqueue.3:26
8861 #, no-wrap
8862 msgid "SIGQUEUE"
8863 msgstr "SIGQUEUE"
8864
8865 #. type: TH
8866 #: build/C/man3/sigqueue.3:26
8867 #, fuzzy, no-wrap
8868 #| msgid "2009-03-15"
8869 msgid "2012-03-25"
8870 msgstr "2009-03-15"
8871
8872 #. type: Plain text
8873 #: build/C/man3/sigqueue.3:29
8874 #, fuzzy
8875 #| msgid "sigqueue, rt_sigqueueinfo - queue a signal and data to a process"
8876 msgid "sigqueue - queue a signal and data to a process"
8877 msgstr "sigqueue, rt_sigqueueinfo - シグナルとデータをプロセスに送る"
8878
8879 #. type: Plain text
8880 #: build/C/man3/sigqueue.3:33
8881 msgid ""
8882 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8883 ">I<value>B<);>"
8884 msgstr ""
8885 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8886 ">I<value>B<);>"
8887
8888 #. type: Plain text
8889 #: build/C/man3/sigqueue.3:41
8890 msgid "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8891 msgstr "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8892
8893 #. type: Plain text
8894 #: build/C/man3/sigqueue.3:53
8895 msgid ""
8896 "B<sigqueue>()  sends the signal specified in I<sig> to the process whose PID "
8897 "is given in I<pid>.  The permissions required to send a signal are the same "
8898 "as for B<kill>(2).  As with B<kill>(2), the null signal (0) can be used to "
8899 "check if a process with a given PID exists."
8900 msgstr ""
8901 "B<sigqueue>()  は I<sig> で指定されたシグナルを、PID が I<pid> であるプロセス"
8902 "に送る。 シグナルを送るのに必要な権限は B<kill>(2)  と同じである。 B<kill>"
8903 "(2)  と同様に、ヌル・シグナル (0) を使って 指定した PID のプロセスが存在する"
8904 "かをチェックすることができる。"
8905
8906 #. type: Plain text
8907 #: build/C/man3/sigqueue.3:58
8908 msgid ""
8909 "The I<value> argument is used to specify an accompanying item of data "
8910 "(either an integer or a pointer value) to be sent with the signal, and has "
8911 "the following type:"
8912 msgstr ""
8913 "I<value> 引き数はシグナルと一緒に送るデータの付属アイテムを指定する。 "
8914 "I<value> は (整数またはポインタの値であり) 以下のような型である。"
8915
8916 #. type: Plain text
8917 #: build/C/man3/sigqueue.3:65
8918 #, no-wrap
8919 msgid ""
8920 "union sigval {\n"
8921 "    int   sival_int;\n"
8922 "    void *sival_ptr;\n"
8923 "};\n"
8924 msgstr ""
8925 "union sigval {\n"
8926 "    int   sival_int;\n"
8927 "    void *sival_ptr;\n"
8928 "};\n"
8929
8930 #. type: Plain text
8931 #: build/C/man3/sigqueue.3:81
8932 msgid ""
8933 "If the receiving process has installed a handler for this signal using the "
8934 "B<SA_SIGINFO> flag to B<sigaction>(2), then it can obtain this data via the "
8935 "I<si_value> field of the I<siginfo_t> structure passed as the second "
8936 "argument to the handler.  Furthermore, the I<si_code> field of that "
8937 "structure will be set to B<SI_QUEUE>."
8938 msgstr ""
8939 "受取先のプロセスに、このシグナルに対するハンドラを (B<sigaction>(2)  に "
8940 "B<SA_SIGINFO> を指定して) インストールしておくと、 そのハンドラの第 2 引き数"
8941 "に渡される I<siginfo_t> 構造体の I<si_value> フィールドによって、このデータを"
8942 "取得できる。 さらに、この構造体の I<si_code> フィールドは B<SI_QUEUE> に設定"
8943 "される。"
8944
8945 #. type: Plain text
8946 #: build/C/man3/sigqueue.3:89
8947 msgid ""
8948 "On success, B<sigqueue>()  returns 0, indicating that the signal was "
8949 "successfully queued to the receiving process.  Otherwise -1 is returned and "
8950 "I<errno> is set to indicate the error."
8951 msgstr ""
8952 "成功した場合、 B<sigqueue>()  は 0 を返す。 これは受け取り側プロセスの待ち行"
8953 "列に シグナルが正しく入れられたことを示す。 失敗した場合は -1 が返され、 "
8954 "I<errno> がエラーを表す値に設定される。"
8955
8956 #. type: Plain text
8957 #: build/C/man3/sigqueue.3:100
8958 msgid "I<sig> was invalid."
8959 msgstr "I<sig> が不正である。"
8960
8961 #. type: Plain text
8962 #: build/C/man3/sigqueue.3:106
8963 msgid ""
8964 "The process does not have permission to send the signal to the receiving "
8965 "process.  For the required permissions, see B<kill>(2)."
8966 msgstr ""
8967 "このプロセスには、受け取り側プロセスにシグナルを送る権限がない。 必要な権限に"
8968 "ついては、 B<kill>(2)  を参照すること。"
8969
8970 #. type: Plain text
8971 #: build/C/man3/sigqueue.3:110
8972 msgid "No process has a PID matching I<pid>."
8973 msgstr "I<pid> にマッチする PID のプロセスがない。"
8974
8975 #. type: Plain text
8976 #: build/C/man3/sigqueue.3:112
8977 msgid "This system call first appeared in Linux 2.2."
8978 msgstr "このシステムコールは Linux 2.2 で初めて登場した。"
8979
8980 #. type: Plain text
8981 #: build/C/man3/sigqueue.3:122
8982 msgid ""
8983 "If this function results in the sending of a signal to the process that "
8984 "invoked it, and that signal was not blocked by the calling thread, and no "
8985 "other threads were willing to handle this signal (either by having it "
8986 "unblocked, or by waiting for it using B<sigwait>(3)), then at least some "
8987 "signal must be delivered to this thread before this function returns."
8988 msgstr ""
8989 "この関数を呼び出したプロセスにこの関数がシグナルを送ったときに、 シグナルが呼"
8990 "び出し側スレッドにブロックされず、 かつ (シグナルがブロックされなかった、また"
8991 "は B<sigwait>(3)  を使用するのを待っていることにより)  このシグナルを扱うス"
8992 "レッドが何もない場合は、 この関数がリターンする前に、少なくとも そのスレッド"
8993 "に対してシグナルが配送されていなければならない。"
8994
8995 #. type: Plain text
8996 #: build/C/man3/sigqueue.3:137
8997 msgid ""
8998 "On Linux, this function is implemented using the B<rt_sigqueueinfo>(2)  "
8999 "system call.  The system call differs in its third argument, which is the "
9000 "I<siginfo_t> structure that will be supplied to the receiving process's "
9001 "signal handler or returned by the receiving process's B<sigtimedwait>(2)  "
9002 "call.  Inside the glibc B<sigqueue>()  wrapper, this argument, I<uinfo>, is "
9003 "initialized as follows:"
9004 msgstr ""
9005 "Linux では、この関数は B<rt_sigqueueinfo>(2)  システムコールを使って実装され"
9006 "ている。 両者には 3 番目の引き数に違いがあり、 B<rt_sigqueueinfo>(2)  では 3 "
9007 "番目の引き数は I<siginfo_t> 構造体である。 I<siginfo_t> 構造体は、シグナルを"
9008 "受信するプロセスのシグナルハンドラに渡されたり、 シグナル受信プロセスの "
9009 "B<sigtimedwait>(2)  システムコールから返されたりする。 glibc の B<sigqueue>"
9010 "()  ラッパー関数内部では、 この引き数 I<uinfo> は以下のように初期化される。"
9011
9012 #. type: Plain text
9013 #: build/C/man3/sigqueue.3:145
9014 #, no-wrap
9015 msgid ""
9016 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
9017 "uinfo.si_code = SI_QUEUE;\n"
9018 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
9019 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
9020 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
9021 msgstr ""
9022 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
9023 "uinfo.si_code = SI_QUEUE;\n"
9024 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
9025 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
9026 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
9027
9028 #. type: Plain text
9029 #: build/C/man3/sigqueue.3:155
9030 msgid ""
9031 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
9032 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
9033 msgstr ""
9034 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
9035 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
9036
9037 #. type: TH
9038 #: build/C/man2/sigreturn.2:27
9039 #, no-wrap
9040 msgid "SIGRETURN"
9041 msgstr "SIGRETURN"
9042
9043 #. type: TH
9044 #: build/C/man2/sigreturn.2:27
9045 #, no-wrap
9046 msgid "2008-06-26"
9047 msgstr "2008-06-26"
9048
9049 #. type: Plain text
9050 #: build/C/man2/sigreturn.2:30
9051 msgid "sigreturn - return from signal handler and cleanup stack frame"
9052 msgstr "sigreturn - シグナル・ハンドラから返り、スタックを掃除する"
9053
9054 #. type: Plain text
9055 #: build/C/man2/sigreturn.2:32
9056 msgid "B<int sigreturn(unsigned long >I<__unused>B<);>"
9057 msgstr "B<int sigreturn(unsigned long >I<__unused>B<);>"
9058
9059 #. type: Plain text
9060 #: build/C/man2/sigreturn.2:40
9061 msgid ""
9062 "When the Linux kernel creates the stack frame for a signal handler, a call "
9063 "to B<sigreturn>()  is inserted into the stack frame so that upon return from "
9064 "the signal handler, B<sigreturn>()  will be called."
9065 msgstr ""
9066 "Linux カーネルは、 シグナル・ハンドラ用にスタック・フレームを作成する際、 "
9067 "B<sigreturn>()  をスタック・フレームに挿入し、シグナル・ハンドラが返るときに "
9068 "B<sigreturn>()  が呼ばれるようにする。"
9069
9070 #. type: Plain text
9071 #: build/C/man2/sigreturn.2:51
9072 msgid ""
9073 "This B<sigreturn>()  call undoes everything that was done\\(emchanging the "
9074 "process's signal mask, switching stacks (see B<sigaltstack>(2))\\(emin order "
9075 "to invoke the signal handler: it restores the process's signal mask, "
9076 "switches stacks, and restores the process's context (registers, processor "
9077 "flags), so that the process directly resumes execution at the point where it "
9078 "was interrupted by the signal."
9079 msgstr ""
9080 "B<sigreturn>()  は、シグナル・ハンドラを起動するために行ったことの全て \\(em "
9081 "プロセスのシグナルマスクの変更、スタックの切り替え (B<sigaltstack>(2)  参照) "
9082 "\\(em の取り消しを行う。 プロセスのシグナルマスクの復元、スタックの切り替"
9083 "え、 プロセスのコンテキスト (レジスタ、プロセッサ・フラグ) の復元を行い、 プ"
9084 "ロセスがシグナルにより割り込まれた場所からそのまま実行を 再開できるようにす"
9085 "る。"
9086
9087 #. type: Plain text
9088 #: build/C/man2/sigreturn.2:54
9089 msgid "B<sigreturn>()  never returns."
9090 msgstr "B<sigreturn>()  が返ることはない。"
9091
9092 #. type: SH
9093 #: build/C/man2/sigreturn.2:54
9094 #, no-wrap
9095 msgid "FILES"
9096 msgstr "ファイル"
9097
9098 #. type: Plain text
9099 #: build/C/man2/sigreturn.2:56
9100 msgid "/usr/src/linux/arch/i386/kernel/signal.c"
9101 msgstr "/usr/src/linux/arch/i386/kernel/signal.c"
9102
9103 #. type: Plain text
9104 #: build/C/man2/sigreturn.2:58
9105 msgid "/usr/src/linux/arch/alpha/kernel/entry.S"
9106 msgstr "/usr/src/linux/arch/alpha/kernel/entry.S"
9107
9108 #. type: Plain text
9109 #: build/C/man2/sigreturn.2:62
9110 msgid ""
9111 "B<sigreturn>()  is specific to Linux and should not be used in programs "
9112 "intended to be portable."
9113 msgstr ""
9114 "B<sigreturn>()  は Linux 特有であり、移植を意図したプログラムでは使用してはい"
9115 "けない。"
9116
9117 #. type: Plain text
9118 #: build/C/man2/sigreturn.2:72
9119 msgid ""
9120 "The B<sigreturn>()  call is used by the kernel to implement signal "
9121 "handlers.  It should B<never> be called directly.  Better yet, the specific "
9122 "use of the I<__unused> argument varies depending on the architecture."
9123 msgstr ""
9124 "B<sigreturn>()  コールは、シグナル・ハンドラを実装するためにカーネルにより使"
9125 "用される。 これを直接呼び出しては B<決して> いけない。さらに I<__unused> 引き"
9126 "数がどのように使われるかはそのアーキテクチャに依存して変化する。"
9127
9128 #. type: Plain text
9129 #: build/C/man2/sigreturn.2:77
9130 msgid "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
9131 msgstr "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
9132
9133 #. type: TH
9134 #: build/C/man3/sigset.3:24
9135 #, no-wrap
9136 msgid "SIGSET"
9137 msgstr "SIGSET"
9138
9139 #. type: Plain text
9140 #: build/C/man3/sigset.3:27
9141 msgid "sigset, sighold, sigrelse, sigignore - System V signal API"
9142 msgstr "sigset, sighold, sigrelse, sigignore - System V 版シグナル API"
9143
9144 #. type: Plain text
9145 #: build/C/man3/sigset.3:33
9146 msgid "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
9147 msgstr "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
9148
9149 #. type: Plain text
9150 #: build/C/man3/sigset.3:35
9151 msgid "B<int sighold(int >I<sig>B<);>"
9152 msgstr "B<int sighold(int >I<sig>B<);>"
9153
9154 #. type: Plain text
9155 #: build/C/man3/sigset.3:37
9156 msgid "B<int sigrelse(int >I<sig>B<);>"
9157 msgstr "B<int sigrelse(int >I<sig>B<);>"
9158
9159 #. type: Plain text
9160 #: build/C/man3/sigset.3:39
9161 msgid "B<int sigignore(int >I<sig>B<);>"
9162 msgstr "B<int sigignore(int >I<sig>B<);>"
9163
9164 #. type: Plain text
9165 #: build/C/man3/sigset.3:50
9166 msgid "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
9167 msgstr "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
9168
9169 #. type: Plain text
9170 #: build/C/man3/sigset.3:54
9171 msgid ""
9172 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
9173 msgstr ""
9174 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
9175
9176 #. type: Plain text
9177 #: build/C/man3/sigset.3:63
9178 msgid ""
9179 "These functions are provided in glibc as a compatibility interface for "
9180 "programs that make use of the historical System V signal API.  This API is "
9181 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
9182 "B<sigprocmask>(2), etc.)"
9183 msgstr ""
9184 "これらの関数は、昔ながらの System V 版シグナル API を使用しているプログラム "
9185 "に対して互換性のあるインタフェースを glibc で提供するものである。 この API は"
9186 "過去のものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>"
9187 "(2), B<sigprocmask>(2)  など) を使用すべきである。"
9188
9189 #. type: Plain text
9190 #: build/C/man3/sigset.3:72
9191 msgid ""
9192 "The B<sigset>()  function modifies the disposition of the signal I<sig>.  "
9193 "The I<disp> argument can be the address of a signal handler function, or one "
9194 "of the following constants:"
9195 msgstr ""
9196 "関数 B<sigset>()  はシグナル I<sig> のシグナルハンドラの動作を変更する。 "
9197 "I<disp> 引き数には、シグナルハンドラ関数のアドレスか、 以下の定数のいずれか一"
9198 "つを指定できる。"
9199
9200 #. type: TP
9201 #: build/C/man3/sigset.3:72
9202 #, no-wrap
9203 msgid "B<SIG_DFL>"
9204 msgstr "B<SIG_DFL>"
9205
9206 #. type: Plain text
9207 #: build/C/man3/sigset.3:77
9208 msgid "Reset the disposition of I<sig> to the default."
9209 msgstr "I<sig> の動作をデフォルトにリセットする。"
9210
9211 #. type: TP
9212 #: build/C/man3/sigset.3:77
9213 #, no-wrap
9214 msgid "B<SIG_IGN>"
9215 msgstr "B<SIG_IGN>"
9216
9217 #. type: Plain text
9218 #: build/C/man3/sigset.3:81
9219 msgid "Ignore I<sig>."
9220 msgstr "I<sig> を無視する。"
9221
9222 #. type: TP
9223 #: build/C/man3/sigset.3:81
9224 #, no-wrap
9225 msgid "B<SIG_HOLD>"
9226 msgstr "B<SIG_HOLD>"
9227
9228 #. type: Plain text
9229 #: build/C/man3/sigset.3:88
9230 msgid ""
9231 "Add I<sig> to the process's signal mask, but leave the disposition of I<sig> "
9232 "unchanged."
9233 msgstr ""
9234 "そのプロセスのシグナルマスクに I<sig> を追加するが、 I<sig> の動作は変更しな"
9235 "い。"
9236
9237 #. type: Plain text
9238 #: build/C/man3/sigset.3:94
9239 msgid ""
9240 "If I<disp> specifies the address of a signal handler, then I<sig> is added "
9241 "to the process's signal mask during execution of the handler."
9242 msgstr ""
9243 "I<disp> にシグナルハンドラのアドレスが指定された場合、 シグナルハンドラの実行"
9244 "中は、そのプロセスのシグナルマスクに I<sig> が追加される。"
9245
9246 #. type: Plain text
9247 #: build/C/man3/sigset.3:102
9248 msgid ""
9249 "If I<disp> was specified as a value other than B<SIG_HOLD>, then I<sig> is "
9250 "removed from the process's signal mask."
9251 msgstr ""
9252 "I<disp> に B<SIG_HOLD> 以外の値が指定された場合、 そのプロセスのシグナルマス"
9253 "クから I<sig> が削除される。"
9254
9255 #. type: Plain text
9256 #: build/C/man3/sigset.3:108 build/C/man3/sigvec.3:85
9257 msgid "The dispositions for B<SIGKILL> and B<SIGSTOP> cannot be changed."
9258 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> に対する動作は変更できない。"
9259
9260 #. type: Plain text
9261 #: build/C/man3/sigset.3:114
9262 msgid ""
9263 "The B<sighold>()  function adds I<sig> to the calling process's signal mask."
9264 msgstr ""
9265 "関数 B<sighold>()  は、呼び出し元プロセスのシグナルマスクに I<sig> を追加す"
9266 "る。"
9267
9268 #. type: Plain text
9269 #: build/C/man3/sigset.3:120
9270 msgid ""
9271 "The B<sigrelse>()  function removes I<sig> from the calling process's signal "
9272 "mask."
9273 msgstr ""
9274 "関数 B<sigrelse>()  は、呼び出し元プロセスのシグナルマスクから I<sig> を削除"
9275 "する。"
9276
9277 #. type: Plain text
9278 #: build/C/man3/sigset.3:127
9279 msgid ""
9280 "The B<sigignore>()  function sets the disposition of I<sig> to B<SIG_IGN>."
9281 msgstr "関数 B<sigignore>()  は、 I<sig> の動作を B<SIG_IGN> に設定する。"
9282
9283 #. type: Plain text
9284 #: build/C/man3/sigset.3:143
9285 msgid ""
9286 "On success, B<sigset>()  returns B<SIG_HOLD> if I<sig> was blocked before "
9287 "the call, or the signal's previous disposition if it was not blocked before "
9288 "the call.  On error, B<sigset>()  returns -1, with I<errno> set to indicate "
9289 "the error.  (But see BUGS below.)"
9290 msgstr ""
9291 "B<sigset>()  は成功すると、 呼び出し前に I<sig> がブロックされていた場合には "
9292 "B<SIG_HOLD> を返し、 ブロックされていなかった場合には 変更前のそのシグナルの"
9293 "動作を返す。 エラーの場合、 B<sigset>()  は -1 を返し、 I<errno> にエラーを示"
9294 "す値をセットする。 但し、以下の「バグ」の節も参照のこと。"
9295
9296 #. type: Plain text
9297 #: build/C/man3/sigset.3:152
9298 msgid ""
9299 "The B<sighold>(), B<sigrelse>(), and B<sigignore>()  functions return 0 on "
9300 "success; on error, these functions return -1 and set I<errno> to indicate "
9301 "the error."
9302 msgstr ""
9303 "関数 B<sighold>(), B<sigrelse>(), B<sigignore>()  は成功すると 0 を返す。エ"
9304 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
9305
9306 #. type: Plain text
9307 #: build/C/man3/sigset.3:159
9308 msgid ""
9309 "For B<sigset>()  see the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
9310 msgstr ""
9311 "B<sigset>()  に関しては、 B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」"
9312 "の節を参照。"
9313
9314 #. type: Plain text
9315 #: build/C/man3/sigset.3:166
9316 msgid ""
9317 "For B<sighold>()  and B<sigrelse>()  see the ERRORS under B<sigprocmask>(2)."
9318 msgstr ""
9319 "B<sighold>()  と B<sigrelse>()  に関しては、 B<sigprocmask>(2)  の「エラー」"
9320 "の節を参照。"
9321
9322 #. type: Plain text
9323 #: build/C/man3/sigset.3:171
9324 msgid "For B<sigignore>(), see the errors under B<sigaction>(2)."
9325 msgstr "B<sigignore>()  に関しては、 B<sigaction>(2)  の「エラー」の節を参照。"
9326
9327 #. type: Plain text
9328 #: build/C/man3/sigset.3:188
9329 msgid ""
9330 "SVr4, POSIX.1-2001.  These functions are obsolete: do not use them in new "
9331 "programs.  POSIX.1-2008 marks B<sighold>(), B<sigignore>(), B<sigpause>(), "
9332 "B<sigrelse>(), and B<sigset>()  as obsolete, recommending the use of "
9333 "B<sigaction>(2), B<sigprocmask>(2), B<pthread_sigmask>(3), and B<sigsuspend>"
9334 "(2)  instead."
9335 msgstr ""
9336 "SVr4, POSIX.1-2001.  これらの関数は廃止予定である。新しいプログラムでは使用し"
9337 "ないこと。 POSIX.1-2008 は、 B<sighold>(), B<sigignore>(), B<sigpause>(), "
9338 "B<sigrelse>(), B<sigset>()  を廃止予定としている。 代わりに、 B<sigaction>"
9339 "(2), B<sigprocmask>(2), B<pthread_sigmask>(3), B<sigsuspend>(2)  の使用が推奨"
9340 "されている。"
9341
9342 #. type: Plain text
9343 #: build/C/man3/sigset.3:190
9344 msgid "These functions appeared in glibc version 2.1."
9345 msgstr "これらの関数は glibc 2.1 で登場した。"
9346
9347 #. type: Plain text
9348 #: build/C/man3/sigset.3:196
9349 msgid ""
9350 "The I<sighandler_t> type is a GNU extension; it is only used on this page to "
9351 "make the B<sigset>()  prototype more easily readable."
9352 msgstr ""
9353 "I<sighandler_t> 型は GNU による拡張であり、この man page で B<sigset>()  のプ"
9354 "ロトタイプをより読みやすくするために使われているだけである。"
9355
9356 #. type: Plain text
9357 #: build/C/man3/sigset.3:204
9358 msgid ""
9359 "The B<sigset>()  function provides reliable signal handling semantics (as "
9360 "when calling B<sigaction>(2)  with I<sa_mask> equal to 0)."
9361 msgstr ""
9362 "関数 B<sigset>()  は信頼性のあるシグナル処理機構を提供する (I<sa_mask> を 0 "
9363 "で B<sigaction>(2)  を呼び出したときと同様)。"
9364
9365 #. type: Plain text
9366 #: build/C/man3/sigset.3:222
9367 msgid ""
9368 "On System V, the B<signal>()  function provides unreliable semantics (as "
9369 "when calling B<sigaction>(2)  with I<sa_mask> equal to I<SA_RESETHAND | "
9370 "SA_NODEFER>).  On BSD, B<signal>()  provides reliable semantics.  "
9371 "POSIX.1-2001 leaves these aspects of B<signal>()  unspecified.  See B<signal>"
9372 "(2)  for further details."
9373 msgstr ""
9374 "System V では、関数 B<signal>()  が提供する処理機構は信頼性のないものである "
9375 "(I<sa_mask> を I<SA_RESETHAND | SA_NODEFER> として B<sigaction>(2)  を呼び出"
9376 "したときと同様)。 BSD では、 B<signal>()  は信頼性のある処理機構を提供する。 "
9377 "POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままとなっている。 さら"
9378 "なる詳細については B<signal>(2)  を参照。"
9379
9380 #. type: Plain text
9381 #: build/C/man3/sigset.3:230 build/C/man3/sigvec.3:250
9382 msgid ""
9383 "In order to wait for a signal, BSD and System V both provided a function "
9384 "named B<sigpause>(3), but this function has a different argument on the two "
9385 "systems.  See B<sigpause>(3)  for details."
9386 msgstr ""
9387 "BSD と System V のどちらのシステムでも シグナルを待つために、 B<sigpause>"
9388 "(3)  という名前の関数が提供されているが、 この関数の引き数は両方のシステムで"
9389 "異なる。 詳細は B<sigpause>(3)  を参照。"
9390
9391 #. type: Plain text
9392 #: build/C/man3/sigset.3:239
9393 msgid ""
9394 "In versions of glibc before 2.2, B<sigset>()  did not unblock I<sig> if "
9395 "I<disp> was specified as a value other than B<SIG_HOLD>."
9396 msgstr ""
9397 "2.2 より前のバージョンの glibc では、 I<disp> に B<SIG_HOLD> 以外の値が指定さ"
9398 "れた場合、 I<sig> のブロック解除を行っていなかった。"
9399
9400 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1951
9401 #. type: Plain text
9402 #: build/C/man3/sigset.3:264
9403 msgid ""
9404 "In versions of glibc before 2.5, B<sigset>()  does not correctly return the "
9405 "previous disposition of the signal in two cases.  First, if I<disp> is "
9406 "specified as B<SIG_HOLD>, then a successful B<sigset>()  always returns "
9407 "B<SIG_HOLD>.  Instead, it should return the previous disposition of the "
9408 "signal (unless the signal was blocked, in which case B<SIG_HOLD> should be "
9409 "returned).  Second, if the signal is currently blocked, then the return "
9410 "value of a successful B<sigset>()  should be B<SIG_HOLD>.  Instead, the "
9411 "previous disposition of the signal is returned.  These problems have been "
9412 "fixed since glibc 2.5."
9413 msgstr ""
9414 "2.3.5 以前の全てのバージョンの glibc では、 B<sigset>()  が変更前のシグナルの"
9415 "動作を正しく返さない場合が 2つある。 一つめは、 I<disp> に B<SIG_HOLD> が指定"
9416 "されると、成功した場合 B<sigset>()  は常に B<SIG_HOLD> を返すことである。 正"
9417 "しくは、(シグナルがブロックされていなかった場合には)  変更前のシグナルの動作"
9418 "を返すべきである (シグナルがブロックされていた場合には、 B<SIG_HOLD> が返され"
9419 "る)。 もう一つは、シグナルが現在ブロックされている場合には、 成功した場合の "
9420 "B<sigset>()  の返り値は B<SIG_HOLD> になるべきであるが、実際には 変更前のシグ"
9421 "ナルの動作が返されることである。 これらの問題は glibc 2.5 以降で修正されてい"
9422 "る。"
9423
9424 #. type: Plain text
9425 #: build/C/man3/sigset.3:274
9426 msgid ""
9427 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9428 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9429 msgstr ""
9430 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9431 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9432
9433 #. type: TH
9434 #: build/C/man3/sigsetops.3:29
9435 #, no-wrap
9436 msgid "SIGSETOPS"
9437 msgstr "SIGSETOPS"
9438
9439 #. type: TH
9440 #: build/C/man3/sigsetops.3:29
9441 #, no-wrap
9442 msgid "2008-09-01"
9443 msgstr "2008-09-01"
9444
9445 #. type: Plain text
9446 #: build/C/man3/sigsetops.3:33
9447 msgid ""
9448 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX signal "
9449 "set operations."
9450 msgstr ""
9451 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX シグナル集"
9452 "合の操作"
9453
9454 #. type: Plain text
9455 #: build/C/man3/sigsetops.3:37
9456 msgid "B<int sigemptyset(sigset_t *>I<set>B<);>"
9457 msgstr "B<int sigemptyset(sigset_t *>I<set>B<);>"
9458
9459 #. type: Plain text
9460 #: build/C/man3/sigsetops.3:39
9461 msgid "B<int sigfillset(sigset_t *>I<set>B<);>"
9462 msgstr "B<int sigfillset(sigset_t *>I<set>B<);>"
9463
9464 #. type: Plain text
9465 #: build/C/man3/sigsetops.3:41
9466 msgid "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9467 msgstr "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9468
9469 #. type: Plain text
9470 #: build/C/man3/sigsetops.3:43
9471 msgid "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9472 msgstr "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9473
9474 #. type: Plain text
9475 #: build/C/man3/sigsetops.3:45
9476 msgid "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9477 msgstr "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9478
9479 #. type: Plain text
9480 #: build/C/man3/sigsetops.3:57
9481 msgid ""
9482 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9483 "B<sigismember>():"
9484 msgstr ""
9485 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9486 "B<sigismember>():"
9487
9488 #. type: Plain text
9489 #: build/C/man3/sigsetops.3:59
9490 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9491 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9492
9493 #. type: Plain text
9494 #: build/C/man3/sigsetops.3:63
9495 msgid "These functions allow the manipulation of POSIX signal sets."
9496 msgstr "これらの関数は POSIX シグナル集合(signal set)を操作するため使用する。"
9497
9498 #. type: Plain text
9499 #: build/C/man3/sigsetops.3:68
9500 msgid ""
9501 "B<sigemptyset>()  initializes the signal set given by I<set> to empty, with "
9502 "all signals excluded from the set."
9503 msgstr ""
9504 "B<sigemptyset>()  は I<set> で与えられたシグナル集合を空に初期化し、シグナル"
9505 "が一つも 含まれていない状態にする。"
9506
9507 #. type: Plain text
9508 #: build/C/man3/sigsetops.3:73
9509 msgid "B<sigfillset>()  initializes I<set> to full, including all signals."
9510 msgstr ""
9511 "B<sigfillset>()  は I<set> で与えられたシグナル集合が全てのシグナルを含むよう"
9512 "にする。"
9513
9514 #. type: Plain text
9515 #: build/C/man3/sigsetops.3:81
9516 msgid ""
9517 "B<sigaddset>()  and B<sigdelset>()  add and delete respectively signal "
9518 "I<signum> from I<set>."
9519 msgstr ""
9520 "B<sigaddset>()  と B<sigdelset>()  は I<set> に I<signum> シグナルをそれぞれ"
9521 "加えたり、削除したりする。"
9522
9523 #. type: Plain text
9524 #: build/C/man3/sigsetops.3:87
9525 msgid "B<sigismember>()  tests whether I<signum> is a member of I<set>."
9526 msgstr ""
9527 "B<sigismember>()  は I<signum> が I<set> に含まれているかどうかをテストする。"
9528
9529 #. type: Plain text
9530 #: build/C/man3/sigsetops.3:105
9531 msgid ""
9532 "Objects of type I<sigset_t> must be initialized by a call to either "
9533 "B<sigemptyset>()  or B<sigfillset>()  before being passed to the functions "
9534 "B<sigaddset>(), B<sigdelset>()  and B<sigismember>()  or the additional "
9535 "glibc functions described below (B<sigisemptyset>(), B<sigandset>(), and "
9536 "B<sigorset>()).  The results are undefined if this is not done."
9537 msgstr ""
9538 "I<sigset_t> 型のオブジェクトは、関数 B<sigaddset>(), B<sigdelset>(), "
9539 "B<sigismember>()  や後述の glibc の追加関数 (B<sigisemptyset>(), B<sigandset>"
9540 "(), B<sigorset>())  に渡す前に、 B<sigemptyset>()  か B<sigfillset>()  を呼び"
9541 "出して初期化しなければならない。 初期化しなかった場合の結果は未定義である。"
9542
9543 #. type: Plain text
9544 #: build/C/man3/sigsetops.3:112
9545 msgid ""
9546 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), and B<sigdelset>()  "
9547 "return 0 on success and -1 on error."
9548 msgstr ""
9549 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>()  は成功すれ"
9550 "ば 0 を、エラーの場合は -1 を返す。"
9551
9552 #. type: Plain text
9553 #: build/C/man3/sigsetops.3:121
9554 msgid ""
9555 "B<sigismember>()  returns 1 if I<signum> is a member of I<set>, 0 if "
9556 "I<signum> is not a member, and -1 on error."
9557 msgstr ""
9558 "B<sigismember>()  は I<signum> が I<set> に含まれていれば 1 を返し、含まれて"
9559 "いなければ 0 を返す。 エラーの場合は -1 を返す。"
9560
9561 #. type: Plain text
9562 #: build/C/man3/sigsetops.3:126
9563 msgid "I<sig> is not a valid signal."
9564 msgstr "I<sig> が有効なシグナルではない。"
9565
9566 #. type: SS
9567 #: build/C/man3/sigsetops.3:129
9568 #, no-wrap
9569 msgid "Glibc Notes"
9570 msgstr "glibc での注意"
9571
9572 #. type: Plain text
9573 #: build/C/man3/sigsetops.3:135
9574 msgid ""
9575 "If the B<_GNU_SOURCE> feature test macro is defined, then I<E<lt>signal."
9576 "hE<gt>> exposes three other functions for manipulating signal sets."
9577 msgstr ""
9578 "B<_GNU_SOURCE> 機能検査マクロが定義されていると、 I<E<lt>signal.hE<gt>> でシ"
9579 "グナル集合を操作する 3つの関数が追加で公開される。"
9580
9581 #. type: TP
9582 #: build/C/man3/sigsetops.3:135
9583 #, no-wrap
9584 msgid "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9585 msgstr "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9586
9587 #. type: Plain text
9588 #: build/C/man3/sigsetops.3:140
9589 msgid "returns 1 if I<set> contains no signals, and 0 otherwise."
9590 msgstr ""
9591 "I<set> にシグナルが一つも含まれていなければ 1 を返し、 それ以外は 0 を返す。"
9592
9593 #. type: TP
9594 #: build/C/man3/sigsetops.3:140
9595 #, no-wrap
9596 msgid "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9597 msgstr "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9598
9599 #. type: Plain text
9600 #: build/C/man3/sigsetops.3:149
9601 msgid "places the union of the sets I<left> and I<right> in I<dest>."
9602 msgstr "シグナル集合 I<left> と I<left> の和集合を I<dest> に書き込む。"
9603
9604 #. type: TP
9605 #: build/C/man3/sigsetops.3:149
9606 #, no-wrap
9607 msgid "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9608 msgstr "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9609
9610 #. type: Plain text
9611 #: build/C/man3/sigsetops.3:158
9612 msgid "places the intersection of the sets I<left> and I<right> in I<dest>."
9613 msgstr "シグナル集合 I<left> と I<left> の積集合を I<dest> に書き込む。"
9614
9615 #. type: Plain text
9616 #: build/C/man3/sigsetops.3:163
9617 msgid ""
9618 "B<sigorset>()  and B<sigandset>()  return 0 on success, and -1 on failure."
9619 msgstr ""
9620 "B<sigorset>()  と B<sigandset>()  は成功すると 0 を、失敗すると -1 を返す。"
9621
9622 #. type: Plain text
9623 #: build/C/man3/sigsetops.3:166
9624 msgid ""
9625 "These functions are nonstandard (a few other systems provide similar "
9626 "functions) and their use should be avoided in portable applications."
9627 msgstr ""
9628 "これらの関数は非標準であり、(他にも同様の関数を提供しているシステムも いくつ"
9629 "かはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき である。"
9630
9631 #. type: Plain text
9632 #: build/C/man3/sigsetops.3:171
9633 msgid "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9634 msgstr "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9635
9636 #. type: TH
9637 #: build/C/man2/sigsuspend.2:27
9638 #, no-wrap
9639 msgid "SIGSUSPEND"
9640 msgstr "SIGSUSPEND"
9641
9642 #. type: TH
9643 #: build/C/man2/sigsuspend.2:27
9644 #, no-wrap
9645 msgid "2008-08-29"
9646 msgstr "2008-08-29"
9647
9648 #. type: Plain text
9649 #: build/C/man2/sigsuspend.2:30
9650 msgid "sigsuspend - wait for a signal"
9651 msgstr "sigsuspend - シグナルを待つ"
9652
9653 #. type: Plain text
9654 #: build/C/man2/sigsuspend.2:34
9655 msgid "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9656 msgstr "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9657
9658 #. type: Plain text
9659 #: build/C/man2/sigsuspend.2:43
9660 msgid ""
9661 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9662 "_POSIX_SOURCE"
9663 msgstr ""
9664 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9665 "_POSIX_SOURCE"
9666
9667 #. type: Plain text
9668 #: build/C/man2/sigsuspend.2:51
9669 msgid ""
9670 "B<sigsuspend>()  temporarily replaces the signal mask of the calling process "
9671 "with the mask given by I<mask> and then suspends the process until delivery "
9672 "of a signal whose action is to invoke a signal handler or to terminate a "
9673 "process."
9674 msgstr ""
9675 "B<sigsuspend>()  は、呼び出し元プロセスのシグナルマスクを I<mask> で指定され"
9676 "たマスクに一時的に置き換え、 シグナルハンドラの起動もしくはプロセスの終了がア"
9677 "クションとして 設定されたシグナルが配送されるまで、そのプロセスを停止する。"
9678
9679 #. type: Plain text
9680 #: build/C/man2/sigsuspend.2:60
9681 msgid ""
9682 "If the signal terminates the process, then B<sigsuspend>()  does not "
9683 "return.  If the signal is caught, then B<sigsuspend>()  returns after the "
9684 "signal handler returns, and the signal mask is restored to the state before "
9685 "the call to B<sigsuspend>()."
9686 msgstr ""
9687 "シグナルがプロセスを終了させるものの場合、 B<sigsuspend>()  は返らない。シグ"
9688 "ナルが捕捉された場合、 シグナルハンドラの処理が終わった後に B<sigsuspend>()  "
9689 "は返り、シグナルマスクは B<sigsuspend>()  が呼び出される前の状態に復元され"
9690 "る。"
9691
9692 #. type: Plain text
9693 #: build/C/man2/sigsuspend.2:68
9694 msgid ""
9695 "It is not possible to block B<SIGKILL> or B<SIGSTOP>; specifying these "
9696 "signals in I<mask>, has no effect on the process's signal mask."
9697 msgstr ""
9698 "B<SIGKILL> と B<SIGSTOP> を禁止 (block) することはできない; これらのシグナル"
9699 "を I<mask> に指定しても、プロセスのシグナルマスクは影響を受けない。"
9700
9701 #. type: Plain text
9702 #: build/C/man2/sigsuspend.2:72
9703 msgid "B<sigsuspend>()  always returns -1, normally with the error B<EINTR>."
9704 msgstr "B<sigsuspend>()  は常に -1 を返し、通常は B<EINTR> エラーが発生する。"
9705
9706 #. type: Plain text
9707 #: build/C/man2/sigsuspend.2:77
9708 msgid ""
9709 "I<mask> points to memory which is not a valid part of the process address "
9710 "space."
9711 msgstr ""
9712 "I<mask> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
9713
9714 #. type: Plain text
9715 #: build/C/man2/sigsuspend.2:80
9716 msgid "The call was interrupted by a signal."
9717 msgstr "システムコールはシグナルにより割り込まれた。"
9718
9719 #. type: Plain text
9720 #: build/C/man2/sigsuspend.2:100
9721 msgid ""
9722 "Normally, B<sigsuspend>()  is used in conjunction with B<sigprocmask>(2)  in "
9723 "order to prevent delivery of a signal during the execution of a critical "
9724 "code section.  The caller first blocks the signals with B<sigprocmask>(2).  "
9725 "When the critical code has completed, the caller then waits for the signals "
9726 "by calling B<sigsuspend>()  with the signal mask that was returned by "
9727 "B<sigprocmask>(2)  (in the I<oldset> argument)."
9728 msgstr ""
9729 "B<sigsuspend>()  は、通常、クリティカル・コード・セクション (critical code "
9730 "section) の 実行中にシグナルが配送されるのを防止するために、 B<sigprocmask>"
9731 "(2)  と組み合わせて使用される。 まず最初に、呼び出し元は B<sigprocmask>(2)  "
9732 "を使ってシグナルを禁止する。 クリティカル・コードが完了すると、呼び出し元は "
9733 "B<sigprocmask>(2)  が (I<oldset> 引き数で) 返すシグナルマスクを指定して "
9734 "B<sigsuspend>()  を呼び出すことで、クリティカル・コード実行中に発生した シグ"
9735 "ナルを待つことができる。"
9736
9737 #. type: Plain text
9738 #: build/C/man2/sigsuspend.2:114
9739 msgid ""
9740 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9741 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9742 msgstr ""
9743 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9744 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9745
9746 #. type: TH
9747 #: build/C/man3/sigvec.3:24
9748 #, no-wrap
9749 msgid "SIGVEC"
9750 msgstr "SIGVEC"
9751
9752 #. type: Plain text
9753 #: build/C/man3/sigvec.3:27
9754 msgid "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD signal API"
9755 msgstr "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD 版シグナル API"
9756
9757 #. type: Plain text
9758 #: build/C/man3/sigvec.3:31
9759 msgid ""
9760 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9761 "*>I<ovec>B<);>"
9762 msgstr ""
9763 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9764 "*>I<ovec>B<);>"
9765
9766 #. type: Plain text
9767 #: build/C/man3/sigvec.3:33
9768 msgid "B<int sigmask(int >I<signum>B<);>"
9769 msgstr "B<int sigmask(int >I<signum>B<);>"
9770
9771 #. type: Plain text
9772 #: build/C/man3/sigvec.3:35
9773 msgid "B<int sigblock(int >I<mask>B<);>"
9774 msgstr "B<int sigblock(int >I<mask>B<);>"
9775
9776 #. type: Plain text
9777 #: build/C/man3/sigvec.3:37
9778 msgid "B<int sigsetmask(int >I<mask>B<);>"
9779 msgstr "B<int sigsetmask(int >I<mask>B<);>"
9780
9781 #. type: Plain text
9782 #: build/C/man3/sigvec.3:39
9783 msgid "B<int siggetmask(void);>"
9784 msgstr "B<int siggetmask(void);>"
9785
9786 #. type: Plain text
9787 #: build/C/man3/sigvec.3:47
9788 msgid "All functions shown above: _BSD_SOURCE"
9789 msgstr "上記の全ての関数: _BSD_SOURCE"
9790
9791 #. type: Plain text
9792 #: build/C/man3/sigvec.3:54
9793 msgid ""
9794 "These functions are provided in glibc as a compatibility interface for "
9795 "programs that make use of the historical BSD signal API.  This API is "
9796 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
9797 "B<sigprocmask>(2), etc.)"
9798 msgstr ""
9799 "これらの関数は、昔ながらの BSD 版シグナル API を使用しているプログラム に対し"
9800 "て互換性のあるインタフェースを glibc で提供するものである。 この API は過去の"
9801 "ものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>(2), "
9802 "B<sigprocmask>(2)  など) を使用すべきである。"
9803
9804 #. type: Plain text
9805 #: build/C/man3/sigvec.3:79
9806 msgid ""
9807 "The B<sigvec>()  function sets and/or gets the disposition of the signal "
9808 "I<sig> (like the POSIX B<sigaction>(2)).  If I<vec> is not NULL, it points "
9809 "to a I<sigvec> structure that defines the new disposition for I<sig>.  If "
9810 "I<ovec> is not NULL, it points to a I<sigvec> structure that is used to "
9811 "return the previous disposition of I<sig>.  To obtain the current "
9812 "disposition of I<sig> without changing it, specify NULL for I<vec>, and a "
9813 "non-NULL pointer for I<ovec>."
9814 msgstr ""
9815 "関数 B<sigvec>()  は、(POSIX の B<sigaction>(2)  と同様に) シグナル I<sig> の"
9816 "動作の設定・取得を行う。 I<vec> は、NULL 以外の場合、 I<sig> の新しい動作を定"
9817 "義した I<sigvec> 構造体へのポインタである。 I<ovec> は、NULL 以外の場合、 "
9818 "I<sig> の変更前の動作を返すために使用される I<sigvec> 構造体へのポインタであ"
9819 "る。 I<sig> の動作を変更せずに現在の動作を取得するためには、 I<vec> に NULL "
9820 "を指定し、 I<ovec> に NULL でないポインタを指定すればよい。"
9821
9822 #. type: Plain text
9823 #: build/C/man3/sigvec.3:89
9824 msgid "The I<sigvec> structure has the following form:"
9825 msgstr "I<sigvec> 構造体は以下の通りである:"
9826
9827 #. type: Plain text
9828 #: build/C/man3/sigvec.3:97
9829 #, no-wrap
9830 msgid ""
9831 "struct sigvec {\n"
9832 "    void (*sv_handler)();  /* Signal disposition */\n"
9833 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9834 "    int    sv_flags;       /* Flags */\n"
9835 "};\n"
9836 msgstr ""
9837 "struct sigvec {\n"
9838 "    void (*sv_handler)();  /* Signal disposition */\n"
9839 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9840 "    int    sv_flags;       /* Flags */\n"
9841 "};\n"
9842
9843 #. type: Plain text
9844 #: build/C/man3/sigvec.3:108
9845 msgid ""
9846 "The I<sv_handler> field specifies the disposition of the signal, and is "
9847 "either: the address of a signal handler function; or B<SIG_DFL> meaning the "
9848 "default disposition applies for the signal; or B<SIG_IGN> meaning that the "
9849 "signal is ignored."
9850 msgstr ""
9851 "I<sv_handler> フィールドはシグナルの動作を指定するもので、 シグナルハンドラ関"
9852 "数のアドレスか、 B<SIG_DFL> と B<SIG_IGN> のいずれかを指定できる。 "
9853 "B<SIG_DFL> はシグナルに適用されるデフォルトの動作を意味し、 B<SIG_IGN> はシグ"
9854 "ナルを無視することを意味する。"
9855
9856 #. type: Plain text
9857 #: build/C/man3/sigvec.3:122
9858 msgid ""
9859 "If I<sv_handler> specifies the address of a signal handler, then I<sv_mask> "
9860 "specifies a mask of signals that are to be blocked while the handler is "
9861 "executing.  In addition, the signal for which the handler is invoked is also "
9862 "blocked by default.  Attempts to block B<SIGKILL> or B<SIGSTOP> are silently "
9863 "ignored."
9864 msgstr ""
9865 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_mask> はハン"
9866 "ドラが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラを"
9867 "起動したシグナル自身はデフォルトでブロックされる。 B<SIGKILL> か B<SIGSTOP> "
9868 "をブロックしようとした場合には、黙って無視される。"
9869
9870 #. type: Plain text
9871 #: build/C/man3/sigvec.3:129
9872 msgid ""
9873 "If I<sv_handler> specifies the address of a signal handler, then the "
9874 "I<sv_flags> field specifies flags controlling what happens when the handler "
9875 "is called.  This field may contain zero or more of the following flags:"
9876 msgstr ""
9877 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_flags> フィー"
9878 "ルドはハンドラが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドに"
9879 "は、0 か、以下のフラグを 1個以上指定できる:"
9880
9881 #. type: TP
9882 #: build/C/man3/sigvec.3:129
9883 #, no-wrap
9884 msgid "B<SV_INTERRUPT>"
9885 msgstr "B<SV_INTERRUPT>"
9886
9887 #. type: Plain text
9888 #: build/C/man3/sigvec.3:137
9889 msgid ""
9890 "If the signal handler interrupts a blocking system call, then upon return "
9891 "from the handler the system call will not be restarted: instead it will fail "
9892 "with the error B<EINTR>.  If this flag is not specified, then system calls "
9893 "are restarted by default."
9894 msgstr ""
9895 "シグナルハンドラが停止中のシステムコールを中断した場合、 ハンドラから復帰して"
9896 "も、システムコールは再開されず、 エラー B<EINTR> で失敗する。 このフラグを指"
9897 "定しなかった場合、システムコールは デフォルトで再開される。"
9898
9899 #. type: TP
9900 #: build/C/man3/sigvec.3:137
9901 #, no-wrap
9902 msgid "B<SV_RESETHAND>"
9903 msgstr "B<SV_RESETHAND>"
9904
9905 #. type: Plain text
9906 #: build/C/man3/sigvec.3:146
9907 msgid ""
9908 "Reset the disposition of the signal to the default before calling the signal "
9909 "handler.  If this flag is not specified, then the handler remains "
9910 "established until explicitly removed by a later call to B<sigvec>()  or "
9911 "until the process performs an B<execve>(2)."
9912 msgstr ""
9913 "シグナルハンドラを呼び出す前にシグナルの動作を デフォルトにリセットする。 こ"
9914 "のフラグを指定しなかった場合、もう一度 B<sigvec>()  を呼び出して明示的に削除"
9915 "されるか、プロセスが B<execve>(2)  を実行するまで、ハンドラは設定されたままと"
9916 "なる。"
9917
9918 #. type: TP
9919 #: build/C/man3/sigvec.3:146
9920 #, no-wrap
9921 msgid "B<SV_ONSTACK>"
9922 msgstr "B<SV_ONSTACK>"
9923
9924 #. type: Plain text
9925 #: build/C/man3/sigvec.3:153
9926 msgid ""
9927 "Handle the signal on the alternate signal stack (historically established "
9928 "under BSD using the obsolete B<sigstack>()  function; the POSIX replacement "
9929 "is B<sigaltstack>(2))."
9930 msgstr ""
9931 "代替シグナルスタック上でシグナルハンドラを実行する (歴史的に、BSD では代替シ"
9932 "グナルスタックは廃止された関数 B<sigstack>()  を使って設定する。POSIX では、"
9933 "代わりに B<sigaltstack>(2)  を使用する)。"
9934
9935 #. type: Plain text
9936 #: build/C/man3/sigvec.3:163
9937 msgid ""
9938 "The B<sigmask>()  function constructs and returns a \"signal mask\" for "
9939 "I<signum>.  For example, we can initialize the I<vec.sv_mask> field given to "
9940 "B<sigvec>()  using code such as the following:"
9941 msgstr ""
9942 "関数 B<sigmask>()  は I<signum> に対する「シグナルマスク」を構成して返す。 例"
9943 "えば、以下のようなコードを使うと、 B<sigvec>()  に渡す I<vec.sv_mask> を初期"
9944 "化できる。"
9945
9946 #. type: Plain text
9947 #: build/C/man3/sigvec.3:168
9948 #, no-wrap
9949 msgid ""
9950 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9951 "                /* Block SIGQUIT and SIGABRT during\n"
9952 "                   handler execution */\n"
9953 msgstr ""
9954 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9955 "                /* Block SIGQUIT and SIGABRT during\n"
9956 "                   handler execution */\n"
9957
9958 #. type: Plain text
9959 #: build/C/man3/sigvec.3:183
9960 msgid ""
9961 "The B<sigblock>()  function adds the signals in I<mask> to the process's "
9962 "signal mask (like POSIX I<sigprocmask(SIG_BLOCK)>), and returns the "
9963 "process's previous signal mask.  Attempts to block B<SIGKILL> or B<SIGSTOP> "
9964 "are silently ignored."
9965 msgstr ""
9966 "B<sigblock>()  関数は、 I<mask> にあるシグナルをプロセスのシグナルマスクに追"
9967 "加し (POSIX の I<sigprocmask(SIG_BLOCK)> と同様)、変更前のプロセスのシグナル"
9968 "マスクを返す。 B<SIGKILL> や B<SIGSTOP> をブロックしようとした場合には、黙っ"
9969 "て無視される。"
9970
9971 #. type: Plain text
9972 #: build/C/man3/sigvec.3:191
9973 msgid ""
9974 "The B<sigsetmask>()  function sets the process's signal mask to the value "
9975 "given in I<mask> (like POSIX I<sigprocmask(SIG_SETMASK)>), and returns the "
9976 "process's previous signal mask."
9977 msgstr ""
9978 "B<sigsetmask>()  関数はプロセスのシグナルマスクを I<mask> で指定された値に設"
9979 "定し (POSIX の I<sigprocmask(SIG_SETMASK)> と同様)、変更前のプロセスのシグナ"
9980 "ルマスクを返す。"
9981
9982 #. type: Plain text
9983 #: build/C/man3/sigvec.3:197
9984 msgid ""
9985 "The B<siggetmask>()  function returns the process's current signal mask.  "
9986 "This call is equivalent to I<sigblock(0)>."
9987 msgstr ""
9988 "B<siggetmask>()  関数はプロセスの現在のシグナルマスクを返す。この関数は "
9989 "I<sigblock(0)> と等価である。"
9990
9991 #. type: Plain text
9992 #: build/C/man3/sigvec.3:203
9993 msgid ""
9994 "The B<sigvec>()  function returns 0 on success; on error, it returns -1 and "
9995 "sets I<errno> to indicate the error."
9996 msgstr ""
9997 "B<sigvec>()  関数は成功すると 0 を返す。エラーの場合、-1 を返し、 I<errno> に"
9998 "エラーを示す値をセットする。"
9999
10000 #. type: Plain text
10001 #: build/C/man3/sigvec.3:209
10002 msgid ""
10003 "The B<sigblock>()  and B<sigsetmask>()  functions return the previous signal "
10004 "mask."
10005 msgstr "B<sigblock>()  と B<sigsetmask>()  は変更前のシグナルマスクを返す。"
10006
10007 #. type: Plain text
10008 #: build/C/man3/sigvec.3:214
10009 msgid "The B<sigmask>()  function returns the signal mask for I<signum>."
10010 msgstr "B<sigmask>()  関数は I<signum> のシグナルマスクを返す。"
10011
10012 #. type: Plain text
10013 #: build/C/man3/sigvec.3:219
10014 msgid "See the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
10015 msgstr "B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」の節を参照。"
10016
10017 #. type: Plain text
10018 #: build/C/man3/sigvec.3:225
10019 msgid ""
10020 "All of these functions were in 4.3BSD, except B<siggetmask>(), whose origin "
10021 "is unclear.  These functions are obsolete: do not use them in new programs."
10022 msgstr ""
10023 "これらの関数のうち B<siggetmask>()  以外の全ては 4.3BSD にあった。 "
10024 "B<siggetmask>()  の出自ははっきりしない。 これらの関数は廃止予定であり、新し"
10025 "いプログラムでは使用しないこと。"
10026
10027 #. type: Plain text
10028 #: build/C/man3/sigvec.3:242
10029 msgid ""
10030 "On 4.3BSD, the B<signal>()  function provided reliable semantics (as when "
10031 "calling B<sigvec>()  with I<vec.sv_mask> equal to 0).  On System V, B<signal>"
10032 "()  provides unreliable semantics.  POSIX.1-2001 leaves these aspects of "
10033 "B<signal>()  unspecified.  See B<signal>(2)  for further details."
10034 msgstr ""
10035 "4.3BSD では、信頼性のあるシグナル処理機構を提供する (I<vec.sv_mask> を 0 で "
10036 "B<sigvec>()  を呼び出したときと同様)。 System V が提供する処理機構は信頼性の"
10037 "ないものである。 POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままと"
10038 "なっている。 さらなる詳細については B<signal>(2)  を参照。"
10039
10040 #. type: Plain text
10041 #: build/C/man3/sigvec.3:260
10042 msgid ""
10043 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
10044 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
10045 msgstr ""
10046 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
10047 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
10048
10049 #. type: TH
10050 #: build/C/man3/sigwait.3:24
10051 #, no-wrap
10052 msgid "SIGWAIT"
10053 msgstr "SIGWAIT"
10054
10055 #. type: TH
10056 #: build/C/man3/sigwait.3:24
10057 #, no-wrap
10058 msgid "2010-09-10"
10059 msgstr "2010-09-10"
10060
10061 #. type: Plain text
10062 #: build/C/man3/sigwait.3:27
10063 msgid "sigwait - wait for a signal"
10064 msgstr "sigwait - シグナルを待つ"
10065
10066 #. type: Plain text
10067 #: build/C/man3/sigwait.3:32
10068 #, no-wrap
10069 msgid "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
10070 msgstr "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
10071
10072 #. type: Plain text
10073 #: build/C/man3/sigwait.3:42
10074 msgid ""
10075 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
10076 msgstr ""
10077 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
10078
10079 #. type: Plain text
10080 #: build/C/man3/sigwait.3:53
10081 msgid ""
10082 "The B<sigwait>()  function suspends execution of the calling thread until "
10083 "the delivery of one of the signals specified in the signal set I<set>.  The "
10084 "function accepts the signal (removes it from the pending list of signals), "
10085 "and returns the signal number in I<sig>."
10086 msgstr ""
10087 "B<sigwait>()  関数は、シグナル集合 I<set> で指定されたシグナルの一つが配送さ"
10088 "れるまで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け"
10089 "取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグ"
10090 "ナル番号を I<sig> に格納して返す。"
10091
10092 #. type: Plain text
10093 #: build/C/man3/sigwait.3:59
10094 msgid ""
10095 "The operation of B<sigwait>()  is the same as B<sigwaitinfo>(2), except that:"
10096 msgstr ""
10097 "B<sigwait>()  の動作は B<sigwaitinfo>(2)  と同じだが、以下の点が異なる。"
10098
10099 #. type: Plain text
10100 #: build/C/man3/sigwait.3:64
10101 msgid ""
10102 "B<sigwait>()  only returns the signal number, rather than a I<siginfo_t> "
10103 "structure describing the signal."
10104 msgstr ""
10105 "B<sigwait>()  は、シグナルの内容を表す I<siginfo_t> 構造体を返すのではなく、"
10106 "単にシグナル番号を返す。"
10107
10108 #. type: Plain text
10109 #: build/C/man3/sigwait.3:66
10110 msgid "The return values of the two functions are different."
10111 msgstr "返り値が B<sigwaitinfo>(2)  とは異なる。"
10112
10113 #. type: Plain text
10114 #: build/C/man3/sigwait.3:71
10115 msgid ""
10116 "On success, B<sigwait>()  returns 0.  On error, it returns a positive error "
10117 "number (listed in ERRORS)."
10118 msgstr ""
10119 "成功すると、 B<sigwait>()  は 0 を返す。 エラーの場合、(「エラー」の節のリス"
10120 "トにある) 正のエラー番号を返す。"
10121
10122 #.  Does not occur for glibc.
10123 #. type: Plain text
10124 #: build/C/man3/sigwait.3:77
10125 msgid "I<set> contains an invalid signal number."
10126 msgstr "I<set> に無効なシグナル番号が入っている。"
10127
10128 #. type: Plain text
10129 #: build/C/man3/sigwait.3:83
10130 msgid "B<sigwait>()  is implemented using B<sigtimedwait>(2)."
10131 msgstr "B<sigwait>()  は B<sigtimedwait>(2)  を使って実装されている。"
10132
10133 #. type: Plain text
10134 #: build/C/man3/sigwait.3:86
10135 msgid "See B<pthread_sigmask>(3)."
10136 msgstr "B<pthread_sigmask>(3)  を参照。"
10137
10138 #. type: Plain text
10139 #: build/C/man3/sigwait.3:94
10140 msgid ""
10141 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
10142 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
10143 msgstr ""
10144 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
10145 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
10146
10147 #. type: TH
10148 #: build/C/man2/sigwaitinfo.2:23
10149 #, no-wrap
10150 msgid "SIGWAITINFO"
10151 msgstr "SIGWAITINFO"
10152
10153 #. type: TH
10154 #: build/C/man2/sigwaitinfo.2:23
10155 #, no-wrap
10156 msgid "2011-10-03"
10157 msgstr "2011-10-03"
10158
10159 #. type: Plain text
10160 #: build/C/man2/sigwaitinfo.2:26
10161 msgid "sigwaitinfo, sigtimedwait - synchronously wait for queued signals"
10162 msgstr "sigwaitinfo, sigtimedwait - キューに入れられたシグナルを同期して待つ"
10163
10164 #. type: Plain text
10165 #: build/C/man2/sigwaitinfo.2:31
10166 #, no-wrap
10167 msgid "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
10168 msgstr "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
10169
10170 #. type: Plain text
10171 #: build/C/man2/sigwaitinfo.2:34
10172 #, no-wrap
10173 msgid ""
10174 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
10175 "B<                 const struct timespec *>I<timeout>B<);>\n"
10176 msgstr ""
10177 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
10178 "B<                 const struct timespec *>I<timeout>B<);>\n"
10179
10180 #. type: Plain text
10181 #: build/C/man2/sigwaitinfo.2:44
10182 msgid "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10183 msgstr ""
10184 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10185
10186 #. type: Plain text
10187 #: build/C/man2/sigwaitinfo.2:54
10188 msgid ""
10189 "B<sigwaitinfo>()  suspends execution of the calling thread until one of the "
10190 "signals in I<set> is delivered.  (If one of the signals in I<set> is already "
10191 "pending for the calling thread, B<sigwaitinfo>()  will return immediately "
10192 "with information about that signal.)"
10193 msgstr ""
10194 "B<sigwaitinfo>()  は I<set> のうちのどれかのシグナルが配送されるまで、 呼び出"
10195 "しスレッドの実行を一時停止する (呼び出しスレッドに対して I<set> のうちのどれ"
10196 "かのシグナルが既に待機中 (pending) である場合、 B<sigwaitinfo>()  はそのシグ"
10197 "ナルの情報を返してすぐに戻る)。"
10198
10199 #. type: Plain text
10200 #: build/C/man2/sigwaitinfo.2:66
10201 msgid ""
10202 "B<sigwaitinfo>()  removes the delivered signal from the set of pending "
10203 "signals and returns the signal number as its function result.  If the "
10204 "I<info> argument is not NULL, then it returns a structure of type "
10205 "I<siginfo_t> (see B<sigaction>(2))  containing information about the signal."
10206 msgstr ""
10207 "B<sigwaitinfo>()  は配送されたシグナルを待機中のシグナルの集合から削除し、 関"
10208 "数の結果としてシグナル番号を返す。 I<info> 引き数が NULL でない場合、配送され"
10209 "たシグナルの情報が入った I<siginfo_t> 型 (B<sigaction>(2)  を参照) の構造体を"
10210 "返す。"
10211
10212 #. type: Plain text
10213 #: build/C/man2/sigwaitinfo.2:72
10214 msgid ""
10215 "Signals returned via B<sigwaitinfo>()  are delivered in the usual order; see "
10216 "B<signal>(7)  for further details."
10217 msgstr ""
10218 "B<sigwaitinfo>()  で返されるシグナルは、通常の順番で配送される。 詳細は "
10219 "B<signal>(7)  を参照すること。"
10220
10221 #. type: Plain text
10222 #: build/C/man2/sigwaitinfo.2:81
10223 msgid ""
10224 "B<sigtimedwait>()  operates in exactly the same way as B<sigwaitinfo>()  "
10225 "except that it has an additional argument, I<timeout>, which enables an "
10226 "upper bound to be placed on the time for which the thread is suspended.  "
10227 "This argument is of the following type:"
10228 msgstr ""
10229 "B<sigtimedwait>()  は、 B<sigwaitinfo>()  と次の点を除いて全く同じように動作"
10230 "する。 この関数にはもう 1 つの引き数 I<timeout> があり、スレッドが一時停止す"
10231 "る時間の上限を定めることができる。 この引き数の型は以下のとおりである:"
10232
10233 #. type: Plain text
10234 #: build/C/man2/sigwaitinfo.2:88
10235 #, no-wrap
10236 msgid ""
10237 "struct timespec {\n"
10238 "    long    tv_sec;         /* seconds */\n"
10239 "    long    tv_nsec;        /* nanoseconds */\n"
10240 "}\n"
10241 msgstr ""
10242 "struct timespec {\n"
10243 "    long    tv_sec;         /* 秒 */\n"
10244 "    long    tv_nsec;        /* ナノ秒 */\n"
10245 "}\n"
10246
10247 #. type: Plain text
10248 #: build/C/man2/sigwaitinfo.2:98
10249 msgid ""
10250 "If both fields of this structure are specified as 0, a poll is performed: "
10251 "B<sigtimedwait>()  returns immediately, either with information about a "
10252 "signal that was pending for the caller, or with an error if none of the "
10253 "signals in I<set> was pending."
10254 msgstr ""
10255 "この構造体の 2 つのフィールドがともに 0 の場合、ポーリングが行われる: "
10256 "B<sigtimedwait>()  は、呼び出し側プロセスに対して 待機しているシグナルの情報"
10257 "を返して戻るか、 I<set> のうちのどのシグナルも待機していない場合はエラーを返"
10258 "して戻る。"
10259
10260 #. type: Plain text
10261 #: build/C/man2/sigwaitinfo.2:107
10262 msgid ""
10263 "On success, both B<sigwaitinfo>()  and B<sigtimedwait>()  return a signal "
10264 "number (i.e., a value greater than zero).  On failure both calls return -1, "
10265 "with I<errno> set to indicate the error."
10266 msgstr ""
10267 "成功した場合、 B<sigwaitinfo>()  と B<sigtimedwait>()  はシグナル番号 (すなわ"
10268 "ち 0 より大きい数) を返す。 失敗した場合、2 つの関数は -1 を返し、 I<errno> "
10269 "はエラーを表す値に設定される。"
10270
10271 #. type: Plain text
10272 #: build/C/man2/sigwaitinfo.2:116
10273 msgid ""
10274 "No signal in I<set> was delivered within the I<timeout> period specified to "
10275 "B<sigtimedwait>()."
10276 msgstr ""
10277 "I<set> のうちのどのシグナルも B<sigtimedwait>()  に指定された I<timeout> の期"
10278 "間内に配送されなかった。"
10279
10280 #. type: Plain text
10281 #: build/C/man2/sigwaitinfo.2:122
10282 msgid ""
10283 "The wait was interrupted by a signal handler; see B<signal>(7).  (This "
10284 "handler was for a signal other than one of those in I<set>.)"
10285 msgstr ""
10286 "シグナル待ちがシグナルハンドラによって中断 (interrupt) された (このハンドラ"
10287 "は I<set> にあるシグナル以外のものである)。 B<signal>(7)  参照。"
10288
10289 #. type: Plain text
10290 #: build/C/man2/sigwaitinfo.2:126
10291 msgid "I<timeout> was invalid."
10292 msgstr "I<timeout> が不正である。"
10293
10294 #. type: Plain text
10295 #: build/C/man2/sigwaitinfo.2:145
10296 msgid ""
10297 "In normal usage, the calling program blocks the signals in I<set> via a "
10298 "prior call to B<sigprocmask>(2)  (so that the default disposition for these "
10299 "signals does not occur if they are delivered between successive calls to "
10300 "B<sigwaitinfo>()  or B<sigtimedwait>())  and does not establish handlers for "
10301 "these signals.  In a multithreaded program, the signal should be blocked in "
10302 "all threads to prevent the signal being delivered to a thread other than the "
10303 "one calling B<sigwaitinfo>()  or B<sigtimedwait>())."
10304 msgstr ""
10305 "通常の使用法では、呼び出し側プロセスはこれらの関数より先に B<sigprocmask>"
10306 "(2)  の呼び出すことにより I<set> に含まれるシグナルをブロックし (そのためにこ"
10307 "れらのシグナルがこの後に続く B<sigwaitinfo>()  や B<sigtimedwait>()  の呼び出"
10308 "しの間に配送された場合には、 デフォルトの配置は行われず)、 これらのシグナルに"
10309 "対するハンドラは設定しない。 マルチスレッドプログラムでは、 B<sigwaitinfo>"
10310 "()  や B<sigtimedwait>()  を呼び出したスレッド以外のスレッドにそのシグナルが"
10311 "配送されないように、 全てのスレッドで該当シグナルをブロックすべきである。"
10312
10313 #. type: Plain text
10314 #: build/C/man2/sigwaitinfo.2:150
10315 msgid ""
10316 "The set of signals that is pending for a given thread is the union of the "
10317 "set of signals that is pending specifically for that thread and the set of "
10318 "signals that is pending for the process as a whole (see B<signal>(7))."
10319 msgstr ""
10320 "指定されたスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体宛ての"
10321 "処理待ちのシグナル集合と、プロセス全体宛ての 処理待ちのシグナル集合をあわせた"
10322 "ものである (B<signal>(7)  参照)。"
10323
10324 #. type: Plain text
10325 #: build/C/man2/sigwaitinfo.2:156
10326 msgid "Attempts to wait for B<SIGKILL> and B<SIGSTOP> are silently ignored."
10327 msgstr "B<SIGKILL> と B<SIGSTOP> を待とうとした場合、黙って無視される。"
10328
10329 #. type: Plain text
10330 #: build/C/man2/sigwaitinfo.2:165
10331 msgid ""
10332 "If multiple threads of a process are blocked waiting for the same signal(s) "
10333 "in B<sigwaitinfo>()  or B<sigtimedwait>(), then exactly one of the threads "
10334 "will actually receive the signal if it is delivered to the process as a "
10335 "whole; which of the threads receives the signal is indeterminate."
10336 msgstr ""
10337 "一つのプロセス内の複数のスレッドが B<sigwaitinfo>()  や B<sigtimedwait>()  で"
10338 "同じシグナルを待って停止した場合、 プロセス全体宛てのシグナルが配送されると、"
10339 "複数のスレッドのうち一つだけが 実際にそのシグナルを受信することになる。 どの"
10340 "スレッドがシグナルを受信するかは決まっていない。"
10341
10342 #. type: Plain text
10343 #: build/C/man2/sigwaitinfo.2:174
10344 msgid ""
10345 "POSIX leaves the meaning of a NULL value for the I<timeout> argument of "
10346 "B<sigtimedwait>()  unspecified, permitting the possibility that this has the "
10347 "same meaning as a call to B<sigwaitinfo>(), and indeed this is what is done "
10348 "on Linux."
10349 msgstr ""
10350 "POSIX では B<sigtimedwait>()  の引き数 I<timeout> の値を NULL にした場合の意"
10351 "味を未定義としている。 B<sigwaitinfo>()  を呼び出したのと同じ意味としてもよい"
10352 "ことになっており、 実際 Linux ではこのように動作する。"
10353
10354 #. type: Plain text
10355 #: build/C/man2/sigwaitinfo.2:179
10356 msgid ""
10357 "On Linux, B<sigwaitinfo>()  is a library function implemented on top of "
10358 "B<sigtimedwait>()."
10359 msgstr ""
10360 "Linux では、 B<sigwaitinfo>()  は B<sigtimedwait>()  を用いて実装されたライブ"
10361 "ラリ関数である。"
10362
10363 #. type: Plain text
10364 #: build/C/man2/sigwaitinfo.2:191
10365 msgid ""
10366 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10367 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10368 "(7), B<time>(7)"
10369 msgstr ""
10370 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10371 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10372 "(7), B<time>(7)"
10373
10374 #. type: TH
10375 #: build/C/man3/sysv_signal.3:23
10376 #, no-wrap
10377 msgid "SYSV_SIGNAL"
10378 msgstr "SYSV_SIGNAL"
10379
10380 #. type: TH
10381 #: build/C/man3/sysv_signal.3:23
10382 #, no-wrap
10383 msgid "2007-05-04"
10384 msgstr "2007-05-04"
10385
10386 #. type: Plain text
10387 #: build/C/man3/sysv_signal.3:26
10388 msgid "sysv_signal - signal handling with System V semantics"
10389 msgstr "sysv_signal - System V 方式のシグナル処理"
10390
10391 #. type: Plain text
10392 #: build/C/man3/sysv_signal.3:28
10393 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
10394 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
10395
10396 #. type: Plain text
10397 #: build/C/man3/sysv_signal.3:34
10398 msgid ""
10399 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10400 msgstr ""
10401 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10402
10403 #. type: Plain text
10404 #: build/C/man3/sysv_signal.3:39
10405 msgid ""
10406 "The B<sysv_signal>()  function takes the same arguments, and performs the "
10407 "same task, as B<signal>(2)."
10408 msgstr ""
10409 "B<sysv_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
10410 "る。"
10411
10412 #. type: Plain text
10413 #: build/C/man3/sysv_signal.3:49
10414 msgid ""
10415 "However B<sysv_signal>()  provides the System V unreliable signal semantics, "
10416 "that is: a) the disposition of the signal is reset to the default when the "
10417 "handler is invoked; b) delivery of further instances of the signal is not "
10418 "blocked while the signal handler is executing; and c) if the handler "
10419 "interrupts (certain) blocking system calls, then the system call is not "
10420 "automatically restarted."
10421 msgstr ""
10422 "しかしながら、 B<sysv_signal>()  は System V の信頼性に欠けるシグナル処理方式"
10423 "を提供している。 信頼性に欠けるシグナル処理方式は以下の特徴を持つ。 a) ハンド"
10424 "ラが起動されると、シグナルの処理方法 (disposition) が デフォルトにリセットさ"
10425 "れる、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナルの配送が "
10426 "ブロックされない、 c) ハンドラが停止中の (blocking している) システムコールを"
10427 "中断した場合、 自動的に再開されないシステムコールがある。"
10428
10429 #. type: Plain text
10430 #: build/C/man3/sysv_signal.3:55
10431 msgid ""
10432 "The B<sysv_signal>()  function returns the previous value of the signal "
10433 "handler, or B<SIG_ERR> on error."
10434 msgstr ""
10435 "B<sysv_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
10436 "B<SIG_ERR> を返す。"
10437
10438 #. type: Plain text
10439 #: build/C/man3/sysv_signal.3:60
10440 msgid "This function is nonstandard."
10441 msgstr "この関数は非標準である。"
10442
10443 #. type: Plain text
10444 #: build/C/man3/sysv_signal.3:66
10445 msgid ""
10446 "Use of B<sysv_signal>()  should be avoided; use B<sigaction>(2)  instead."
10447 msgstr ""
10448 "B<sysv_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使う"
10449 "こと。"
10450
10451 #. type: Plain text
10452 #: build/C/man3/sysv_signal.3:77
10453 msgid ""
10454 "On older Linux systems, B<sysv_signal>()  and B<signal>(2)  were "
10455 "equivalent.  But on newer systems, B<signal>(2)  provides reliable signal "
10456 "semantics; see B<signal>(2)  for details."
10457 msgstr ""
10458 "以前の Linux システムでは、 B<sysv_signal>()  と B<signal>(2)  は等価であっ"
10459 "た。しかし、新しめのシステムでは、 B<signal>(2)  は信頼性のあるシグナル処理方"
10460 "式を提供している。 詳細は B<signal>(2)  を参照。"
10461
10462 #. type: Plain text
10463 #: build/C/man3/sysv_signal.3:90
10464 msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10465 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10466
10467 #. type: TH
10468 #: build/C/man2/timer_create.2:29
10469 #, no-wrap
10470 msgid "TIMER_CREATE"
10471 msgstr "TIMER_CREATE"
10472
10473 #. type: TH
10474 #: build/C/man2/timer_create.2:29
10475 #, no-wrap
10476 msgid "2010-09-27"
10477 msgstr "2010-09-27"
10478
10479 #. type: Plain text
10480 #: build/C/man2/timer_create.2:32
10481 msgid "timer_create - create a POSIX per-process timer"
10482 msgstr "timer_create - create a POSIX per-process timer"
10483
10484 #. type: Plain text
10485 #: build/C/man2/timer_create.2:36
10486 #, no-wrap
10487 msgid ""
10488 "B<#include E<lt>signal.hE<gt>>\n"
10489 "B<#include E<lt>time.hE<gt>>\n"
10490 msgstr ""
10491 "B<#include E<lt>signal.hE<gt>>\n"
10492 "B<#include E<lt>time.hE<gt>>\n"
10493
10494 #. type: Plain text
10495 #: build/C/man2/timer_create.2:39
10496 #, no-wrap
10497 msgid ""
10498 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10499 "B<                 timer_t *>I<timerid>B<);>\n"
10500 msgstr ""
10501 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10502 "B<                 timer_t *>I<timerid>B<);>\n"
10503
10504 #. type: Plain text
10505 #: build/C/man2/timer_create.2:42 build/C/man2/timer_delete.2:34
10506 #: build/C/man2/timer_getoverrun.2:34 build/C/man2/timer_settime.2:38
10507 msgid "Link with I<-lrt>."
10508 msgstr "Link with I<-lrt>."
10509
10510 #. type: Plain text
10511 #: build/C/man2/timer_create.2:50
10512 msgid "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10513 msgstr "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10514
10515 #. type: Plain text
10516 #: build/C/man2/timer_create.2:58
10517 msgid ""
10518 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10519 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10520 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10521 "is deleted.  The new timer is initially disarmed."
10522 msgstr ""
10523 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10524 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10525 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10526 "is deleted.  The new timer is initially disarmed."
10527
10528 #. type: Plain text
10529 #: build/C/man2/timer_create.2:63
10530 msgid ""
10531 "The I<clockid> argument specifies the clock that the new timer uses to "
10532 "measure time.  It can be specified as one of the following values:"
10533 msgstr ""
10534 "The I<clockid> argument specifies the clock that the new timer uses to "
10535 "measure time.  It can be specified as one of the following values:"
10536
10537 #. type: TP
10538 #: build/C/man2/timer_create.2:63
10539 #, no-wrap
10540 msgid "B<CLOCK_REALTIME>"
10541 msgstr "B<CLOCK_REALTIME>"
10542
10543 #. type: Plain text
10544 #: build/C/man2/timer_create.2:66
10545 msgid "A settable system-wide real-time clock."
10546 msgstr "A settable system-wide real-time clock."
10547
10548 #. type: TP
10549 #: build/C/man2/timer_create.2:66
10550 #, no-wrap
10551 msgid "B<CLOCK_MONOTONIC>"
10552 msgstr "B<CLOCK_MONOTONIC>"
10553
10554 #.  Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
10555 #.  in 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
10556 #. type: Plain text
10557 #: build/C/man2/timer_create.2:73
10558 msgid ""
10559 "A nonsettable monotonically increasing clock that measures time from some "
10560 "unspecified point in the past that does not change after system startup."
10561 msgstr ""
10562 "A nonsettable monotonically increasing clock that measures time from some "
10563 "unspecified point in the past that does not change after system startup."
10564
10565 #. type: TP
10566 #: build/C/man2/timer_create.2:73
10567 #, no-wrap
10568 msgid "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10569 msgstr "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10570
10571 #. type: Plain text
10572 #: build/C/man2/timer_create.2:77
10573 msgid ""
10574 "A clock that measures (user and system) CPU time consumed by (all of the "
10575 "threads in) the calling process."
10576 msgstr ""
10577 "A clock that measures (user and system) CPU time consumed by (all of the "
10578 "threads in) the calling process."
10579
10580 #. type: TP
10581 #: build/C/man2/timer_create.2:77
10582 #, no-wrap
10583 msgid "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10584 msgstr "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10585
10586 #.  The CLOCK_MONOTONIC_RAW that was added in 2.6.28 can't be used
10587 #.  to create a timer -- mtk, Feb 2009
10588 #. type: Plain text
10589 #: build/C/man2/timer_create.2:83
10590 msgid ""
10591 "A clock that measures (user and system) CPU time consumed by the calling "
10592 "thread."
10593 msgstr ""
10594 "A clock that measures (user and system) CPU time consumed by the calling "
10595 "thread."
10596
10597 #. type: Plain text
10598 #: build/C/man2/timer_create.2:92
10599 msgid ""
10600 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10601 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10602 "(3)."
10603 msgstr ""
10604 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10605 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10606 "(3)."
10607
10608 #. type: Plain text
10609 #: build/C/man2/timer_create.2:101
10610 msgid ""
10611 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10612 "the caller should be notified when the timer expires.  For the definition "
10613 "and general details of this structure, see B<sigevent>(7)."
10614 msgstr ""
10615 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10616 "the caller should be notified when the timer expires.  For the definition "
10617 "and general details of this structure, see B<sigevent>(7)."
10618
10619 #. type: Plain text
10620 #: build/C/man2/timer_create.2:105
10621 msgid "The I<sevp.sigev_notify> field can have the following values:"
10622 msgstr "The I<sevp.sigev_notify> field can have the following values:"
10623
10624 #. type: Plain text
10625 #: build/C/man2/timer_create.2:110
10626 msgid ""
10627 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10628 "can be monitored using B<timer_gettime>(2)."
10629 msgstr ""
10630 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10631 "can be monitored using B<timer_gettime>(2)."
10632
10633 #. type: Plain text
10634 #: build/C/man2/timer_create.2:128
10635 msgid ""
10636 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10637 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10638 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10639 "most one signal is queued to the process for a given timer; see "
10640 "B<timer_getoverrun>(2)  for more details."
10641 msgstr ""
10642 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10643 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10644 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10645 "most one signal is queued to the process for a given timer; see "
10646 "B<timer_getoverrun>(2)  for more details."
10647
10648 #. type: Plain text
10649 #: build/C/man2/timer_create.2:136
10650 msgid ""
10651 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10652 "start function of a new thread.  See B<sigevent>(7)  for details."
10653 msgstr ""
10654 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10655 "start function of a new thread.  See B<sigevent>(7)  for details."
10656
10657 #. type: Plain text
10658 #: build/C/man2/timer_create.2:150
10659 msgid ""
10660 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10661 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10662 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10663 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10664 "(2).  This flag is only intended for use by threading libraries."
10665 msgstr ""
10666 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10667 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10668 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10669 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10670 "(2).  This flag is only intended for use by threading libraries."
10671
10672 #. type: Plain text
10673 #: build/C/man2/timer_create.2:165
10674 msgid ""
10675 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10676 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10677 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10678 msgstr ""
10679 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10680 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10681 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10682
10683 #. type: Plain text
10684 #: build/C/man2/timer_create.2:173
10685 msgid ""
10686 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10687 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10688 "indicate the error."
10689 msgstr ""
10690 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10691 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10692 "indicate the error."
10693
10694 #. type: Plain text
10695 #: build/C/man2/timer_create.2:177
10696 msgid "Temporary error during kernel allocation of timer structures."
10697 msgstr "Temporary error during kernel allocation of timer structures."
10698
10699 #. type: Plain text
10700 #: build/C/man2/timer_create.2:185
10701 msgid ""
10702 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10703 "invalid."
10704 msgstr ""
10705 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10706 "invalid."
10707
10708 #.  glibc layer: malloc()
10709 #. type: Plain text
10710 #: build/C/man2/timer_create.2:189
10711 msgid "Could not allocate memory."
10712 msgstr "Could not allocate memory."
10713
10714 #. type: Plain text
10715 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
10716 #: build/C/man2/timer_getoverrun.2:94
10717 msgid "This system call is available since Linux 2.6."
10718 msgstr "This system call is available since Linux 2.6."
10719
10720 #. type: Plain text
10721 #: build/C/man2/timer_create.2:196
10722 msgid "A program may create multiple interval timers using B<timer_create>()."
10723 msgstr "A program may create multiple interval timers using B<timer_create>()."
10724
10725 #. type: Plain text
10726 #: build/C/man2/timer_create.2:201
10727 msgid ""
10728 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10729 "deleted during an B<execve>(2)."
10730 msgstr ""
10731 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10732 "deleted during an B<execve>(2)."
10733
10734 #. type: Plain text
10735 #: build/C/man2/timer_create.2:209
10736 msgid ""
10737 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10738 "using B<timer_create>().  Consequently, the number of timers is limited by "
10739 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10740 msgstr ""
10741 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10742 "using B<timer_create>().  Consequently, the number of timers is limited by "
10743 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10744
10745 #. type: Plain text
10746 #: build/C/man2/timer_create.2:214
10747 msgid ""
10748 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10749 "(interval) timers\".  The POSIX timers API consists of the following "
10750 "interfaces:"
10751 msgstr ""
10752 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10753 "(interval) timers\".  The POSIX timers API consists of the following "
10754 "interfaces:"
10755
10756 #. type: Plain text
10757 #: build/C/man2/timer_create.2:217
10758 msgid "B<timer_create>(): Create a timer."
10759 msgstr "B<timer_create>(): Create a timer."
10760
10761 #. type: Plain text
10762 #: build/C/man2/timer_create.2:220
10763 msgid "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10764 msgstr "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10765
10766 #. type: Plain text
10767 #: build/C/man2/timer_create.2:224
10768 msgid ""
10769 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10770 "timer, along with the interval setting of the timer."
10771 msgstr ""
10772 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10773 "timer, along with the interval setting of the timer."
10774
10775 #. type: Plain text
10776 #: build/C/man2/timer_create.2:227
10777 msgid ""
10778 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10779 "expiration."
10780 msgstr ""
10781 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10782 "expiration."
10783
10784 #. type: Plain text
10785 #: build/C/man2/timer_create.2:230
10786 msgid "B<timer_delete>(2): Disarm and delete a timer."
10787 msgstr "B<timer_delete>(2): Disarm and delete a timer."
10788
10789 #. type: Plain text
10790 #: build/C/man2/timer_create.2:233
10791 msgid ""
10792 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10793 "particular:"
10794 msgstr ""
10795 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10796 "particular:"
10797
10798 #. type: Plain text
10799 #: build/C/man2/timer_create.2:237
10800 msgid ""
10801 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10802 "than the kernel."
10803 msgstr ""
10804 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10805 "than the kernel."
10806
10807 #.  See the glibc source file kernel-posix-timers.h for the structure
10808 #.  that glibc uses to map userspace timer IDs to kernel timer IDs
10809 #.  The kernel-level timer ID is exposed via siginfo.si_tid.
10810 #. type: Plain text
10811 #: build/C/man2/timer_create.2:243
10812 msgid ""
10813 "The timer IDs presented at user level are maintained by glibc, which maps "
10814 "these IDs to the timer IDs employed by the kernel."
10815 msgstr ""
10816 "The timer IDs presented at user level are maintained by glibc, which maps "
10817 "these IDs to the timer IDs employed by the kernel."
10818
10819 #. type: Plain text
10820 #: build/C/man2/timer_create.2:251
10821 msgid ""
10822 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10823 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10824 "timers only) using POSIX threads, and current glibc falls back to this "
10825 "implementation on systems running pre-2.6 Linux kernels."
10826 msgstr ""
10827 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10828 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10829 "timers only) using POSIX threads, and current glibc falls back to this "
10830 "implementation on systems running pre-2.6 Linux kernels."
10831
10832 #. type: Plain text
10833 #: build/C/man2/timer_create.2:263
10834 msgid ""
10835 "The program below takes two arguments: a sleep period in seconds, and a "
10836 "timer frequency in nanoseconds.  The program establishes a handler for the "
10837 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10838 "that expires with the given frequency, sleeps for the specified number of "
10839 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10840 "expired at least once while the program slept, the signal handler will be "
10841 "invoked, and the handler displays some information about the timer "
10842 "notification.  The program terminates after one invocation of the signal "
10843 "handler."
10844 msgstr ""
10845 "The program below takes two arguments: a sleep period in seconds, and a "
10846 "timer frequency in nanoseconds.  The program establishes a handler for the "
10847 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10848 "that expires with the given frequency, sleeps for the specified number of "
10849 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10850 "expired at least once while the program slept, the signal handler will be "
10851 "invoked, and the handler displays some information about the timer "
10852 "notification.  The program terminates after one invocation of the signal "
10853 "handler."
10854
10855 #. type: Plain text
10856 #: build/C/man2/timer_create.2:268
10857 msgid ""
10858 "In the following example run, the program sleeps for 1 second, after "
10859 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10860 "signal is unblocked and delivered, there have been around ten million "
10861 "overruns."
10862 msgstr ""
10863 "In the following example run, the program sleeps for 1 second, after "
10864 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10865 "signal is unblocked and delivered, there have been around ten million "
10866 "overruns."
10867
10868 #. type: Plain text
10869 #: build/C/man2/timer_create.2:280
10870 #, no-wrap
10871 msgid ""
10872 "$ B<./a.out 1 100>\n"
10873 "Establishing handler for signal 34\n"
10874 "Blocking signal 34\n"
10875 "timer ID is 0x804c008\n"
10876 "Sleeping for 1 seconds\n"
10877 "Unblocking signal 34\n"
10878 "Caught signal 34\n"
10879 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10880 "    overrun count = 10004886\n"
10881 msgstr ""
10882 "$ B<./a.out 1 100>\n"
10883 "Establishing handler for signal 34\n"
10884 "Blocking signal 34\n"
10885 "timer ID is 0x804c008\n"
10886 "Sleeping for 1 seconds\n"
10887 "Unblocking signal 34\n"
10888 "Caught signal 34\n"
10889 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10890 "    overrun count = 10004886\n"
10891
10892 #. type: SS
10893 #: build/C/man2/timer_create.2:282
10894 #, no-wrap
10895 msgid "Program Source"
10896 msgstr "Program Source"
10897
10898 #. type: Plain text
10899 #: build/C/man2/timer_create.2:290
10900 #, no-wrap
10901 msgid ""
10902 "#include E<lt>stdlib.hE<gt>\n"
10903 "#include E<lt>unistd.hE<gt>\n"
10904 "#include E<lt>stdio.hE<gt>\n"
10905 "#include E<lt>signal.hE<gt>\n"
10906 "#include E<lt>time.hE<gt>\n"
10907 msgstr ""
10908 "#include E<lt>stdlib.hE<gt>\n"
10909 "#include E<lt>unistd.hE<gt>\n"
10910 "#include E<lt>stdio.hE<gt>\n"
10911 "#include E<lt>signal.hE<gt>\n"
10912 "#include E<lt>time.hE<gt>\n"
10913
10914 #. type: Plain text
10915 #: build/C/man2/timer_create.2:293
10916 #, no-wrap
10917 msgid ""
10918 "#define CLOCKID CLOCK_REALTIME\n"
10919 "#define SIG SIGRTMIN\n"
10920 msgstr ""
10921 "#define CLOCKID CLOCK_REALTIME\n"
10922 "#define SIG SIGRTMIN\n"
10923
10924 #. type: Plain text
10925 #: build/C/man2/timer_create.2:296
10926 #, no-wrap
10927 msgid ""
10928 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10929 "                        } while (0)\n"
10930 msgstr ""
10931 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10932 "                        } while (0)\n"
10933
10934 #. type: Plain text
10935 #: build/C/man2/timer_create.2:302
10936 #, no-wrap
10937 msgid ""
10938 "static void\n"
10939 "print_siginfo(siginfo_t *si)\n"
10940 "{\n"
10941 "    timer_t *tidp;\n"
10942 "    int or;\n"
10943 msgstr ""
10944 "static void\n"
10945 "print_siginfo(siginfo_t *si)\n"
10946 "{\n"
10947 "    timer_t *tidp;\n"
10948 "    int or;\n"
10949
10950 #. type: Plain text
10951 #: build/C/man2/timer_create.2:304
10952 #, no-wrap
10953 msgid "    tidp = si-E<gt>si_value.sival_ptr;\n"
10954 msgstr "    tidp = si-E<gt>si_value.sival_ptr;\n"
10955
10956 #. type: Plain text
10957 #: build/C/man2/timer_create.2:307
10958 #, no-wrap
10959 msgid ""
10960 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10961 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10962 msgstr ""
10963 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10964 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10965
10966 #. type: Plain text
10967 #: build/C/man2/timer_create.2:314
10968 #, no-wrap
10969 msgid ""
10970 "    or = timer_getoverrun(*tidp);\n"
10971 "    if (or == -1)\n"
10972 "        errExit(\"timer_getoverrun\");\n"
10973 "    else\n"
10974 "        printf(\"    overrun count = %d\\en\", or);\n"
10975 "}\n"
10976 msgstr ""
10977 "    or = timer_getoverrun(*tidp);\n"
10978 "    if (or == -1)\n"
10979 "        errExit(\"timer_getoverrun\");\n"
10980 "    else\n"
10981 "        printf(\"    overrun count = %d\\en\", or);\n"
10982 "}\n"
10983
10984 #. type: Plain text
10985 #: build/C/man2/timer_create.2:321
10986 #, no-wrap
10987 msgid ""
10988 "static void\n"
10989 "handler(int sig, siginfo_t *si, void *uc)\n"
10990 "{\n"
10991 "    /* Note: calling printf() from a signal handler is not\n"
10992 "       strictly correct, since printf() is not async-signal-safe;\n"
10993 "       see signal(7) */\n"
10994 msgstr ""
10995 "static void\n"
10996 "handler(int sig, siginfo_t *si, void *uc)\n"
10997 "{\n"
10998 "    /* Note: calling printf() from a signal handler is not\n"
10999 "       strictly correct, since printf() is not async-signal-safe;\n"
11000 "       see signal(7) */\n"
11001
11002 #. type: Plain text
11003 #: build/C/man2/timer_create.2:326
11004 #, no-wrap
11005 msgid ""
11006 "    printf(\"Caught signal %d\\en\", sig);\n"
11007 "    print_siginfo(si);\n"
11008 "    signal(sig, SIG_IGN);\n"
11009 "}\n"
11010 msgstr ""
11011 "    printf(\"Caught signal %d\\en\", sig);\n"
11012 "    print_siginfo(si);\n"
11013 "    signal(sig, SIG_IGN);\n"
11014 "}\n"
11015
11016 #. type: Plain text
11017 #: build/C/man2/timer_create.2:336
11018 #, no-wrap
11019 msgid ""
11020 "int\n"
11021 "main(int argc, char *argv[])\n"
11022 "{\n"
11023 "    timer_t timerid;\n"
11024 "    struct sigevent sev;\n"
11025 "    struct itimerspec its;\n"
11026 "    long long freq_nanosecs;\n"
11027 "    sigset_t mask;\n"
11028 "    struct sigaction sa;\n"
11029 msgstr ""
11030 "int\n"
11031 "main(int argc, char *argv[])\n"
11032 "{\n"
11033 "    timer_t timerid;\n"
11034 "    struct sigevent sev;\n"
11035 "    struct itimerspec its;\n"
11036 "    long long freq_nanosecs;\n"
11037 "    sigset_t mask;\n"
11038 "    struct sigaction sa;\n"
11039
11040 #. type: Plain text
11041 #: build/C/man2/timer_create.2:342
11042 #, no-wrap
11043 msgid ""
11044 "    if (argc != 3) {\n"
11045 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
11046 "                argv[0]);\n"
11047 "        exit(EXIT_FAILURE);\n"
11048 "    }\n"
11049 msgstr ""
11050 "    if (argc != 3) {\n"
11051 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
11052 "                argv[0]);\n"
11053 "        exit(EXIT_FAILURE);\n"
11054 "    }\n"
11055
11056 #. type: Plain text
11057 #: build/C/man2/timer_create.2:344
11058 #, no-wrap
11059 msgid "    /* Establish handler for timer signal */\n"
11060 msgstr "    /* Establish handler for timer signal */\n"
11061
11062 #. type: Plain text
11063 #: build/C/man2/timer_create.2:351
11064 #, no-wrap
11065 msgid ""
11066 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
11067 "    sa.sa_flags = SA_SIGINFO;\n"
11068 "    sa.sa_sigaction = handler;\n"
11069 "    sigemptyset(&sa.sa_mask);\n"
11070 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
11071 "        errExit(\"sigaction\");\n"
11072 msgstr ""
11073 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
11074 "    sa.sa_flags = SA_SIGINFO;\n"
11075 "    sa.sa_sigaction = handler;\n"
11076 "    sigemptyset(&sa.sa_mask);\n"
11077 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
11078 "        errExit(\"sigaction\");\n"
11079
11080 #. type: Plain text
11081 #: build/C/man2/timer_create.2:353
11082 #, no-wrap
11083 msgid "    /* Block timer signal temporarily */\n"
11084 msgstr "    /* Block timer signal temporarily */\n"
11085
11086 #. type: Plain text
11087 #: build/C/man2/timer_create.2:359
11088 #, no-wrap
11089 msgid ""
11090 "    printf(\"Blocking signal %d\\en\", SIG);\n"
11091 "    sigemptyset(&mask);\n"
11092 "    sigaddset(&mask, SIG);\n"
11093 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
11094 "        errExit(\"sigprocmask\");\n"
11095 msgstr ""
11096 "    printf(\"Blocking signal %d\\en\", SIG);\n"
11097 "    sigemptyset(&mask);\n"
11098 "    sigaddset(&mask, SIG);\n"
11099 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
11100 "        errExit(\"sigprocmask\");\n"
11101
11102 #. type: Plain text
11103 #: build/C/man2/timer_create.2:361
11104 #, no-wrap
11105 msgid "    /* Create the timer */\n"
11106 msgstr "    /* Create the timer */\n"
11107
11108 #. type: Plain text
11109 #: build/C/man2/timer_create.2:367
11110 #, no-wrap
11111 msgid ""
11112 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
11113 "    sev.sigev_signo = SIG;\n"
11114 "    sev.sigev_value.sival_ptr = &timerid;\n"
11115 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
11116 "        errExit(\"timer_create\");\n"
11117 msgstr ""
11118 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
11119 "    sev.sigev_signo = SIG;\n"
11120 "    sev.sigev_value.sival_ptr = &timerid;\n"
11121 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
11122 "        errExit(\"timer_create\");\n"
11123
11124 #. type: Plain text
11125 #: build/C/man2/timer_create.2:369
11126 #, no-wrap
11127 msgid "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
11128 msgstr "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
11129
11130 #. type: Plain text
11131 #: build/C/man2/timer_create.2:371
11132 #, no-wrap
11133 msgid "    /* Start the timer */\n"
11134 msgstr "    /* Start the timer */\n"
11135
11136 #. type: Plain text
11137 #: build/C/man2/timer_create.2:377
11138 #, no-wrap
11139 msgid ""
11140 "    freq_nanosecs = atoll(argv[2]);\n"
11141 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
11142 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
11143 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
11144 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
11145 msgstr ""
11146 "    freq_nanosecs = atoll(argv[2]);\n"
11147 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
11148 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
11149 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
11150 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
11151
11152 #. type: Plain text
11153 #: build/C/man2/timer_create.2:380
11154 #, no-wrap
11155 msgid ""
11156 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
11157 "         errExit(\"timer_settime\");\n"
11158 msgstr ""
11159 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
11160 "         errExit(\"timer_settime\");\n"
11161
11162 #. type: Plain text
11163 #: build/C/man2/timer_create.2:383
11164 #, no-wrap
11165 msgid ""
11166 "    /* Sleep for a while; meanwhile, the timer may expire\n"
11167 "       multiple times */\n"
11168 msgstr ""
11169 "    /* Sleep for a while; meanwhile, the timer may expire\n"
11170 "       multiple times */\n"
11171
11172 #. type: Plain text
11173 #: build/C/man2/timer_create.2:386
11174 #, no-wrap
11175 msgid ""
11176 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
11177 "    sleep(atoi(argv[1]));\n"
11178 msgstr ""
11179 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
11180 "    sleep(atoi(argv[1]));\n"
11181
11182 #. type: Plain text
11183 #: build/C/man2/timer_create.2:389
11184 #, no-wrap
11185 msgid ""
11186 "    /* Unlock the timer signal, so that timer notification\n"
11187 "       can be delivered */\n"
11188 msgstr ""
11189 "    /* Unlock the timer signal, so that timer notification\n"
11190 "       can be delivered */\n"
11191
11192 #. type: Plain text
11193 #: build/C/man2/timer_create.2:393
11194 #, no-wrap
11195 msgid ""
11196 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
11197 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
11198 "        errExit(\"sigprocmask\");\n"
11199 msgstr ""
11200 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
11201 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
11202 "        errExit(\"sigprocmask\");\n"
11203
11204 #. type: Plain text
11205 #: build/C/man2/timer_create.2:396 build/C/man2/timerfd_create.2:533
11206 #, no-wrap
11207 msgid ""
11208 "    exit(EXIT_SUCCESS);\n"
11209 "}\n"
11210 msgstr ""
11211 "    exit(EXIT_SUCCESS);\n"
11212 "}\n"
11213
11214 #. type: Plain text
11215 #: build/C/man2/timer_create.2:410
11216 msgid ""
11217 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
11218 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
11219 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
11220 "B<time>(7)"
11221 msgstr ""
11222 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
11223 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
11224 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
11225 "B<time>(7)"
11226
11227 #. type: TH
11228 #: build/C/man2/timer_delete.2:23
11229 #, no-wrap
11230 msgid "TIMER_DELETE"
11231 msgstr "TIMER_DELETE"
11232
11233 #. type: TH
11234 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
11235 #: build/C/man2/timer_settime.2:23
11236 #, no-wrap
11237 msgid "2009-02-20"
11238 msgstr "2009-02-20"
11239
11240 #. type: Plain text
11241 #: build/C/man2/timer_delete.2:26
11242 msgid "timer_delete - delete a POSIX per-process timer"
11243 msgstr "timer_delete - delete a POSIX per-process timer"
11244
11245 #. type: Plain text
11246 #: build/C/man2/timer_delete.2:29 build/C/man2/timer_getoverrun.2:29
11247 #: build/C/man2/timer_settime.2:30
11248 #, no-wrap
11249 msgid "B<#include E<lt>time.hE<gt>>\n"
11250 msgstr "B<#include E<lt>time.hE<gt>>\n"
11251
11252 #. type: Plain text
11253 #: build/C/man2/timer_delete.2:31
11254 #, no-wrap
11255 msgid "B<int timer_delete(timer_t >I<timerid>B<);>\n"
11256 msgstr "B<int timer_delete(timer_t >I<timerid>B<);>\n"
11257
11258 #. type: Plain text
11259 #: build/C/man2/timer_delete.2:42
11260 msgid "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11261 msgstr "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11262
11263 #. type: Plain text
11264 #: build/C/man2/timer_delete.2:50
11265 msgid ""
11266 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
11267 "the timer was armed at the time of this call, it is disarmed before being "
11268 "deleted.  The treatment of any pending signal generated by the deleted timer "
11269 "is unspecified."
11270 msgstr ""
11271 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
11272 "the timer was armed at the time of this call, it is disarmed before being "
11273 "deleted.  The treatment of any pending signal generated by the deleted timer "
11274 "is unspecified."
11275
11276 #. type: Plain text
11277 #: build/C/man2/timer_delete.2:57
11278 msgid ""
11279 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
11280 "I<errno> is set to indicate the error."
11281 msgstr ""
11282 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
11283 "I<errno> is set to indicate the error."
11284
11285 #. type: Plain text
11286 #: build/C/man2/timer_delete.2:62 build/C/man2/timer_getoverrun.2:92
11287 msgid "I<timerid> is not a valid timer ID."
11288 msgstr "I<timerid> is not a valid timer ID."
11289
11290 #. type: Plain text
11291 #: build/C/man2/timer_delete.2:72
11292 msgid ""
11293 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
11294 "B<timer_settime>(2), B<time>(7)"
11295 msgstr ""
11296 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
11297 "B<timer_settime>(2), B<time>(7)"
11298
11299 #. type: TH
11300 #: build/C/man2/timer_getoverrun.2:23
11301 #, no-wrap
11302 msgid "TIMER_GETOVERRUN"
11303 msgstr "TIMER_GETOVERRUN"
11304
11305 #. type: Plain text
11306 #: build/C/man2/timer_getoverrun.2:26
11307 msgid "timer_getoverrun - get overrun count for a POSIX per-process timer"
11308 msgstr "timer_getoverrun - get overrun count for a POSIX per-process timer"
11309
11310 #. type: Plain text
11311 #: build/C/man2/timer_getoverrun.2:31
11312 #, no-wrap
11313 msgid "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
11314 msgstr "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
11315
11316 #. type: Plain text
11317 #: build/C/man2/timer_getoverrun.2:42
11318 msgid "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11319 msgstr "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11320
11321 #. type: Plain text
11322 #: build/C/man2/timer_getoverrun.2:53
11323 msgid ""
11324 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
11325 "to by I<timerid>.  An application can use the overrun count to accurately "
11326 "calculate the number of timer expirations that would have occurred over a "
11327 "given time interval.  Timer overruns can occur both when receiving "
11328 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
11329 "(B<SIGEV_THREAD>)."
11330 msgstr ""
11331 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
11332 "to by I<timerid>.  An application can use the overrun count to accurately "
11333 "calculate the number of timer expirations that would have occurred over a "
11334 "given time interval.  Timer overruns can occur both when receiving "
11335 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
11336 "(B<SIGEV_THREAD>)."
11337
11338 #. type: Plain text
11339 #: build/C/man2/timer_getoverrun.2:73
11340 msgid ""
11341 "When expiration notifications are delivered via a signal, overruns can occur "
11342 "as follows.  Regardless of whether or not a real-time signal is used for "
11343 "timer notifications, the system queues at most one signal per timer.  (This "
11344 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
11345 "signal for each timer expiration, could easily result in overflowing the "
11346 "allowed limits for queued signals on the system.)  Because of system "
11347 "scheduling delays, or because the signal may be temporarily blocked, there "
11348 "can be a delay between the time when the notification signal is generated "
11349 "and the time when it is delivered (e.g., caught by a signal handler) or "
11350 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
11351 "expirations may occur.  The timer overrun count is the number of additional "
11352 "timer expirations that occurred between the time when the signal was "
11353 "generated and when it was delivered or accepted."
11354 msgstr ""
11355 "When expiration notifications are delivered via a signal, overruns can occur "
11356 "as follows.  Regardless of whether or not a real-time signal is used for "
11357 "timer notifications, the system queues at most one signal per timer.  (This "
11358 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
11359 "signal for each timer expiration, could easily result in overflowing the "
11360 "allowed limits for queued signals on the system.)  Because of system "
11361 "scheduling delays, or because the signal may be temporarily blocked, there "
11362 "can be a delay between the time when the notification signal is generated "
11363 "and the time when it is delivered (e.g., caught by a signal handler) or "
11364 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
11365 "expirations may occur.  The timer overrun count is the number of additional "
11366 "timer expirations that occurred between the time when the signal was "
11367 "generated and when it was delivered or accepted."
11368
11369 #. type: Plain text
11370 #: build/C/man2/timer_getoverrun.2:79
11371 msgid ""
11372 "Timer overruns can also occur when expiration notifications are delivered "
11373 "via invocation of a thread, since there may be an arbitrary delay between an "
11374 "expiration of the timer and the invocation of the notification thread, and "
11375 "in that delay interval, additional timer expirations may occur"
11376 msgstr ""
11377 "Timer overruns can also occur when expiration notifications are delivered "
11378 "via invocation of a thread, since there may be an arbitrary delay between an "
11379 "expiration of the timer and the invocation of the notification thread, and "
11380 "in that delay interval, additional timer expirations may occur"
11381
11382 #. type: Plain text
11383 #: build/C/man2/timer_getoverrun.2:87
11384 msgid ""
11385 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11386 "specified timer; this count may be 0 if no overruns have occurred.  On "
11387 "failure, -1 is returned, and I<errno> is set to indicate the error."
11388 msgstr ""
11389 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11390 "specified timer; this count may be 0 if no overruns have occurred.  On "
11391 "failure, -1 is returned, and I<errno> is set to indicate the error."
11392
11393 #. type: Plain text
11394 #: build/C/man2/timer_getoverrun.2:108
11395 msgid ""
11396 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11397 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11398 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11399 "application to avoid the overhead of making a system call to obtain the "
11400 "overrun count, but is a nonportable extension to POSIX.1-2001."
11401 msgstr ""
11402 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11403 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11404 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11405 "application to avoid the overhead of making a system call to obtain the "
11406 "overrun count, but is a nonportable extension to POSIX.1-2001."
11407
11408 #.  FIXME . Austin bug filed, 11 Feb 09
11409 #. type: Plain text
11410 #: build/C/man2/timer_getoverrun.2:112
11411 msgid ""
11412 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11413 "notifications using signals."
11414 msgstr ""
11415 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11416 "notifications using signals."
11417
11418 #.  Bug filed: http://bugzilla.kernel.org/show_bug.cgi?id=12665
11419 #.  http://thread.gmane.org/gmane.linux.kernel/113276/
11420 #. type: Plain text
11421 #: build/C/man2/timer_getoverrun.2:125
11422 msgid ""
11423 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11424 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11425 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11426 "not implement this feature: instead, if the timer overrun value exceeds the "
11427 "maximum representable integer, the counter cycles, starting once more from "
11428 "low values."
11429 msgstr ""
11430 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11431 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11432 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11433 "not implement this feature: instead, if the timer overrun value exceeds the "
11434 "maximum representable integer, the counter cycles, starting once more from "
11435 "low values."
11436
11437 #. type: Plain text
11438 #: build/C/man2/timer_getoverrun.2:128 build/C/man2/timer_settime.2:208
11439 msgid "See B<timer_create>(2)."
11440 msgstr "See B<timer_create>(2)."
11441
11442 #. type: Plain text
11443 #: build/C/man2/timer_getoverrun.2:138
11444 msgid ""
11445 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11446 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11447 "B<time>(7)"
11448 msgstr ""
11449 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11450 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11451 "B<time>(7)"
11452
11453 #. type: TH
11454 #: build/C/man2/timer_settime.2:23
11455 #, no-wrap
11456 msgid "TIMER_SETTIME"
11457 msgstr "TIMER_SETTIME"
11458
11459 #. type: Plain text
11460 #: build/C/man2/timer_settime.2:27
11461 msgid ""
11462 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11463 "process timer"
11464 msgstr ""
11465 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11466 "process timer"
11467
11468 #. type: Plain text
11469 #: build/C/man2/timer_settime.2:35
11470 #, no-wrap
11471 msgid ""
11472 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11473 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11474 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11475 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11476 msgstr ""
11477 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11478 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11479 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11480 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11481
11482 #. type: Plain text
11483 #: build/C/man2/timer_settime.2:47
11484 msgid ""
11485 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11486 msgstr ""
11487 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11488
11489 #. type: Plain text
11490 #: build/C/man2/timer_settime.2:60
11491 msgid ""
11492 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11493 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11494 "initial value and the new interval for the timer.  The I<itimerspec> "
11495 "structure is defined as follows:"
11496 msgstr ""
11497 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11498 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11499 "initial value and the new interval for the timer.  The I<itimerspec> "
11500 "structure is defined as follows:"
11501
11502 #. type: Plain text
11503 #: build/C/man2/timer_settime.2:67 build/C/man2/timerfd_create.2:127
11504 #, no-wrap
11505 msgid ""
11506 "struct timespec {\n"
11507 "    time_t tv_sec;                /* Seconds */\n"
11508 "    long   tv_nsec;               /* Nanoseconds */\n"
11509 "};\n"
11510 msgstr ""
11511 "struct timespec {\n"
11512 "    time_t tv_sec;                /* Seconds */\n"
11513 "    long   tv_nsec;               /* Nanoseconds */\n"
11514 "};\n"
11515
11516 #. type: Plain text
11517 #: build/C/man2/timer_settime.2:72
11518 #, no-wrap
11519 msgid ""
11520 "struct itimerspec {\n"
11521 "    struct timespec it_interval;  /* Timer interval */\n"
11522 "    struct timespec it_value;     /* Initial expiration */\n"
11523 "};\n"
11524 msgstr ""
11525 "struct itimerspec {\n"
11526 "    struct timespec it_interval;  /* Timer interval */\n"
11527 "    struct timespec it_value;     /* Initial expiration */\n"
11528 "};\n"
11529
11530 #. type: Plain text
11531 #: build/C/man2/timer_settime.2:84
11532 msgid ""
11533 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11534 "structure that allows a time value to be specified in seconds and "
11535 "nanoseconds.  These time values are measured according to the clock that was "
11536 "specified when the timer was created by B<timer_create>(2)"
11537 msgstr ""
11538 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11539 "structure that allows a time value to be specified in seconds and "
11540 "nanoseconds.  These time values are measured according to the clock that was "
11541 "specified when the timer was created by B<timer_create>(2)"
11542
11543 #. type: Plain text
11544 #: build/C/man2/timer_settime.2:98
11545 msgid ""
11546 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11547 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11548 "setting it to initially expire at the given time.  (If the timer was already "
11549 "armed, then the previous settings are overwritten.)  If I<new_value-"
11550 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11551 "the timer is disarmed."
11552 msgstr ""
11553 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11554 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11555 "setting it to initially expire at the given time.  (If the timer was already "
11556 "armed, then the previous settings are overwritten.)  If I<new_value-"
11557 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11558 "the timer is disarmed."
11559
11560 #. type: Plain text
11561 #: build/C/man2/timer_settime.2:110
11562 msgid ""
11563 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11564 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11565 "an armed timer expires, the timer is reloaded from the value specified in "
11566 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11567 "zero value then the timer expires just once, at the time specified by "
11568 "I<it_value>."
11569 msgstr ""
11570 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11571 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11572 "an armed timer expires, the timer is reloaded from the value specified in "
11573 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11574 "zero value then the timer expires just once, at the time specified by "
11575 "I<it_value>."
11576
11577 #.  By experiment: the overrun count is set correctly, for CLOCK_REALTIME.
11578 #. type: Plain text
11579 #: build/C/man2/timer_settime.2:131
11580 msgid ""
11581 "By default, the initial expiration time specified in I<new_value-"
11582 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11583 "clock at the time of the call.  This can be modified by specifying "
11584 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11585 "interpreted as an absolute value as measured on the timer's clock; that is, "
11586 "the timer will expire when the clock value reaches the value specified by "
11587 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11588 "passed, then the timer expires immediately, and the overrun count (see "
11589 "B<timer_getoverrun>(2))  will be set correctly."
11590 msgstr ""
11591 "By default, the initial expiration time specified in I<new_value-"
11592 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11593 "clock at the time of the call.  This can be modified by specifying "
11594 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11595 "interpreted as an absolute value as measured on the timer's clock; that is, "
11596 "the timer will expire when the clock value reaches the value specified by "
11597 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11598 "passed, then the timer expires immediately, and the overrun count (see "
11599 "B<timer_getoverrun>(2))  will be set correctly."
11600
11601 #.  Similar remarks might apply with respect to process and thread CPU time
11602 #.  clocks, but these clocks are not currently (2.6.28) settable on Linux.
11603 #. type: Plain text
11604 #: build/C/man2/timer_settime.2:141
11605 msgid ""
11606 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11607 "timer based on that clock is armed, then the expiration of the timer will be "
11608 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11609 "effect on relative timers based on that clock."
11610 msgstr ""
11611 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11612 "timer based on that clock is armed, then the expiration of the timer will be "
11613 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11614 "effect on relative timers based on that clock."
11615
11616 #. type: Plain text
11617 #: build/C/man2/timer_settime.2:149
11618 msgid ""
11619 "If I<old_value> is not NULL, then it returns the previous interval of the "
11620 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11621 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11622 msgstr ""
11623 "If I<old_value> is not NULL, then it returns the previous interval of the "
11624 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11625 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11626
11627 #. type: Plain text
11628 #: build/C/man2/timer_settime.2:169
11629 msgid ""
11630 "B<timer_gettime>()  returns the time until next expiration, and the "
11631 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11632 "I<curr_value>.  The time remaining until the next timer expiration is "
11633 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11634 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11635 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11636 "the timer is currently disarmed.  The timer interval is returned in "
11637 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11638 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11639 msgstr ""
11640 "B<timer_gettime>()  returns the time until next expiration, and the "
11641 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11642 "I<curr_value>.  The time remaining until the next timer expiration is "
11643 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11644 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11645 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11646 "the timer is currently disarmed.  The timer interval is returned in "
11647 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11648 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11649
11650 #. type: Plain text
11651 #: build/C/man2/timer_settime.2:178
11652 msgid ""
11653 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11654 "-1 is returned, and I<errno> is set to indicate the error."
11655 msgstr ""
11656 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11657 "-1 is returned, and I<errno> is set to indicate the error."
11658
11659 #. type: Plain text
11660 #: build/C/man2/timer_settime.2:180
11661 msgid "These functions may fail with the following errors:"
11662 msgstr "These functions may fail with the following errors:"
11663
11664 #. type: Plain text
11665 #: build/C/man2/timer_settime.2:187
11666 msgid "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11667 msgstr "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11668
11669 #.  FIXME . eventually: invalid value in flags
11670 #. type: Plain text
11671 #: build/C/man2/timer_settime.2:192
11672 msgid "I<timerid> is invalid."
11673 msgstr "I<timerid> is invalid."
11674
11675 #. type: Plain text
11676 #: build/C/man2/timer_settime.2:195
11677 msgid "B<timer_settime>()  may fail with the following errors:"
11678 msgstr "B<timer_settime>()  may fail with the following errors:"
11679
11680 #. type: Plain text
11681 #: build/C/man2/timer_settime.2:201
11682 msgid ""
11683 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11684 "negative or greater than 999,999,999."
11685 msgstr ""
11686 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11687 "negative or greater than 999,999,999."
11688
11689 #. type: Plain text
11690 #: build/C/man2/timer_settime.2:203
11691 msgid "These system calls are available since Linux 2.6."
11692 msgstr "These system calls are available since Linux 2.6."
11693
11694 #. type: Plain text
11695 #: build/C/man2/timer_settime.2:212
11696 msgid "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11697 msgstr "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11698
11699 #. type: TH
11700 #: build/C/man2/timerfd_create.2:20
11701 #, no-wrap
11702 msgid "TIMERFD_CREATE"
11703 msgstr "TIMERFD_CREATE"
11704
11705 #. type: TH
11706 #: build/C/man2/timerfd_create.2:20
11707 #, fuzzy, no-wrap
11708 #| msgid "2011-09-18"
11709 msgid "2011-09-14"
11710 msgstr "2011-09-18"
11711
11712 #. type: Plain text
11713 #: build/C/man2/timerfd_create.2:24
11714 msgid ""
11715 "timerfd_create, timerfd_settime, timerfd_gettime - timers that notify via "
11716 "file descriptors"
11717 msgstr ""
11718 "timerfd_create, timerfd_settime, timerfd_gettime - ファイルディスクリプタ経由"
11719 "で通知するタイマー"
11720
11721 #. type: Plain text
11722 #: build/C/man2/timerfd_create.2:27
11723 #, no-wrap
11724 msgid "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11725 msgstr "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11726
11727 #. type: Plain text
11728 #: build/C/man2/timerfd_create.2:29
11729 #, no-wrap
11730 msgid "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11731 msgstr "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11732
11733 #. type: Plain text
11734 #: build/C/man2/timerfd_create.2:33
11735 #, no-wrap
11736 msgid ""
11737 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11738 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11739 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11740 msgstr ""
11741 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11742 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11743 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11744
11745 #. type: Plain text
11746 #: build/C/man2/timerfd_create.2:35
11747 #, no-wrap
11748 msgid "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11749 msgstr "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11750
11751 #. type: Plain text
11752 #: build/C/man2/timerfd_create.2:48
11753 msgid ""
11754 "These system calls create and operate on a timer that delivers timer "
11755 "expiration notifications via a file descriptor.  They provide an alternative "
11756 "to the use of B<setitimer>(2)  or B<timer_create>(2), with the advantage "
11757 "that the file descriptor may be monitored by B<select>(2), B<poll>(2), and "
11758 "B<epoll>(7)."
11759 msgstr ""
11760 "これらのシステムコールは、満了通知をファイルディスクリプタ経由で配送する タイ"
11761 "マーの生成と操作を行う。 これらは、 B<setitimer>(2)  や B<timer_create>(2)  "
11762 "を用いる方法の代わりとなるものであり、このファイルディスクリプタを B<select>"
11763 "(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
11764
11765 #. type: Plain text
11766 #: build/C/man2/timerfd_create.2:60
11767 msgid ""
11768 "The use of these three system calls is analogous to the use of "
11769 "B<timer_create>(2), B<timer_settime>(2), and B<timer_gettime>(2).  (There is "
11770 "no analog of B<timer_getoverrun>(2), since that functionality is provided by "
11771 "B<read>(2), as described below.)"
11772 msgstr ""
11773 "これらのシステムコールを使うのは、それぞれ B<timer_create>(2), "
11774 "B<timer_settime>(2), B<timer_gettime>(2)  を使うのと同様である "
11775 "(B<timer_getoverrun>(2)  に対応するものはなく、以下で説明するように この機能"
11776 "は B<read>(2)  により提供される)。"
11777
11778 #. type: SS
11779 #: build/C/man2/timerfd_create.2:60
11780 #, no-wrap
11781 msgid "timerfd_create()"
11782 msgstr "timerfd_create()"
11783
11784 #. type: Plain text
11785 #: build/C/man2/timerfd_create.2:79
11786 msgid ""
11787 "B<timerfd_create>()  creates a new timer object, and returns a file "
11788 "descriptor that refers to that timer.  The I<clockid> argument specifies the "
11789 "clock that is used to mark the progress of the timer, and must be either "
11790 "B<CLOCK_REALTIME> or B<CLOCK_MONOTONIC>.  B<CLOCK_REALTIME> is a settable "
11791 "system-wide clock.  B<CLOCK_MONOTONIC> is a nonsettable clock that is not "
11792 "affected by discontinuous changes in the system clock (e.g., manual changes "
11793 "to system time).  The current value of each of these clocks can be retrieved "
11794 "using B<clock_gettime>(2)."
11795 msgstr ""
11796 "B<timerfd_create>()  は新規のタイマーオブジェクトを生成し、そのタイマーを参照"
11797 "するファイル ディスクリプタを返す。 I<clockid> 引き数は、タイマーの進捗を管理"
11798 "するためのクロックを指定するもので、 B<CLOCK_REALTIME> か B<CLOCK_MONOTONIC> "
11799 "のいずれかでなければならない。 B<CLOCK_REALTIME> はシステム全体で使用されるク"
11800 "ロックで、このクロックは変更可能である。 B<CLOCK_MONOTONIC> は変更されること"
11801 "のないクロックで、(システム時刻の手動での変更などの)  システムクロックの不連"
11802 "続な変化の影響を受けない。 これらのクロックの現在の値は B<clock_gettime>(2)  "
11803 "を使って取得できる。"
11804
11805 #. type: Plain text
11806 #: build/C/man2/timerfd_create.2:84
11807 msgid ""
11808 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
11809 "I<flags> to change the behavior of B<timerfd_create>():"
11810 msgstr ""
11811 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
11812 "ることで、 B<timerfd_create>()  の振舞いを変更することができる。"
11813
11814 #. type: TP
11815 #: build/C/man2/timerfd_create.2:84
11816 #, no-wrap
11817 msgid "B<TFD_NONBLOCK>"
11818 msgstr "B<TFD_NONBLOCK>"
11819
11820 #. type: TP
11821 #: build/C/man2/timerfd_create.2:92
11822 #, no-wrap
11823 msgid "B<TFD_CLOEXEC>"
11824 msgstr "B<TFD_CLOEXEC>"
11825
11826 #. type: Plain text
11827 #: build/C/man2/timerfd_create.2:106
11828 msgid ""
11829 "In Linux versions up to and including 2.6.26, I<flags> must be specified as "
11830 "zero."
11831 msgstr ""
11832 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
11833 "しなければならない。"
11834
11835 #. type: SS
11836 #: build/C/man2/timerfd_create.2:106
11837 #, no-wrap
11838 msgid "timerfd_settime()"
11839 msgstr "timerfd_settime()"
11840
11841 #. type: Plain text
11842 #: build/C/man2/timerfd_create.2:111
11843 msgid ""
11844 "B<timerfd_settime>()  arms (starts) or disarms (stops)  the timer referred "
11845 "to by the file descriptor I<fd>."
11846 msgstr ""
11847 "B<timerfd_settime>()  は、ファイルディスクリプタ I<fd> により参照されるタイ"
11848 "マーを開始したり停止したりする。"
11849
11850 #. type: Plain text
11851 #: build/C/man2/timerfd_create.2:120
11852 msgid ""
11853 "The I<new_value> argument specifies the initial expiration and interval for "
11854 "the timer.  The I<itimer> structure used for this argument contains two "
11855 "fields, each of which is in turn a structure of type I<timespec>:"
11856 msgstr ""
11857 "I<new_value> 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 "
11858 "(interval) を 指定する。この引き数で使用されている I<itimerspec> 構造体には "
11859 "2 つのフィールドがあり、各フィールドは I<timespec> 型の構造体である。"
11860
11861 #. type: Plain text
11862 #: build/C/man2/timerfd_create.2:132
11863 #, no-wrap
11864 msgid ""
11865 "struct itimerspec {\n"
11866 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11867 "    struct timespec it_value;     /* Initial expiration */\n"
11868 "};\n"
11869 msgstr ""
11870 "struct itimerspec {\n"
11871 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11872 "    struct timespec it_value;     /* Initial expiration */\n"
11873 "};\n"
11874
11875 #. type: Plain text
11876 #: build/C/man2/timerfd_create.2:144
11877 msgid ""
11878 "I<new_value.it_value> specifies the initial expiration of the timer, in "
11879 "seconds and nanoseconds.  Setting either field of I<new_value.it_value> to a "
11880 "nonzero value arms the timer.  Setting both fields of I<new_value.it_value> "
11881 "to zero disarms the timer."
11882 msgstr ""
11883 "I<new_value.it_value> はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 "
11884 "I<new_value.it_value> のフィールドのうち少なくとも一方に 0 以外の値を設定する"
11885 "と、 タイマーが開始される。 両方のフィールドに 0 を設定すると、タイマーが停止"
11886 "する。"
11887
11888 #. type: Plain text
11889 #: build/C/man2/timerfd_create.2:153
11890 msgid ""
11891 "Setting one or both fields of I<new_value.it_interval> to nonzero values "
11892 "specifies the period, in seconds and nanoseconds, for repeated timer "
11893 "expirations after the initial expiration.  If both fields of I<new_value."
11894 "it_interval> are zero, the timer expires just once, at the time specified by "
11895 "I<new_value.it_value>."
11896 msgstr ""
11897 "I<new_value.it_interval> はタイマーの一回目の満了後に繰り返しタイマーの満了間"
11898 "隔を、秒とナノ秒で指定する。 I<new_value.it_interval> のフィールドのうち少な"
11899 "くとも一方に 0 以外の値を設定すると、 繰り返しタイマーが有効になる。 両方の"
11900 "フィールドに 0 を設定した場合、タイマーは I<new_value.it_value> で指定された"
11901 "時間後に、一回だけ満了して停止する。"
11902
11903 #. type: Plain text
11904 #: build/C/man2/timerfd_create.2:169
11905 #, fuzzy
11906 #| msgid ""
11907 #| "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11908 #| "it_interval> specifies a time relative to the current value of the clock "
11909 #| "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11910 #| "timer (I<new_value.it_value> specifies an absolute time for the clock "
11911 #| "specified by I<clockid>; that is, the timer will expire when the value of "
11912 #| "that clock reaches the value specified in I<new_value.it_value>)."
11913 msgid ""
11914 "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11915 "it_value> specifies a time relative to the current value of the clock "
11916 "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11917 "timer (I<new_value.it_value> specifies an absolute time for the clock "
11918 "specified by I<clockid>; that is, the timer will expire when the value of "
11919 "that clock reaches the value specified in I<new_value.it_value>)."
11920 msgstr ""
11921 "I<flags> 引き数には 0 か B<TFD_TIMER_ABSTIME> を指定する。 0 は相対時刻タイ"
11922 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11923 "の現在の値からの相対的な時刻を指定する。 B<TFD_TIMER_ABSTIME> は絶対時刻タイ"
11924 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11925 "の絶対時刻を指定する。つまり、 クロックの値が I<new_value.it_interval> で指定"
11926 "された時刻に達したら、タイマーが満了する。"
11927
11928 #. type: Plain text
11929 #: build/C/man2/timerfd_create.2:180
11930 #, fuzzy
11931 #| msgid ""
11932 #| "The I<old_value> argument returns a structure containing the setting of "
11933 #| "the timer that was current at the time of the call; see the description "
11934 #| "of B<timerfd_gettime>()  following."
11935 msgid ""
11936 "If the I<old_value> argument is not NULL, then the I<itimerspec> structure "
11937 "that it points to is used to return the setting of the timer that was "
11938 "current at the time of the call; see the description of B<timerfd_gettime>"
11939 "()  following."
11940 msgstr ""
11941 "I<old_value> 引き数を通じて、 B<timerfd_settime>()  を呼び出した時点でのタイ"
11942 "マーの設定を保持した構造体が返される。 下記の B<timerfd_gettime>()  の説明を"
11943 "参照。"
11944
11945 #. type: SS
11946 #: build/C/man2/timerfd_create.2:180
11947 #, no-wrap
11948 msgid "timerfd_gettime()"
11949 msgstr "timerfd_gettime()"
11950
11951 #. type: Plain text
11952 #: build/C/man2/timerfd_create.2:189
11953 msgid ""
11954 "B<timerfd_gettime>()  returns, in I<curr_value>, an I<itimerspec> structure "
11955 "that contains the current setting of the timer referred to by the file "
11956 "descriptor I<fd>."
11957 msgstr ""
11958 "B<timerfd_gettime>()  は、ファイルディスクリプタ I<fd> で参照されるタイマーの"
11959 "現在の設定が入った I<itimerspec> 構造体を、 I<curr_value> に格納して返す。"
11960
11961 #. type: Plain text
11962 #: build/C/man2/timerfd_create.2:199
11963 msgid ""
11964 "The I<it_value> field returns the amount of time until the timer will next "
11965 "expire.  If both fields of this structure are zero, then the timer is "
11966 "currently disarmed.  This field always contains a relative value, regardless "
11967 "of whether the B<TFD_TIMER_ABSTIME> flag was specified when setting the "
11968 "timer."
11969 msgstr ""
11970 "I<it_value> フィールドは、タイマーが次に満了するまでの残り時間を返す。 この構"
11971 "造体の両方のフィールドが 0 であれば、タイマーは現在停止している。 タイマー設"
11972 "定時に B<TFD_TIMER_ABSTIME> フラグが指定されたかに関わらず、このフィールドは"
11973 "常に相対値が格納される。"
11974
11975 #. type: Plain text
11976 #: build/C/man2/timerfd_create.2:206
11977 msgid ""
11978 "The I<it_interval> field returns the interval of the timer.  If both fields "
11979 "of this structure are zero, then the timer is set to expire just once, at "
11980 "the time specified by I<curr_value.it_value>."
11981 msgstr ""
11982 "I<it_interval> フィールドは、タイマーの間隔を返す。 この構造体の両方のフィー"
11983 "ルドが 0 であれば、タイマーは I<new_value.it_value> で指定された時間後に一回"
11984 "だけ満了して停止するように設定されている。"
11985
11986 #. type: SS
11987 #: build/C/man2/timerfd_create.2:206
11988 #, no-wrap
11989 msgid "Operating on a timer file descriptor"
11990 msgstr "タイマー・ファイルディスクリプタに対する操作"
11991
11992 #. type: Plain text
11993 #: build/C/man2/timerfd_create.2:210
11994 msgid ""
11995 "The file descriptor returned by B<timerfd_create>()  supports the following "
11996 "operations:"
11997 msgstr ""
11998 "B<timerfd_create>()  が返すファイルディスクリプタは以下の操作をサポートしてい"
11999 "る。"
12000
12001 #. type: Plain text
12002 #: build/C/man2/timerfd_create.2:224
12003 msgid ""
12004 "If the timer has already expired one or more times since its settings were "
12005 "last modified using B<timerfd_settime>(), or since the last successful "
12006 "B<read>(2), then the buffer given to B<read>(2)  returns an unsigned 8-byte "
12007 "integer (I<uint64_t>)  containing the number of expirations that have "
12008 "occurred.  (The returned value is in host byte order, i.e., the native byte "
12009 "order for integers on the host machine.)"
12010 msgstr ""
12011 "B<timerfd_settime>()  を使ってタイマーの設定が最後変更されて以降、または "
12012 "B<read>(2)  の呼び出しに最後に成功して以降に、タイマーの満了が一回以上発生し"
12013 "ていれば、 B<read>(2)  に渡されたバッファに、タイマー満了回数を示す 8 バイト"
12014 "の unsigned 型の整数 (I<uint64_t>)  が返される (返される値はホストバイトオー"
12015 "ダ、つまりそのホストマシンにおける 整数の通常のバイトオーダである)。"
12016
12017 #. type: Plain text
12018 #: build/C/man2/timerfd_create.2:237
12019 msgid ""
12020 "If no timer expirations have occurred at the time of the B<read>(2), then "
12021 "the call either blocks until the next timer expiration, or fails with the "
12022 "error B<EAGAIN> if the file descriptor has been made nonblocking (via the "
12023 "use of the B<fcntl>(2)  B<F_SETFL> operation to set the B<O_NONBLOCK> flag)."
12024 msgstr ""
12025 "B<read>(2)  を行った時点でタイマーの満了が発生していなければ、 B<read>(2)  は"
12026 "停止 (block) する、もしくはファイルディスクリプタが 非停止 (nonblocking) に設"
12027 "定されている場合はエラー B<EAGAIN> で失敗する (非停止モードにするには、 "
12028 "B<fcntl>(2)  の B<F_SETFL> 命令で B<O_NONBLOCK> フラグをセットする)。"
12029
12030 #. type: Plain text
12031 #: build/C/man2/timerfd_create.2:243
12032 msgid ""
12033 "A B<read>(2)  will fail with the error B<EINVAL> if the size of the supplied "
12034 "buffer is less than 8 bytes."
12035 msgstr ""
12036 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
12037 "B<EINVAL> で失敗する。"
12038
12039 #. type: Plain text
12040 #: build/C/man2/timerfd_create.2:254
12041 msgid ""
12042 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
12043 "B<poll>(2)  B<POLLIN> flag)  if one or more timer expirations have occurred."
12044 msgstr ""
12045 "一つ以上のタイマー満了が発生していれば、 ファイルディスクリプタは読み出し可能"
12046 "となる (B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラ"
12047 "グ)。"
12048
12049 #. type: Plain text
12050 #: build/C/man2/timerfd_create.2:261
12051 msgid ""
12052 "The file descriptor also supports the other file-descriptor multiplexing "
12053 "APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
12054 msgstr ""
12055 "このファイルディスクリプタは、他のファイルディスクリプタ多重 API である "
12056 "B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
12057
12058 #. type: Plain text
12059 #: build/C/man2/timerfd_create.2:268
12060 msgid ""
12061 "When the file descriptor is no longer required it should be closed.  When "
12062 "all file descriptors associated with the same timer object have been closed, "
12063 "the timer is disarmed and its resources are freed by the kernel."
12064 msgstr ""
12065 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
12066 "る。 同じ timer オブジェクトに関連付けられたファイルディスクリプタが全て ク"
12067 "ローズされると、そのタイマーは解除され、 そのオブジェクト用の資源がカーネルに"
12068 "より解放される。"
12069
12070 #. type: Plain text
12071 #: build/C/man2/timerfd_create.2:280
12072 msgid ""
12073 "After a B<fork>(2), the child inherits a copy of the file descriptor created "
12074 "by B<timerfd_create>().  The file descriptor refers to the same underlying "
12075 "timer object as the corresponding file descriptor in the parent, and B<read>"
12076 "(2)s in the child will return information about expirations of the timer."
12077 msgstr ""
12078 "B<fork>(2)  が行われると、子プロセスは B<timerfd_create>()  により生成された"
12079 "ファイルディスクリプタのコピーを 継承する。そのファイルディスクリプタは、親プ"
12080 "ロセスの対応する ファイルディスクリプタと同じタイマーオブジェクトを参照してお"
12081 "り、 子プロセスの B<read>(2)  でも同じタイマーの満了に関する情報が返される。"
12082
12083 #. type: Plain text
12084 #: build/C/man2/timerfd_create.2:286
12085 msgid ""
12086 "A file descriptor created by B<timerfd_create>()  is preserved across "
12087 "B<execve>(2), and continues to generate timer expirations if the timer was "
12088 "armed."
12089 msgstr ""
12090 "B<execve>(2)  の前後で B<timerfd_create>()  により生成されたファイルディスク"
12091 "リプタは保持され、 タイマーが開始されていた場合にはタイマーの満了が発生し続け"
12092 "る。"
12093
12094 #. type: Plain text
12095 #: build/C/man2/timerfd_create.2:293
12096 msgid ""
12097 "On success, B<timerfd_create>()  returns a new file descriptor.  On error, "
12098 "-1 is returned and I<errno> is set to indicate the error."
12099 msgstr ""
12100 "成功すると、 B<timerfd_create>()  は新しいファイルディスクリプタを返す。 エ"
12101 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
12102
12103 #. type: Plain text
12104 #: build/C/man2/timerfd_create.2:301
12105 msgid ""
12106 "B<timerfd_settime>()  and B<timerfd_gettime>()  return 0 on success; on "
12107 "error they return -1, and set I<errno> to indicate the error."
12108 msgstr ""
12109 "B<timerfd_settime>()  と B<timerfd_gettime>()  は成功すると 0 を返す。 エラー"
12110 "の場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
12111
12112 #. type: Plain text
12113 #: build/C/man2/timerfd_create.2:304
12114 msgid "B<timerfd_create>()  can fail with the following errors:"
12115 msgstr "B<timerfd_create>()  は以下のエラーで失敗する可能性がある。"
12116
12117 #. type: Plain text
12118 #: build/C/man2/timerfd_create.2:312
12119 msgid ""
12120 "The I<clockid> argument is neither B<CLOCK_MONOTONIC> nor B<CLOCK_REALTIME>;"
12121 msgstr ""
12122 "I<clockid> 引き数が B<CLOCK_MONOTONIC> でも B<CLOCK_REALTIME> でもない。"
12123
12124 #. type: Plain text
12125 #: build/C/man2/timerfd_create.2:332
12126 msgid "There was insufficient kernel memory to create the timer."
12127 msgstr "タイマーを作成するのに十分なカーネルメモリがなかった。"
12128
12129 #. type: Plain text
12130 #: build/C/man2/timerfd_create.2:337
12131 msgid ""
12132 "B<timerfd_settime>()  and B<timerfd_gettime>()  can fail with the following "
12133 "errors:"
12134 msgstr ""
12135 "B<timerfd_settime>()  と B<timerfd_gettime>()  は以下のエラーで失敗する可能性"
12136 "がある。"
12137
12138 #. type: Plain text
12139 #: build/C/man2/timerfd_create.2:341
12140 msgid "I<fd> is not a valid file descriptor."
12141 msgstr "I<fd> が有効なファイルディスクリプタでない。"
12142
12143 #. type: Plain text
12144 #: build/C/man2/timerfd_create.2:352
12145 msgid "I<fd> is not a valid timerfd file descriptor."
12146 msgstr "I<fd> が有効な timerfd ファイルディスクリプタでない。"
12147
12148 #. type: Plain text
12149 #: build/C/man2/timerfd_create.2:355
12150 msgid "B<timerfd_settime>()  can also fail with the following errors:"
12151 msgstr "B<timerfd_settime>()  は以下のエラーで失敗することもある。"
12152
12153 #. type: Plain text
12154 #: build/C/man2/timerfd_create.2:361
12155 msgid ""
12156 "I<new_value> is not properly initialized (one of the I<tv_nsec> falls "
12157 "outside the range zero to 999,999,999)."
12158 msgstr ""
12159 "I<new_value> が適切に初期化されていない (I<tv_nsec> の一つが 0 から "
12160 "999,999,999 までの範囲に入っていない)。"
12161
12162 #.  This case only checked since 2.6.29, and 2.2.2[78].some-stable-version.
12163 #.  In older kernel versions, no check was made for invalid flags.
12164 #. type: Plain text
12165 #: build/C/man2/timerfd_create.2:367
12166 msgid "I<flags> is invalid."
12167 msgstr "I<flags> が無効である。"
12168
12169 #. type: Plain text
12170 #: build/C/man2/timerfd_create.2:370
12171 msgid ""
12172 "These system calls are available on Linux since kernel 2.6.25.  Library "
12173 "support is provided by glibc since version 2.8."
12174 msgstr ""
12175 "これらのシステムコールはカーネル 2.6.25 以降の Linux で利用可能である。 ライ"
12176 "ブラリ側のサポートはバージョン 2.8 以降の glibc で提供されている。"
12177
12178 #. type: Plain text
12179 #: build/C/man2/timerfd_create.2:381
12180 msgid ""
12181 "The following program creates a timer and then monitors its progress.  The "
12182 "program accepts up to three command-line arguments.  The first argument "
12183 "specifies the number of seconds for the initial expiration of the timer.  "
12184 "The second argument specifies the interval for the timer, in seconds.  The "
12185 "third argument specifies the number of times the program should allow the "
12186 "timer to expire before terminating.  The second and third command-line "
12187 "arguments are optional."
12188 msgstr ""
12189 "以下のプログラムは、タイマーを作成し、その進捗をモニターするものである。 この"
12190 "プログラムは最大で 3 個のコマンドライン引き数を取り、 第一引き数ではタイマー"
12191 "の満了時間の初期値 (秒数単位) を、 第二引き数ではタイマーの間隔 (秒数単位) "
12192 "を、 第三引き数ではタイマーが何回満了したらプログラムが終了するかを指定す"
12193 "る。 第二引き数と第三引き数は省略可能である。"
12194
12195 #. type: Plain text
12196 #: build/C/man2/timerfd_create.2:383 build/C/man2/wait.2:541
12197 msgid "The following shell session demonstrates the use of the program:"
12198 msgstr "以下のシェルのセッションはこのプログラムの使用例を示したものである。"
12199
12200 #. type: Plain text
12201 #: build/C/man2/timerfd_create.2:398
12202 #, no-wrap
12203 msgid ""
12204 "$B< a.out 3 1 100>\n"
12205 "0.000: timer started\n"
12206 "3.000: read: 1; total=1\n"
12207 "4.000: read: 1; total=2\n"
12208 "B<^Z >                 # type control-Z to suspend the program\n"
12209 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
12210 "$ B<fg>                # Resume execution after a few seconds\n"
12211 "a.out 3 1 100\n"
12212 "9.660: read: 5; total=7\n"
12213 "10.000: read: 1; total=8\n"
12214 "11.000: read: 1; total=9\n"
12215 "B<^C >                 # type control-C to suspend the program\n"
12216 msgstr ""
12217 "$B< a.out 3 1 100>\n"
12218 "0.000: timer started\n"
12219 "3.000: read: 1; total=1\n"
12220 "4.000: read: 1; total=2\n"
12221 "B<^Z >                 # type control-Z to suspend the program\n"
12222 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
12223 "$ B<fg>                # Resume execution after a few seconds\n"
12224 "a.out 3 1 100\n"
12225 "9.660: read: 5; total=7\n"
12226 "10.000: read: 1; total=8\n"
12227 "11.000: read: 1; total=9\n"
12228 "B<^C >                 # type control-C to suspend the program\n"
12229
12230 #.  The commented out code here is what we currently need until
12231 #.  the required stuff is in glibc
12232 #. /* Link with -lrt */
12233 #. #define _GNU_SOURCE
12234 #. #include <sys/syscall.h>
12235 #. #include <unistd.h>
12236 #. #include <time.h>
12237 #. #if defined(__i386__)
12238 #. #define __NR_timerfd_create 322
12239 #. #define __NR_timerfd_settime 325
12240 #. #define __NR_timerfd_gettime 326
12241 #. #endif
12242 #. static int
12243 #. timerfd_create(int clockid, int flags)
12244 #. {
12245 #.     return syscall(__NR_timerfd_create, clockid, flags);
12246 #. }
12247 #. static int
12248 #. timerfd_settime(int fd, int flags, struct itimerspec *new_value,
12249 #.         struct itimerspec *curr_value)
12250 #. {
12251 #.     return syscall(__NR_timerfd_settime, fd, flags, new_value,
12252 #.                    curr_value);
12253 #. }
12254 #. static int
12255 #. timerfd_gettime(int fd, struct itimerspec *curr_value)
12256 #. {
12257 #.     return syscall(__NR_timerfd_gettime, fd, curr_value);
12258 #. }
12259 #. #define TFD_TIMER_ABSTIME (1 << 0)
12260 #. ////////////////////////////////////////////////////////////
12261 #. type: Plain text
12262 #: build/C/man2/timerfd_create.2:447
12263 #, no-wrap
12264 msgid ""
12265 "#include E<lt>sys/timerfd.hE<gt>\n"
12266 "#include E<lt>time.hE<gt>\n"
12267 "#include E<lt>unistd.hE<gt>\n"
12268 "#include E<lt>stdlib.hE<gt>\n"
12269 "#include E<lt>stdio.hE<gt>\n"
12270 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
12271 msgstr ""
12272 "#include E<lt>sys/timerfd.hE<gt>\n"
12273 "#include E<lt>time.hE<gt>\n"
12274 "#include E<lt>unistd.hE<gt>\n"
12275 "#include E<lt>stdlib.hE<gt>\n"
12276 "#include E<lt>stdio.hE<gt>\n"
12277 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
12278
12279 #. type: Plain text
12280 #: build/C/man2/timerfd_create.2:450
12281 #, no-wrap
12282 msgid ""
12283 "#define handle_error(msg) \\e\n"
12284 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
12285 msgstr ""
12286 "#define handle_error(msg) \\e\n"
12287 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
12288
12289 #. type: Plain text
12290 #: build/C/man2/timerfd_create.2:458
12291 #, no-wrap
12292 msgid ""
12293 "static void\n"
12294 "print_elapsed_time(void)\n"
12295 "{\n"
12296 "    static struct timespec start;\n"
12297 "    struct timespec curr;\n"
12298 "    static int first_call = 1;\n"
12299 "    int secs, nsecs;\n"
12300 msgstr ""
12301 "static void\n"
12302 "print_elapsed_time(void)\n"
12303 "{\n"
12304 "    static struct timespec start;\n"
12305 "    struct timespec curr;\n"
12306 "    static int first_call = 1;\n"
12307 "    int secs, nsecs;\n"
12308
12309 #. type: Plain text
12310 #: build/C/man2/timerfd_create.2:464
12311 #, no-wrap
12312 msgid ""
12313 "    if (first_call) {\n"
12314 "        first_call = 0;\n"
12315 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
12316 "            handle_error(\"clock_gettime\");\n"
12317 "    }\n"
12318 msgstr ""
12319 "    if (first_call) {\n"
12320 "        first_call = 0;\n"
12321 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
12322 "            handle_error(\"clock_gettime\");\n"
12323 "    }\n"
12324
12325 #. type: Plain text
12326 #: build/C/man2/timerfd_create.2:467
12327 #, no-wrap
12328 msgid ""
12329 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
12330 "        handle_error(\"clock_gettime\");\n"
12331 msgstr ""
12332 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
12333 "        handle_error(\"clock_gettime\");\n"
12334
12335 #. type: Plain text
12336 #: build/C/man2/timerfd_create.2:476
12337 #, no-wrap
12338 msgid ""
12339 "    secs = curr.tv_sec - start.tv_sec;\n"
12340 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
12341 "    if (nsecs E<lt> 0) {\n"
12342 "        secs--;\n"
12343 "        nsecs += 1000000000;\n"
12344 "    }\n"
12345 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
12346 "}\n"
12347 msgstr ""
12348 "    secs = curr.tv_sec - start.tv_sec;\n"
12349 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
12350 "    if (nsecs E<lt> 0) {\n"
12351 "        secs--;\n"
12352 "        nsecs += 1000000000;\n"
12353 "    }\n"
12354 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
12355 "}\n"
12356
12357 #. type: Plain text
12358 #: build/C/man2/timerfd_create.2:485
12359 #, no-wrap
12360 msgid ""
12361 "int\n"
12362 "main(int argc, char *argv[])\n"
12363 "{\n"
12364 "    struct itimerspec new_value;\n"
12365 "    int max_exp, fd;\n"
12366 "    struct timespec now;\n"
12367 "    uint64_t exp, tot_exp;\n"
12368 "    ssize_t s;\n"
12369 msgstr ""
12370 "int\n"
12371 "main(int argc, char *argv[])\n"
12372 "{\n"
12373 "    struct itimerspec new_value;\n"
12374 "    int max_exp, fd;\n"
12375 "    struct timespec now;\n"
12376 "    uint64_t exp, tot_exp;\n"
12377 "    ssize_t s;\n"
12378
12379 #. type: Plain text
12380 #: build/C/man2/timerfd_create.2:491
12381 #, no-wrap
12382 msgid ""
12383 "    if ((argc != 2) && (argc != 4)) {\n"
12384 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12385 "                argv[0]);\n"
12386 "        exit(EXIT_FAILURE);\n"
12387 "    }\n"
12388 msgstr ""
12389 "    if ((argc != 2) && (argc != 4)) {\n"
12390 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12391 "                argv[0]);\n"
12392 "        exit(EXIT_FAILURE);\n"
12393 "    }\n"
12394
12395 #. type: Plain text
12396 #: build/C/man2/timerfd_create.2:494
12397 #, no-wrap
12398 msgid ""
12399 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12400 "        handle_error(\"clock_gettime\");\n"
12401 msgstr ""
12402 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12403 "        handle_error(\"clock_gettime\");\n"
12404
12405 #. type: Plain text
12406 #: build/C/man2/timerfd_create.2:497
12407 #, no-wrap
12408 msgid ""
12409 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12410 "       expiration and interval as specified in command line */\n"
12411 msgstr ""
12412 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12413 "       expiration and interval as specified in command line */\n"
12414
12415 #. type: Plain text
12416 #: build/C/man2/timerfd_create.2:508
12417 #, no-wrap
12418 msgid ""
12419 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12420 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12421 "    if (argc == 2) {\n"
12422 "        new_value.it_interval.tv_sec = 0;\n"
12423 "        max_exp = 1;\n"
12424 "    } else {\n"
12425 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12426 "        max_exp = atoi(argv[3]);\n"
12427 "    }\n"
12428 "    new_value.it_interval.tv_nsec = 0;\n"
12429 msgstr ""
12430 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12431 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12432 "    if (argc == 2) {\n"
12433 "        new_value.it_interval.tv_sec = 0;\n"
12434 "        max_exp = 1;\n"
12435 "    } else {\n"
12436 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12437 "        max_exp = atoi(argv[3]);\n"
12438 "    }\n"
12439 "    new_value.it_interval.tv_nsec = 0;\n"
12440
12441 #. type: Plain text
12442 #: build/C/man2/timerfd_create.2:512
12443 #, no-wrap
12444 msgid ""
12445 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12446 "    if (fd == -1)\n"
12447 "        handle_error(\"timerfd_create\");\n"
12448 msgstr ""
12449 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12450 "    if (fd == -1)\n"
12451 "        handle_error(\"timerfd_create\");\n"
12452
12453 #. type: Plain text
12454 #: build/C/man2/timerfd_create.2:515
12455 #, no-wrap
12456 msgid ""
12457 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12458 "        handle_error(\"timerfd_settime\");\n"
12459 msgstr ""
12460 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12461 "        handle_error(\"timerfd_settime\");\n"
12462
12463 #. type: Plain text
12464 #: build/C/man2/timerfd_create.2:518
12465 #, no-wrap
12466 msgid ""
12467 "    print_elapsed_time();\n"
12468 "    printf(\"timer started\\en\");\n"
12469 msgstr ""
12470 "    print_elapsed_time();\n"
12471 "    printf(\"timer started\\en\");\n"
12472
12473 #. type: Plain text
12474 #: build/C/man2/timerfd_create.2:523
12475 #, no-wrap
12476 msgid ""
12477 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12478 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12479 "        if (s != sizeof(uint64_t))\n"
12480 "            handle_error(\"read\");\n"
12481 msgstr ""
12482 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12483 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12484 "        if (s != sizeof(uint64_t))\n"
12485 "            handle_error(\"read\");\n"
12486
12487 #. type: Plain text
12488 #: build/C/man2/timerfd_create.2:530
12489 #, no-wrap
12490 msgid ""
12491 "        tot_exp += exp;\n"
12492 "        print_elapsed_time();\n"
12493 "        printf(\"read: %llu; total=%llu\\en\",\n"
12494 "                (unsigned long long) exp,\n"
12495 "                (unsigned long long) tot_exp);\n"
12496 "    }\n"
12497 msgstr ""
12498 "        tot_exp += exp;\n"
12499 "        print_elapsed_time();\n"
12500 "        printf(\"read: %llu; total=%llu\\en\",\n"
12501 "                (unsigned long long) exp,\n"
12502 "                (unsigned long long) tot_exp);\n"
12503 "    }\n"
12504
12505 #.  2.6.29
12506 #. type: Plain text
12507 #: build/C/man2/timerfd_create.2:540
12508 msgid ""
12509 "Currently, B<timerfd_create>()  supports fewer types of clock IDs than "
12510 "B<timer_create>(2)."
12511 msgstr ""
12512 "現在のところ、 B<timerfd_create>()  が対応している clockid の種類は "
12513 "B<timer_create>(2)  よりも少ない。"
12514
12515 #. type: Plain text
12516 #: build/C/man2/timerfd_create.2:552
12517 msgid ""
12518 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12519 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12520 "(2), B<epoll>(7), B<time>(7)"
12521 msgstr ""
12522 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12523 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12524 "(2), B<epoll>(7), B<time>(7)"
12525
12526 #. type: TH
12527 #: build/C/man2/tkill.2:29
12528 #, no-wrap
12529 msgid "TKILL"
12530 msgstr "TKILL"
12531
12532 #. type: Plain text
12533 #: build/C/man2/tkill.2:32
12534 msgid "tkill, tgkill - send a signal to a thread"
12535 msgstr "tkill, tgkill - スレッドにシグナルを送る"
12536
12537 #. type: Plain text
12538 #: build/C/man2/tkill.2:35
12539 #, no-wrap
12540 msgid "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12541 msgstr "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12542
12543 #. type: Plain text
12544 #: build/C/man2/tkill.2:37
12545 #, no-wrap
12546 msgid "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12547 msgstr "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12548
12549 #. type: Plain text
12550 #: build/C/man2/tkill.2:51
12551 msgid ""
12552 "B<tgkill>()  sends the signal I<sig> to the thread with the thread ID I<tid> "
12553 "in the thread group I<tgid>.  (By contrast, B<kill>(2)  can only be used to "
12554 "send a signal to a process (i.e., thread group)  as a whole, and the signal "
12555 "will be delivered to an arbitrary thread within that process.)"
12556 msgstr ""
12557 "B<tgkill>()  はスレッド・グループ I<tgid> に属するスレッド ID が I<tid> のス"
12558 "レッドにシグナル I<sig> を送る。 (これに対し、 B<kill>(2)  は一つのプロセス "
12559 "(すなわち、スレッド・グループ) にまとめてシグナルを 送るのにだけ利用できる。 "
12560 "B<kill>(2)  で送信されたシグナルはプロセス内の任意のスレッドに配送される。)"
12561
12562 #. type: Plain text
12563 #: build/C/man2/tkill.2:59
12564 msgid ""
12565 "B<tkill>()  is an obsolete predecessor to B<tgkill>().  It only allows the "
12566 "target thread ID to be specified, which may result in the wrong thread being "
12567 "signaled if a thread terminates and its thread ID is recycled.  Avoid using "
12568 "this system call."
12569 msgstr ""
12570 "B<tkill>()  はもう使われなくなった B<tgkill>()  の先祖である。 B<tkill>()  で"
12571 "はシグナルの送り先のスレッド ID しか指定できない。 そのため、スレッドが終了し"
12572 "て、そのスレッド ID が再利用される場合に、 意図しないスレッドにシグナルが送ら"
12573 "れる可能性がある。 このシステムコールの使用は避けること。"
12574
12575 #. type: Plain text
12576 #: build/C/man2/tkill.2:66
12577 msgid ""
12578 "If I<tgid> is specified as -1, B<tgkill>()  is equivalent to B<tkill>()."
12579 msgstr ""
12580 "I<tgid> に -1 が指定された場合、 B<tgkill>()  は B<tkill>()  と等価である。"
12581
12582 #. type: Plain text
12583 #: build/C/man2/tkill.2:69
12584 msgid ""
12585 "These are the raw system call interfaces, meant for internal thread library "
12586 "use."
12587 msgstr ""
12588 "これらはシステムコールへの直接のインターフェースであり、 スレッド・ライブラリ"
12589 "内部での使用を意図したものである。"
12590
12591 #. type: Plain text
12592 #: build/C/man2/tkill.2:77
12593 msgid "An invalid thread ID, thread group ID, or signal was specified."
12594 msgstr "指定されたスレッド ID、スレッドグループ ID、シグナルが不正であった。"
12595
12596 #. type: Plain text
12597 #: build/C/man2/tkill.2:82
12598 msgid "Permission denied.  For the required permissions, see B<kill>(2)."
12599 msgstr ""
12600 "許可がなかった。どのような許可が必要かについては、 B<kill>(2)  を参照のこと。"
12601
12602 #. type: Plain text
12603 #: build/C/man2/tkill.2:85
12604 msgid "No process with the specified thread ID (and thread group ID) exists."
12605 msgstr ""
12606 "指定されたスレッドID (とスレッド・グループID) を持つプロセスが存在しない。"
12607
12608 #. type: Plain text
12609 #: build/C/man2/tkill.2:90
12610 msgid ""
12611 "B<tkill>()  is supported since Linux 2.4.19 / 2.5.4.  B<tgkill>()  was added "
12612 "in Linux 2.5.75."
12613 msgstr ""
12614 "B<tkill>()  は Linux 2.4.19 / 2.5.4 以降でサポートされ、 B<tgkill>()  は "
12615 "Linux 2.5.75 で追加された。"
12616
12617 #. type: Plain text
12618 #: build/C/man2/tkill.2:96
12619 msgid ""
12620 "B<tkill>()  and B<tgkill>()  are Linux-specific and should not be used in "
12621 "programs that are intended to be portable."
12622 msgstr ""
12623 "B<tkill>()  と B<tgkill>()  は Linux 固有であり、 移植を想定したプログラムで"
12624 "は使用すべきではない。"
12625
12626 #. type: Plain text
12627 #: build/C/man2/tkill.2:102
12628 msgid ""
12629 "See the description of B<CLONE_THREAD> in B<clone>(2)  for an explanation of "
12630 "thread groups."
12631 msgstr ""
12632 "スレッド・グループの説明については B<clone>(2)  の B<CLONE_THREAD> の説明を参"
12633 "照のこと。"
12634
12635 #. type: Plain text
12636 #: build/C/man2/tkill.2:105
12637 msgid ""
12638 "Glibc does not provide wrappers for these system calls; call them using "
12639 "B<syscall>(2)."
12640 msgstr ""
12641 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
12642 "B<syscall>(2)  を使って呼び出すこと。"
12643
12644 #. type: Plain text
12645 #: build/C/man2/tkill.2:110
12646 msgid "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12647 msgstr "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12648
12649 #. type: TH
12650 #: build/C/man2/wait.2:50
12651 #, no-wrap
12652 msgid "WAIT"
12653 msgstr "WAIT"
12654
12655 #. type: Plain text
12656 #: build/C/man2/wait.2:53
12657 msgid "wait, waitpid, waitid - wait for process to change state"
12658 msgstr "wait, waitpid, waitid - プロセスの状態変化を待つ"
12659
12660 #. type: Plain text
12661 #: build/C/man2/wait.2:55
12662 msgid "B<#include E<lt>sys/types.hE<gt>>"
12663 msgstr "B<#include E<lt>sys/types.hE<gt>>"
12664
12665 #. type: Plain text
12666 #: build/C/man2/wait.2:57
12667 msgid "B<#include E<lt>sys/wait.hE<gt>>"
12668 msgstr "B<#include E<lt>sys/wait.hE<gt>>"
12669
12670 #. type: Plain text
12671 #: build/C/man2/wait.2:59
12672 msgid "B<pid_t wait(int *>I<status>B<);>"
12673 msgstr "B<pid_t wait(int *>I<status>B<);>"
12674
12675 #. type: Plain text
12676 #: build/C/man2/wait.2:61
12677 msgid ""
12678 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12679 msgstr ""
12680 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12681
12682 #. type: Plain text
12683 #: build/C/man2/wait.2:64
12684 msgid ""
12685 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12686 "int >I<options>B<);>"
12687 msgstr ""
12688 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12689 "int >I<options>B<);>"
12690
12691 #. type: Plain text
12692 #: build/C/man2/wait.2:73
12693 msgid "B<waitid>():"
12694 msgstr "B<waitid>():"
12695
12696 #. type: Plain text
12697 #: build/C/man2/wait.2:77
12698 msgid ""
12699 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12700 "_XOPEN_SOURCE_EXTENDED"
12701 msgstr ""
12702 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12703 "_XOPEN_SOURCE_EXTENDED"
12704
12705 #. type: Plain text
12706 #: build/C/man2/wait.2:92
12707 msgid ""
12708 "All of these system calls are used to wait for state changes in a child of "
12709 "the calling process, and obtain information about the child whose state has "
12710 "changed.  A state change is considered to be: the child terminated; the "
12711 "child was stopped by a signal; or the child was resumed by a signal.  In the "
12712 "case of a terminated child, performing a wait allows the system to release "
12713 "the resources associated with the child; if a wait is not performed, then "
12714 "the terminated child remains in a \"zombie\" state (see NOTES below)."
12715 msgstr ""
12716 "これらのシステムコールはいずれも、呼び出し元プロセスの子プロセスの 状態変化を"
12717 "待ち、状態が変化したその子プロセスの情報を取得するのに 使用される。 状態変化"
12718 "とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、 "
12719 "シグナルによる子プロセスの再開。 子プロセスが終了した場合は、wait を実行する"
12720 "ことで、 システムがその子プロセスに関連するリソースを解放できるようになる。 "
12721 "wait が実行されなかった場合には、終了した子プロセスは 「ゾンビ」状態で残り続"
12722 "ける (下記の注意の章を参照のこと)。"
12723
12724 #. type: Plain text
12725 #: build/C/man2/wait.2:104
12726 msgid ""
12727 "If a child has already changed state, then these calls return immediately.  "
12728 "Otherwise they block until either a child changes state or a signal handler "
12729 "interrupts the call (assuming that system calls are not automatically "
12730 "restarted using the B<SA_RESTART> flag of B<sigaction>(2)).  In the "
12731 "remainder of this page, a child whose state has changed and which has not "
12732 "yet been waited upon by one of these system calls is termed I<waitable>."
12733 msgstr ""
12734 "子プロセスの状態変化がすでに発生していた場合、これらのコールは すぐに復帰す"
12735 "る。それ以外の場合は、子プロセスの状態変化が起こるか、 シグナルハンドラにより"
12736 "システムコールが中断されるまで、 停止 (block) する (後者は、 B<sigaction>"
12737 "(2)  の B<SA_RESTART> フラグによりシステムコールが自動的に再スタートするよう"
12738 "になっていない 場合の動作である)。 以下の説明では、状態変化が起こったがこれら"
12739 "のシステムコールのいずれかに よって待たれていない子プロセスを I<waitable> (待"
12740 "ち可能) と呼ぶ。"
12741
12742 #. type: SS
12743 #: build/C/man2/wait.2:104
12744 #, no-wrap
12745 msgid "wait() and waitpid()"
12746 msgstr "wait() と waitpid()"
12747
12748 #. type: Plain text
12749 #: build/C/man2/wait.2:112
12750 msgid ""
12751 "The B<wait>()  system call suspends execution of the calling process until "
12752 "one of its children terminates.  The call I<wait(&status)> is equivalent to:"
12753 msgstr ""
12754 "B<wait>()  システムコールは、子プロセスのいずれかが終了するまで 呼び出し元の"
12755 "プロセスの実行を一時停止する。 呼び出し I<wait(&status)> は以下と等価である:"
12756
12757 #. type: Plain text
12758 #: build/C/man2/wait.2:115
12759 #, no-wrap
12760 msgid "    waitpid(-1, &status, 0);\n"
12761 msgstr "    waitpid(-1, &status, 0);\n"
12762
12763 #. type: Plain text
12764 #: build/C/man2/wait.2:129
12765 msgid ""
12766 "The B<waitpid>()  system call suspends execution of the calling process "
12767 "until a child specified by I<pid> argument has changed state.  By default, "
12768 "B<waitpid>()  waits only for terminated children, but this behavior is "
12769 "modifiable via the I<options> argument, as described below."
12770 msgstr ""
12771 "B<waitpid>()  システムコールは、 I<pid> 引き数で指定した子プロセスの状態変化"
12772 "が起こるまで、 呼び出し元のプロセスの実行を一時停止する。デフォルトでは、 "
12773 "B<waitpid>()  は子プロセスの終了だけを待つが、この動作は I<options> 引き数に"
12774 "より変更可能である。"
12775
12776 #. type: Plain text
12777 #: build/C/man2/wait.2:133
12778 msgid "The value of I<pid> can be:"
12779 msgstr "I<pid> に指定できる値は以下の通り:"
12780
12781 #. type: IP
12782 #: build/C/man2/wait.2:133
12783 #, no-wrap
12784 msgid "E<lt> -1"
12785 msgstr "E<lt> -1"
12786
12787 #. type: Plain text
12788 #: build/C/man2/wait.2:137
12789 msgid ""
12790 "meaning wait for any child process whose process group ID is equal to the "
12791 "absolute value of I<pid>."
12792 msgstr ""
12793 "プロセスグループID が I<pid> の絶対値に等しい子プロセスのいずれかが終了するま"
12794 "でを待つ。"
12795
12796 #. type: IP
12797 #: build/C/man2/wait.2:137
12798 #, no-wrap
12799 msgid "-1"
12800 msgstr "-1"
12801
12802 #. type: Plain text
12803 #: build/C/man2/wait.2:139
12804 msgid "meaning wait for any child process."
12805 msgstr "子プロセスのどれかが終了するまで待つ。"
12806
12807 #. type: IP
12808 #: build/C/man2/wait.2:139
12809 #, no-wrap
12810 msgid "0"
12811 msgstr "0"
12812
12813 #. type: Plain text
12814 #: build/C/man2/wait.2:142
12815 msgid ""
12816 "meaning wait for any child process whose process group ID is equal to that "
12817 "of the calling process."
12818 msgstr ""
12819 "プロセスグループID が呼び出したプロセスのものと等しい 子プロセスを待つ。"
12820
12821 #. type: IP
12822 #: build/C/man2/wait.2:142
12823 #, no-wrap
12824 msgid "E<gt> 0"
12825 msgstr "E<gt> 0"
12826
12827 #. type: Plain text
12828 #: build/C/man2/wait.2:146
12829 msgid ""
12830 "meaning wait for the child whose process ID is equal to the value of I<pid>."
12831 msgstr "プロセスID が I<pid> に等しい子プロセスを待つ。"
12832
12833 #. type: Plain text
12834 #: build/C/man2/wait.2:150
12835 msgid ""
12836 "The value of I<options> is an OR of zero or more of the following constants:"
12837 msgstr "I<options> の値は次の定数の 0 個以上の論理和である:"
12838
12839 #. type: TP
12840 #: build/C/man2/wait.2:150 build/C/man2/wait.2:279
12841 #, no-wrap
12842 msgid "B<WNOHANG>"
12843 msgstr "B<WNOHANG>"
12844
12845 #. type: Plain text
12846 #: build/C/man2/wait.2:153
12847 msgid "return immediately if no child has exited."
12848 msgstr "状態変化が起こった子プロセスがない場合にすぐに復帰する。"
12849
12850 #. type: TP
12851 #: build/C/man2/wait.2:153
12852 #, no-wrap
12853 msgid "B<WUNTRACED>"
12854 msgstr "B<WUNTRACED>"
12855
12856 #. type: Plain text
12857 #: build/C/man2/wait.2:162
12858 msgid ""
12859 "also return if a child has stopped (but not traced via B<ptrace>(2)).  "
12860 "Status for I<traced> children which have stopped is provided even if this "
12861 "option is not specified."
12862 msgstr ""
12863 "子プロセスが停止した場合にも復帰する (子プロセスが B<ptrace>(2)  でトレースさ"
12864 "れている場合は除く)。 このオプションが指定されていない場合でも、停止したプロ"
12865 "セスが 「トレース (traced)」されていれば、子プロセスの状態が報告される。"
12866
12867 #. type: TP
12868 #: build/C/man2/wait.2:162
12869 #, no-wrap
12870 msgid "B<WCONTINUED> (since Linux 2.6.10)"
12871 msgstr "B<WCONTINUED> (Linux 2.6.10 以降)"
12872
12873 #. type: Plain text
12874 #: build/C/man2/wait.2:166
12875 msgid ""
12876 "also return if a stopped child has been resumed by delivery of B<SIGCONT>."
12877 msgstr "停止した子プロセスが B<SIGCONT> の配送により再開した場合にも復帰する。"
12878
12879 #. type: Plain text
12880 #: build/C/man2/wait.2:168
12881 msgid "(For Linux-only options, see below.)"
12882 msgstr "(Linux 専用オプションについては後述する)"
12883
12884 #. type: Plain text
12885 #: build/C/man2/wait.2:182
12886 msgid ""
12887 "If I<status> is not NULL, B<wait>()  and B<waitpid>()  store status "
12888 "information in the I<int> to which it points.  This integer can be inspected "
12889 "with the following macros (which take the integer itself as an argument, not "
12890 "a pointer to it, as is done in B<wait>()  and B<waitpid>()!):"
12891 msgstr ""
12892 "I<status> が NULL でなければ、 B<wait>()  や B<waitpid>()  は I<status> で指"
12893 "す I<int> に状態情報を格納する。 この整数は以下のマクロを使って検査できる。 "
12894 "(これらのマクロの引き数には、 B<wait>()  や B<waitpid>()  が書き込んだ整数そ"
12895 "のものを指定する。ポインタではない!)"
12896
12897 #. type: TP
12898 #: build/C/man2/wait.2:182
12899 #, no-wrap
12900 msgid "B<WIFEXITED(>I<status>B<)>"
12901 msgstr "B<WIFEXITED(>I<status>B<)>"
12902
12903 #. type: Plain text
12904 #: build/C/man2/wait.2:190
12905 msgid ""
12906 "returns true if the child terminated normally, that is, by calling B<exit>"
12907 "(3)  or B<_exit>(2), or by returning from main()."
12908 msgstr ""
12909 "子プロセスが正常に終了した場合に真を返す。 「正常に」とは、 B<exit>(3)  か "
12910 "B<_exit>(2)  が呼び出された場合、もしくは main() から復帰した場合である。"
12911
12912 #. type: TP
12913 #: build/C/man2/wait.2:190
12914 #, no-wrap
12915 msgid "B<WEXITSTATUS(>I<status>B<)>"
12916 msgstr "B<WEXITSTATUS(>I<status>B<)>"
12917
12918 #. type: Plain text
12919 #: build/C/man2/wait.2:203
12920 msgid ""
12921 "returns the exit status of the child.  This consists of the least "
12922 "significant 8 bits of the I<status> argument that the child specified in a "
12923 "call to B<exit>(3)  or B<_exit>(2)  or as the argument for a return "
12924 "statement in main().  This macro should only be employed if B<WIFEXITED> "
12925 "returned true."
12926 msgstr ""
12927 "子プロセスの終了ステータスを返す。 終了ステータスは I<status> 引き数の下位 8"
12928 "ビットで構成されており、 B<exit>(3)  や B<_exit>(2)  の呼び出し時に渡された"
12929 "値、もしくは main() の return 文の 引き数として指定された値である。 このマク"
12930 "ロを使用するのは B<WIFEXITED> が真を返した場合だけにすべきである。"
12931
12932 #. type: TP
12933 #: build/C/man2/wait.2:203
12934 #, no-wrap
12935 msgid "B<WIFSIGNALED(>I<status>B<)>"
12936 msgstr "B<WIFSIGNALED(>I<status>B<)>"
12937
12938 #. type: Plain text
12939 #: build/C/man2/wait.2:206
12940 msgid "returns true if the child process was terminated by a signal."
12941 msgstr "子プロセスがシグナルにより終了した場合に真を返す。"
12942
12943 #. type: TP
12944 #: build/C/man2/wait.2:206
12945 #, no-wrap
12946 msgid "B<WTERMSIG(>I<status>B<)>"
12947 msgstr "B<WTERMSIG(>I<status>B<)>"
12948
12949 #. type: Plain text
12950 #: build/C/man2/wait.2:213
12951 msgid ""
12952 "returns the number of the signal that caused the child process to "
12953 "terminate.  This macro should only be employed if B<WIFSIGNALED> returned "
12954 "true."
12955 msgstr ""
12956 "子プロセス終了の原因となったシグナルの番号を返す。 このマクロを使用するのは "
12957 "B<WIFSIGNALED> が真を返した場合だけにすべきである。"
12958
12959 #. type: TP
12960 #: build/C/man2/wait.2:213
12961 #, no-wrap
12962 msgid "B<WCOREDUMP(>I<status>B<)>"
12963 msgstr "B<WCOREDUMP(>I<status>B<)>"
12964
12965 #. type: Plain text
12966 #: build/C/man2/wait.2:222
12967 msgid ""
12968 "returns true if the child produced a core dump.  This macro should only be "
12969 "employed if B<WIFSIGNALED> returned true.  This macro is not specified in "
12970 "POSIX.1-2001 and is not available on some UNIX implementations (e.g., AIX, "
12971 "SunOS).  Only use this enclosed in #ifdef WCOREDUMP ... #endif."
12972 msgstr ""
12973 "子プロセスがコアダンプを生成した場合に真を返す。 このマクロを使用するのは "
12974 "B<WIFSIGNALED> が真を返した場合だけにすべきである。 このマクロは "
12975 "POSIX.1-2001 では規定されておらず、 (AIX, SunOS などの) いくつかの UNIX の実"
12976 "装では利用できない。 必ず #ifdef WCOREDUMP ... #endif で括って使用すること。"
12977
12978 #. type: TP
12979 #: build/C/man2/wait.2:222
12980 #, no-wrap
12981 msgid "B<WIFSTOPPED(>I<status>B<)>"
12982 msgstr "B<WIFSTOPPED(>I<status>B<)>"
12983
12984 #. type: Plain text
12985 #: build/C/man2/wait.2:229
12986 msgid ""
12987 "returns true if the child process was stopped by delivery of a signal; this "
12988 "is only possible if the call was done using B<WUNTRACED> or when the child "
12989 "is being traced (see B<ptrace>(2))."
12990 msgstr ""
12991 "子プロセスがシグナルの配送により停止した場合に真を返す。 これが真になるのは、"
12992 "システムコールが B<WUNTRACED> を指定して呼び出された場合か、子プロセスがト"
12993 "レースされている場合 (B<ptrace>(2)  参照) だけである。"
12994
12995 #. type: TP
12996 #: build/C/man2/wait.2:229
12997 #, no-wrap
12998 msgid "B<WSTOPSIG(>I<status>B<)>"
12999 msgstr "B<WSTOPSIG(>I<status>B<)>"
13000
13001 #. type: Plain text
13002 #: build/C/man2/wait.2:235
13003 msgid ""
13004 "returns the number of the signal which caused the child to stop.  This macro "
13005 "should only be employed if B<WIFSTOPPED> returned true."
13006 msgstr ""
13007 "子プロセスを停止させたシグナルの番号を返す。 このマクロを使用するのは "
13008 "B<WIFSTOPPED> が 0 以外を返した場合だけにすべきである。"
13009
13010 #. type: TP
13011 #: build/C/man2/wait.2:235
13012 #, no-wrap
13013 msgid "B<WIFCONTINUED(>I<status>B<)>"
13014 msgstr "B<WIFCONTINUED(>I<status>B<)>"
13015
13016 #. type: Plain text
13017 #: build/C/man2/wait.2:240
13018 msgid ""
13019 "(since Linux 2.6.10)  returns true if the child process was resumed by "
13020 "delivery of B<SIGCONT>."
13021 msgstr ""
13022 "(Linux 2.6.10 以降)  子プロセスが B<SIGCONT> の配送により再開した場合に真を返"
13023 "す。"
13024
13025 #. type: SS
13026 #: build/C/man2/wait.2:240
13027 #, no-wrap
13028 msgid "waitid()"
13029 msgstr "waitid()"
13030
13031 #. type: Plain text
13032 #: build/C/man2/wait.2:245
13033 msgid ""
13034 "The B<waitid>()  system call (available since Linux 2.6.9) provides more "
13035 "precise control over which child state changes to wait for."
13036 msgstr ""
13037 "B<waitid>()  システムコール (Linux 2.6.9 以降で利用可能) を使うと、 子プロセ"
13038 "スのどの状態変化を待つかについてより細かな制御ができる。"
13039
13040 #. type: Plain text
13041 #: build/C/man2/wait.2:251
13042 msgid ""
13043 "The I<idtype> and I<id> arguments select the child(ren) to wait for, as "
13044 "follows:"
13045 msgstr "引き数 I<idtype> と I<id> でどの子プロセスを待つかを選択する:"
13046
13047 #. type: IP
13048 #: build/C/man2/wait.2:251
13049 #, no-wrap
13050 msgid "I<idtype> == B<P_PID>"
13051 msgstr "I<idtype> == B<P_PID>"
13052
13053 #. type: Plain text
13054 #: build/C/man2/wait.2:254
13055 msgid "Wait for the child whose process ID matches I<id>."
13056 msgstr "プロセスID が I<id> と一致する子プロセスを待つ。"
13057
13058 #. type: IP
13059 #: build/C/man2/wait.2:254
13060 #, no-wrap
13061 msgid "I<idtype> == B<P_PGID>"
13062 msgstr "I<idtype> == B<P_PGID>"
13063
13064 #. type: Plain text
13065 #: build/C/man2/wait.2:257
13066 msgid "Wait for any child whose process group ID matches I<id>."
13067 msgstr "プロセスグループID が I<id> と一致する子プロセスを待つ。"
13068
13069 #. type: IP
13070 #: build/C/man2/wait.2:257
13071 #, no-wrap
13072 msgid "I<idtype> == B<P_ALL>"
13073 msgstr "I<idtype> == B<P_ALL>"
13074
13075 #. type: Plain text
13076 #: build/C/man2/wait.2:261
13077 msgid "Wait for any child; I<id> is ignored."
13078 msgstr "子プロセス全部を対象に待つ。 I<id> は無視される。"
13079
13080 #. type: Plain text
13081 #: build/C/man2/wait.2:265
13082 msgid ""
13083 "The child state changes to wait for are specified by ORing one or more of "
13084 "the following flags in I<options>:"
13085 msgstr ""
13086 "子プロセスのどの状態変化を待つかは以下のフラグで指定する (I<options> には 1個"
13087 "以上のフラグの論理和をとって指定する):"
13088
13089 #. type: TP
13090 #: build/C/man2/wait.2:265
13091 #, no-wrap
13092 msgid "B<WEXITED>"
13093 msgstr "B<WEXITED>"
13094
13095 #. type: Plain text
13096 #: build/C/man2/wait.2:268
13097 msgid "Wait for children that have terminated."
13098 msgstr "子プロセスの終了を待つ。"
13099
13100 #. type: TP
13101 #: build/C/man2/wait.2:268
13102 #, no-wrap
13103 msgid "B<WSTOPPED>"
13104 msgstr "B<WSTOPPED>"
13105
13106 #. type: Plain text
13107 #: build/C/man2/wait.2:271
13108 msgid "Wait for children that have been stopped by delivery of a signal."
13109 msgstr "子プロセスがシグナルの配送により停止するのを待つ。"
13110
13111 #. type: TP
13112 #: build/C/man2/wait.2:271
13113 #, no-wrap
13114 msgid "B<WCONTINUED>"
13115 msgstr "B<WCONTINUED>"
13116
13117 #. type: Plain text
13118 #: build/C/man2/wait.2:276
13119 msgid ""
13120 "Wait for (previously stopped) children that have been resumed by delivery of "
13121 "B<SIGCONT>."
13122 msgstr "(停止していた) 子プロセスが B<SIGCONT> が配送されて再開するのを待つ。"
13123
13124 #. type: Plain text
13125 #: build/C/man2/wait.2:279
13126 msgid "The following flags may additionally be ORed in I<options>:"
13127 msgstr "さらに以下のフラグを論理和の形で I<options> に指定できる:"
13128
13129 #. type: Plain text
13130 #: build/C/man2/wait.2:283
13131 msgid "As for B<waitpid>()."
13132 msgstr "B<waitpid>()  と同様。"
13133
13134 #. type: TP
13135 #: build/C/man2/wait.2:283
13136 #, no-wrap
13137 msgid "B<WNOWAIT>"
13138 msgstr "B<WNOWAIT>"
13139
13140 #. type: Plain text
13141 #: build/C/man2/wait.2:287
13142 msgid ""
13143 "Leave the child in a waitable state; a later wait call can be used to again "
13144 "retrieve the child status information."
13145 msgstr ""
13146 "waitable 状態のプロセスをそのままにする。この後で wait コールを 使って、同じ"
13147 "子プロセスの状態情報をもう一度取得することができる。"
13148
13149 #. type: Plain text
13150 #: build/C/man2/wait.2:294
13151 msgid ""
13152 "Upon successful return, B<waitid>()  fills in the following fields of the "
13153 "I<siginfo_t> structure pointed to by I<infop>:"
13154 msgstr ""
13155 "成功した場合には、 B<waitid>()  は I<infop> が指す I<siginfo_t> 構造体の以下"
13156 "のフィールドを設定する:"
13157
13158 #. type: Plain text
13159 #: build/C/man2/wait.2:297
13160 msgid "The process ID of the child."
13161 msgstr "子プロセスのプロセスID。"
13162
13163 #. type: Plain text
13164 #: build/C/man2/wait.2:301
13165 msgid ""
13166 "The real user ID of the child.  (This field is not set on most other "
13167 "implementations.)"
13168 msgstr ""
13169 "子プロセスの実ユーザID (このフィールドは他のほとんどの実装では設定されない)。"
13170
13171 #. type: Plain text
13172 #: build/C/man2/wait.2:305
13173 msgid "Always set to B<SIGCHLD>."
13174 msgstr "常に B<SIGCHLD> が設定される。"
13175
13176 #. type: TP
13177 #: build/C/man2/wait.2:305
13178 #, no-wrap
13179 msgid "I<si_status>"
13180 msgstr "I<si_status>"
13181
13182 #. type: Plain text
13183 #: build/C/man2/wait.2:315
13184 msgid ""
13185 "Either the exit status of the child, as given to B<_exit>(2)  (or B<exit>"
13186 "(3)), or the signal that caused the child to terminate, stop, or continue.  "
13187 "The I<si_code> field can be used to determine how to interpret this field."
13188 msgstr ""
13189 "B<_exit>(2)  (か B<exit>(3))  に指定された子プロセスの終了ステータス、もしく"
13190 "は 子プロセスの終了、停止、再開の原因となったシグナルが設定される。 この"
13191 "フィールドをどう解釈するかは、 I<si_code> フィールドを参照して決めることがで"
13192 "きる。"
13193
13194 #. type: Plain text
13195 #: build/C/man2/wait.2:332
13196 msgid ""
13197 "Set to one of: B<CLD_EXITED> (child called B<_exit>(2)); B<CLD_KILLED> "
13198 "(child killed by signal); B<CLD_DUMPED> (child killed by signal, and dumped "
13199 "core); B<CLD_STOPPED> (child stopped by signal); B<CLD_TRAPPED> (traced "
13200 "child has trapped); or B<CLD_CONTINUED> (child continued by B<SIGCONT>)."
13201 msgstr ""
13202 "以下のいずれかが設定される: B<CLD_EXITED> (子プロセスが B<_exit>(2)  を呼び出"
13203 "した); B<CLD_KILLED> (シグナルにより子プロセスが kill された); B<CLD_DUMPED> "
13204 "(シグナルにより子プロセスが kill され、コア・ダンプが行われた); "
13205 "B<CLD_STOPPED> (シグナルにより子プロセスが停止した); B<CLD_TRAPPED> (トレース"
13206 "されていた子プロセスがトラップを受信した); B<CLD_CONTINUED> (B<SIGCONT> によ"
13207 "り子プロセスが再開された)。"
13208
13209 #.  POSIX.1-2001 leaves this possibility unspecified; most
13210 #.  implementations (including Linux) zero out the structure
13211 #.  in this case, but at least one implementation (AIX 5.1)
13212 #.  does not -- MTK Nov 04
13213 #. type: Plain text
13214 #: build/C/man2/wait.2:354
13215 msgid ""
13216 "If B<WNOHANG> was specified in I<options> and there were no children in a "
13217 "waitable state, then B<waitid>()  returns 0 immediately and the state of the "
13218 "I<siginfo_t> structure pointed to by I<infop> is unspecified.  To "
13219 "distinguish this case from that where a child was in a waitable state, zero "
13220 "out the I<si_pid> field before the call and check for a nonzero value in "
13221 "this field after the call returns."
13222 msgstr ""
13223 "B<WNOHANG> が I<options> に指定されていて、 waitable 状態の子プロセスがなかっ"
13224 "た場合には、 B<waitid>()  はすぐに 0 を返す。このとき、 I<infop> が指す "
13225 "I<siginfo_t> 構造体の内容は不定である。 この場合を waitable 状態の子プロセス"
13226 "があった場合と区別するには、 B<waitid>()  を呼び出す前に I<si_pid> を 0 にし"
13227 "ておき、コールが復帰した後でこのフィールドが 0 以外の値かどうか をチェックす"
13228 "ればよい。"
13229
13230 #. type: Plain text
13231 #: build/C/man2/wait.2:358
13232 msgid ""
13233 "B<wait>(): on success, returns the process ID of the terminated child; on "
13234 "error, -1 is returned."
13235 msgstr ""
13236 "B<wait>(): 成功すると、終了した子プロセスのプロセスID を返す。 エラーの場合 "
13237 "-1 を返す。"
13238
13239 #. type: Plain text
13240 #: build/C/man2/wait.2:367
13241 msgid ""
13242 "B<waitpid>(): on success, returns the process ID of the child whose state "
13243 "has changed; if B<WNOHANG> was specified and one or more child(ren) "
13244 "specified by I<pid> exist, but have not yet changed state, then 0 is "
13245 "returned.  On error, -1 is returned."
13246 msgstr ""
13247 "B<waitpid>(): 成功すると、状態が変化した子プロセスのプロセスID を返す。 "
13248 "B<WNOHANG> が指定されていて、 I<pid> で指示された子プロセスが一つ以上存在する"
13249 "が、どの子プロセスでも 状態変化が起こっていなかった場合は、 0 を返す。 エラー"
13250 "の場合 -1 を返す。"
13251
13252 #.  FIXME: As reported by Vegard Nossum, if infop is NULL, then waitid()
13253 #.  returns the PID of the child.  Either this is a bug, or it is intended
13254 #.  behavior that needs to be documented.  See my Jan 2009 LKML mail
13255 #.  "waitid() return value strangeness when infop is NULL".
13256 #. type: Plain text
13257 #: build/C/man2/wait.2:383
13258 msgid ""
13259 "B<waitid>(): returns 0 on success or if B<WNOHANG> was specified and no child"
13260 "(ren) specified by I<id> has yet changed state; on error, -1 is returned.  "
13261 "Each of these calls sets I<errno> to an appropriate value in the case of an "
13262 "error."
13263 msgstr ""
13264 "B<waitid>(): 成功すると 0 を返す。 B<WNOHANG> が指定されていて、 I<pid> で指"
13265 "示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。 エラーの"
13266 "場合 -1 を返す。 エラーの場合、これらのシステムコールはいずれも I<errno> に適"
13267 "切な値を設定する。"
13268
13269 #. type: TP
13270 #: build/C/man2/wait.2:384 build/C/man2/wait.2:389
13271 #, no-wrap
13272 msgid "B<ECHILD>"
13273 msgstr "B<ECHILD>"
13274
13275 #. type: Plain text
13276 #: build/C/man2/wait.2:389
13277 msgid ""
13278 "(for B<wait>())  The calling process does not have any unwaited-for children."
13279 msgstr ""
13280 "(B<wait>()  の場合)  呼び出し元プロセスには、wait を行っていない子プロセスは"
13281 "ない。"
13282
13283 #. type: Plain text
13284 #: build/C/man2/wait.2:409
13285 msgid ""
13286 "(for B<waitpid>()  or B<waitid>())  The process specified by I<pid> "
13287 "(B<waitpid>())  or I<idtype> and I<id> (B<waitid>())  does not exist or is "
13288 "not a child of the calling process.  (This can happen for one's own child if "
13289 "the action for B<SIGCHLD> is set to B<SIG_IGN>.  See also the I<Linux Notes> "
13290 "section about threads.)"
13291 msgstr ""
13292 "(B<waitpid>()  か B<waitid>()  の場合)  I<pid> (B<waitpid>())  か I<idtype> "
13293 "と I<id> (B<waitid>())  で指定したプロセスが存在しないか、呼び出し元プロセス"
13294 "の子プロセスでない (B<SIGCHLD> の動作に B<SIG_IGN> を設定した場合には、自分自"
13295 "身の子プロセスでも起こりうる。 スレッドに関しては「Linux での注意」の節も参照"
13296 "すること)。"
13297
13298 #. type: Plain text
13299 #: build/C/man2/wait.2:416
13300 msgid ""
13301 "B<WNOHANG> was not set and an unblocked signal or a B<SIGCHLD> was caught; "
13302 "see B<signal>(7)."
13303 msgstr ""
13304 "B<WNOHANG> が設定されておらず、禁止 (block) されていないシグナルや "
13305 "B<SIGCHLD> を受信した。 B<signal>(7)  参照。"
13306
13307 #. type: Plain text
13308 #: build/C/man2/wait.2:421
13309 msgid "The I<options> argument was invalid."
13310 msgstr "I<options> 引き数が不正である。"
13311
13312 #. type: Plain text
13313 #: build/C/man2/wait.2:436
13314 msgid ""
13315 "A child that terminates, but has not been waited for becomes a \"zombie\".  "
13316 "The kernel maintains a minimal set of information about the zombie process "
13317 "(PID, termination status, resource usage information)  in order to allow the "
13318 "parent to later perform a wait to obtain information about the child.  As "
13319 "long as a zombie is not removed from the system via a wait, it will consume "
13320 "a slot in the kernel process table, and if this table fills, it will not be "
13321 "possible to create further processes.  If a parent process terminates, then "
13322 "its \"zombie\" children (if any)  are adopted by B<init>(8), which "
13323 "automatically performs a wait to remove the zombies."
13324 msgstr ""
13325 "終了したが、wait されていない子プロセスは「ゾンビ」になる。 後で親プロセスが "
13326 "wait を実行して子プロセスについての情報を取得できるように、 カーネルはゾンビ"
13327 "プロセスについて最小限の情報 (PID、終了ステータス、 リソース使用状況) を保持"
13328 "する。 ゾンビプロセスは、 wait によってシステムから削除されない限り、 カーネ"
13329 "ルのプロセステーブルの 1 エントリを消費する。このプロセステーブルが 一杯にな"
13330 "ると、新たにプロセスを作ることができなくなる。 親プロセスが終了すると、その親"
13331 "プロセスの「ゾンビ」の 子プロセスは (もしあれば)  B<init>(8)  の養子となる。 "
13332 "B<init>(8)  は wait を自動的に実行し、ゾンビを削除する。"
13333
13334 #. type: Plain text
13335 #: build/C/man2/wait.2:477
13336 msgid ""
13337 "POSIX.1-2001 specifies that if the disposition of B<SIGCHLD> is set to "
13338 "B<SIG_IGN> or the B<SA_NOCLDWAIT> flag is set for B<SIGCHLD> (see "
13339 "B<sigaction>(2)), then children that terminate do not become zombies and a "
13340 "call to B<wait>()  or B<waitpid>()  will block until all children have "
13341 "terminated, and then fail with I<errno> set to B<ECHILD>.  (The original "
13342 "POSIX standard left the behavior of setting B<SIGCHLD> to B<SIG_IGN> "
13343 "unspecified.  Note that even though the default disposition of B<SIGCHLD> is "
13344 "\"ignore\", explicitly setting the disposition to B<SIG_IGN> results in "
13345 "different treatment of zombie process children.)  Linux 2.6 conforms to this "
13346 "specification.  However, Linux 2.4 (and earlier) does not: if a B<wait>()  "
13347 "or B<waitpid>()  call is made while B<SIGCHLD> is being ignored, the call "
13348 "behaves just as though B<SIGCHLD> were not being ignored, that is, the call "
13349 "blocks until the next child terminates and then returns the process ID and "
13350 "status of that child."
13351 msgstr ""
13352 "POSIX.1-2001 では以下のように規定されている。 B<SIGCHLD> の動作が B<SIG_IGN> "
13353 "に設定されたか、 B<SIGCHLD> に対して B<SA_NOCLDWAIT> フラグが設定された場合 "
13354 "(B<sigaction>(2)  参照)、終了した子プロセスはゾンビにはならず、 B<wait>()  "
13355 "や B<waitpid>()  の呼び出しは全ての子プロセスが終了するまで停止し、 子プロセ"
13356 "スが全部終了した後 I<errno> に B<ECHILD> を設定して失敗する。 (もともとの "
13357 "POSIX 標準は B<SIGCHLD> に B<SIG_IGN> を設定した場合の振る舞いを未規定のまま"
13358 "にしている。 B<SIGCHLD> のデフォルトの動作が「無視」であるにもかかわらず、 "
13359 "B<SIGCHLD> の動作として B<SIG_IGN> を明示的に設定した場合にはゾンビプロセスの"
13360 "子プロセスの扱いが 異なる点に注意すること。)  Linux 2.6 はこの仕様に準拠して"
13361 "いる。 しかし、Linux 2.4 (とそれ以前のバージョン) はそうではない: B<SIGCHLD> "
13362 "が無視される状態で B<wait>()  または B<waitpid>()  が呼び出された場合、 "
13363 "B<SIGCHLD> が無視されていないかのように振る舞う。 つまり、呼び出しによって次"
13364 "の子プロセスの終了までブロックされ、 終了した子プロセスの PID と状態が返され"
13365 "る。"
13366
13367 #. type: Plain text
13368 #: build/C/man2/wait.2:493
13369 msgid ""
13370 "In the Linux kernel, a kernel-scheduled thread is not a distinct construct "
13371 "from a process.  Instead, a thread is simply a process that is created using "
13372 "the Linux-unique B<clone>(2)  system call; other routines such as the "
13373 "portable B<pthread_create>(3)  call are implemented using B<clone>(2).  "
13374 "Before Linux 2.4, a thread was just a special case of a process, and as a "
13375 "consequence one thread could not wait on the children of another thread, "
13376 "even when the latter belongs to the same thread group.  However, POSIX "
13377 "prescribes such functionality, and since Linux 2.4 a thread can, and by "
13378 "default will, wait on children of other threads in the same thread group."
13379 msgstr ""
13380 "Linux カーネルでは、カーネルによってスケジュールされるスレッドは プロセスと明"
13381 "確に区別できる構成要素ではない。スレッドは Linux 固有の B<clone>(2)  システム"
13382 "コールを使用して生成されるプロセスに過ぎない。 移植性のある B<pthread_create>"
13383 "(3)  コールのような他のルーチンは B<clone>(2)  を使用して実装されている; これ"
13384 "らでは B<waitid>()  を使うことはできない。 Linux 2.4 より前では、スレッドは単"
13385 "に特殊なプロセスであったので、 例え同じスレッドグループであっても、 あるス"
13386 "レッドが別のスレッドの子プロセスが終了するのを待つことは出来なかった。 しか"
13387 "し、POSIX ではこのような機能を規定しており、 Linux 2.4 以降では、あるスレッド"
13388 "が同じスレッドグループの他のスレッドの 子プロセスが終了するのを待つことができ"
13389 "るようになった。 そして将来はこれがデフォルトの動作になるであろう。"
13390
13391 #. type: Plain text
13392 #: build/C/man2/wait.2:500
13393 msgid ""
13394 "The following Linux-specific I<options> are for use with children created "
13395 "using B<clone>(2); they cannot be used with B<waitid>():"
13396 msgstr ""
13397 "B<clone>(2)  を用いて作られた子プロセスには、以下の Linux 固有の I<options> "
13398 "が使用できる。"
13399
13400 #. type: TP
13401 #: build/C/man2/wait.2:500
13402 #, no-wrap
13403 msgid "B<__WCLONE>"
13404 msgstr "B<__WCLONE>"
13405
13406 #.  since 0.99pl10
13407 #. type: Plain text
13408 #: build/C/man2/wait.2:511
13409 msgid ""
13410 "Wait for \"clone\" children only.  If omitted then wait for \"non-clone\" "
13411 "children only.  (A \"clone\" child is one which delivers no signal, or a "
13412 "signal other than B<SIGCHLD> to its parent upon termination.)  This option "
13413 "is ignored if B<__WALL> is also specified."
13414 msgstr ""
13415 "\"clone\" な子プロセスだけを待つ。 指定されなかった場合は非 \"clone\" な子プ"
13416 "ロセスだけを待つ (\"clone\" な子プロセスは、終了時に親プロセスへ全くシグナル"
13417 "を送らないか、 B<SIGCHLD> 以外のシグナルを送る)。 このオプションは B<__WALL> "
13418 "も指定された場合は無視される。"
13419
13420 #. type: TP
13421 #: build/C/man2/wait.2:511
13422 #, no-wrap
13423 msgid "B<__WALL> (since Linux 2.4)"
13424 msgstr "B<__WALL> (Linux 2.4 以降)"
13425
13426 #.  since patch-2.3.48
13427 #. type: Plain text
13428 #: build/C/man2/wait.2:516
13429 msgid "Wait for all children, regardless of type (\"clone\" or \"non-clone\")."
13430 msgstr "\"clone\" であるかないかに関わらず、 全ての子プロセスを待つ。"
13431
13432 #. type: TP
13433 #: build/C/man2/wait.2:516
13434 #, no-wrap
13435 msgid "B<__WNOTHREAD> (since Linux 2.4)"
13436 msgstr "B<__WNOTHREAD> (Linux 2.4 以降)"
13437
13438 #.  since patch-2.4.0-test8
13439 #. type: Plain text
13440 #: build/C/man2/wait.2:522
13441 msgid ""
13442 "Do not wait for children of other threads in the same thread group.  This "
13443 "was the default before Linux 2.4."
13444 msgstr ""
13445 "同じスレッドグループの他のスレッドの子プロセスは待たない。 Linux 2.4 より前で"
13446 "はデフォルトであった。"
13447
13448 #.  fork.2 refers to this example program.
13449 #. type: Plain text
13450 #: build/C/man2/wait.2:539
13451 msgid ""
13452 "The following program demonstrates the use of B<fork>(2)  and B<waitpid>().  "
13453 "The program creates a child process.  If no command-line argument is "
13454 "supplied to the program, then the child suspends its execution using B<pause>"
13455 "(2), to allow the user to send signals to the child.  Otherwise, if a "
13456 "command-line argument is supplied, then the child exits immediately, using "
13457 "the integer supplied on the command line as the exit status.  The parent "
13458 "process executes a loop that monitors the child using B<waitpid>(), and uses "
13459 "the W*() macros described above to analyze the wait status value."
13460 msgstr ""
13461 "以下のプログラムは、 B<fork>(2)  と B<waitpid>()  の使用方法の例を示してい"
13462 "る。 このプログラムでは子プロセスを生成する。 コマンドライン引き数が指定され"
13463 "なかったときは、 子プロセスは B<pause>(2)  を使ってその実行を一時停止し、ユー"
13464 "ザがその子プロセスに シグナルを送信できるようにする。 コマンドライン引き数が"
13465 "指定された場合は、 子プロセスは直ちに終了し、 コマンドラインで指定された整数"
13466 "を終了ステータスとして使用する。 親プロセスは、 B<waitpid>()  を使って子プロ"
13467 "セスを監視し、 wait のステータス値を上記の W*() マクロを使って解析するという "
13468 "ループを実行する。"
13469
13470 #. type: Plain text
13471 #: build/C/man2/wait.2:555
13472 #, no-wrap
13473 msgid ""
13474 "$B< ./a.out &>\n"
13475 "Child PID is 32360\n"
13476 "[1] 32359\n"
13477 "$B< kill -STOP 32360>\n"
13478 "stopped by signal 19\n"
13479 "$B< kill -CONT 32360>\n"
13480 "continued\n"
13481 "$B< kill -TERM 32360>\n"
13482 "killed by signal 15\n"
13483 "[1]+  Done                    ./a.out\n"
13484 "$\n"
13485 msgstr ""
13486 "$B< ./a.out &>\n"
13487 "Child PID is 32360\n"
13488 "[1] 32359\n"
13489 "$B< kill -STOP 32360>\n"
13490 "stopped by signal 19\n"
13491 "$B< kill -CONT 32360>\n"
13492 "continued\n"
13493 "$B< kill -TERM 32360>\n"
13494 "killed by signal 15\n"
13495 "[1]+  Done                    ./a.out\n"
13496 "$\n"
13497
13498 #. type: Plain text
13499 #: build/C/man2/wait.2:564
13500 #, no-wrap
13501 msgid ""
13502 "#include E<lt>sys/wait.hE<gt>\n"
13503 "#include E<lt>stdlib.hE<gt>\n"
13504 "#include E<lt>unistd.hE<gt>\n"
13505 "#include E<lt>stdio.hE<gt>\n"
13506 msgstr ""
13507 "#include E<lt>sys/wait.hE<gt>\n"
13508 "#include E<lt>stdlib.hE<gt>\n"
13509 "#include E<lt>unistd.hE<gt>\n"
13510 "#include E<lt>stdio.hE<gt>\n"
13511
13512 #. type: Plain text
13513 #: build/C/man2/wait.2:570
13514 #, no-wrap
13515 msgid ""
13516 "int\n"
13517 "main(int argc, char *argv[])\n"
13518 "{\n"
13519 "    pid_t cpid, w;\n"
13520 "    int status;\n"
13521 msgstr ""
13522 "int\n"
13523 "main(int argc, char *argv[])\n"
13524 "{\n"
13525 "    pid_t cpid, w;\n"
13526 "    int status;\n"
13527
13528 #. type: Plain text
13529 #: build/C/man2/wait.2:576
13530 #, no-wrap
13531 msgid ""
13532 "    cpid = fork();\n"
13533 "    if (cpid == -1) {\n"
13534 "        perror(\"fork\");\n"
13535 "        exit(EXIT_FAILURE);\n"
13536 "    }\n"
13537 msgstr ""
13538 "    cpid = fork();\n"
13539 "    if (cpid == -1) {\n"
13540 "        perror(\"fork\");\n"
13541 "        exit(EXIT_FAILURE);\n"
13542 "    }\n"
13543
13544 #. type: Plain text
13545 #: build/C/man2/wait.2:582
13546 #, no-wrap
13547 msgid ""
13548 "    if (cpid == 0) {            /* Code executed by child */\n"
13549 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13550 "        if (argc == 1)\n"
13551 "            pause();                    /* Wait for signals */\n"
13552 "        _exit(atoi(argv[1]));\n"
13553 msgstr ""
13554 "    if (cpid == 0) {            /* Code executed by child */\n"
13555 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13556 "        if (argc == 1)\n"
13557 "            pause();                    /* Wait for signals */\n"
13558 "        _exit(atoi(argv[1]));\n"
13559
13560 #. type: Plain text
13561 #: build/C/man2/wait.2:590
13562 #, no-wrap
13563 msgid ""
13564 "    } else {                    /* Code executed by parent */\n"
13565 "        do {\n"
13566 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13567 "            if (w == -1) {\n"
13568 "                perror(\"waitpid\");\n"
13569 "                exit(EXIT_FAILURE);\n"
13570 "            }\n"
13571 msgstr ""
13572 "    } else {                    /* Code executed by parent */\n"
13573 "        do {\n"
13574 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13575 "            if (w == -1) {\n"
13576 "                perror(\"waitpid\");\n"
13577 "                exit(EXIT_FAILURE);\n"
13578 "            }\n"
13579
13580 #. type: Plain text
13581 #: build/C/man2/wait.2:604
13582 #, no-wrap
13583 msgid ""
13584 "            if (WIFEXITED(status)) {\n"
13585 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13586 "            } else if (WIFSIGNALED(status)) {\n"
13587 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13588 "            } else if (WIFSTOPPED(status)) {\n"
13589 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13590 "            } else if (WIFCONTINUED(status)) {\n"
13591 "                printf(\"continued\\en\");\n"
13592 "            }\n"
13593 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13594 "        exit(EXIT_SUCCESS);\n"
13595 "    }\n"
13596 "}\n"
13597 msgstr ""
13598 "            if (WIFEXITED(status)) {\n"
13599 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13600 "            } else if (WIFSIGNALED(status)) {\n"
13601 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13602 "            } else if (WIFSTOPPED(status)) {\n"
13603 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13604 "            } else if (WIFCONTINUED(status)) {\n"
13605 "                printf(\"continued\\en\");\n"
13606 "            }\n"
13607 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13608 "        exit(EXIT_SUCCESS);\n"
13609 "    }\n"
13610 "}\n"
13611
13612 #. type: Plain text
13613 #: build/C/man2/wait.2:617
13614 msgid ""
13615 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13616 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13617 "B<signal>(7)"
13618 msgstr ""
13619 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13620 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13621 "B<signal>(7)"
13622
13623 #. type: TH
13624 #: build/C/man2/wait4.2:34
13625 #, no-wrap
13626 msgid "WAIT4"
13627 msgstr "WAIT4"
13628
13629 #. type: Plain text
13630 #: build/C/man2/wait4.2:37
13631 msgid "wait3, wait4 - wait for process to change state, BSD style"
13632 msgstr "wait3, wait4 - BSD スタイルでプロセスの状態変化を待つ"
13633
13634 #. type: Plain text
13635 #: build/C/man2/wait4.2:43
13636 #, no-wrap
13637 msgid ""
13638 "B<#include E<lt>sys/types.hE<gt>>\n"
13639 "B<#include E<lt>sys/time.hE<gt>>\n"
13640 "B<#include E<lt>sys/resource.hE<gt>>\n"
13641 "B<#include E<lt>sys/wait.hE<gt>>\n"
13642 msgstr ""
13643 "B<#include E<lt>sys/types.hE<gt>>\n"
13644 "B<#include E<lt>sys/time.hE<gt>>\n"
13645 "B<#include E<lt>sys/resource.hE<gt>>\n"
13646 "B<#include E<lt>sys/wait.hE<gt>>\n"
13647
13648 #. type: Plain text
13649 #: build/C/man2/wait4.2:46
13650 #, no-wrap
13651 msgid ""
13652 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13653 "B<            struct rusage *>I<rusage>B<);>\n"
13654 msgstr ""
13655 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13656 "B<            struct rusage *>I<rusage>B<);>\n"
13657
13658 #. type: Plain text
13659 #: build/C/man2/wait4.2:49
13660 #, no-wrap
13661 msgid ""
13662 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13663 "B<            struct rusage *>I<rusage>B<);>\n"
13664 msgstr ""
13665 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13666 "B<            struct rusage *>I<rusage>B<);>\n"
13667
13668 #. type: Plain text
13669 #: build/C/man2/wait4.2:58
13670 msgid "B<wait3>():"
13671 msgstr "B<wait3>():"
13672
13673 #. type: Plain text
13674 #: build/C/man2/wait4.2:64
13675 msgid "B<wait4>():"
13676 msgstr "B<wait4>():"
13677
13678 #. type: Plain text
13679 #: build/C/man2/wait4.2:66
13680 msgid "_BSD_SOURCE"
13681 msgstr "_BSD_SOURCE"
13682
13683 #. type: Plain text
13684 #: build/C/man2/wait4.2:78
13685 msgid ""
13686 "The B<wait3>()  and B<wait4>()  system calls are similar to B<waitpid>(2), "
13687 "but additionally return resource usage information about the child in the "
13688 "structure pointed to by I<rusage>."
13689 msgstr ""
13690 "システムコール B<wait3>()  と B<wait4>()  は B<waitpid>(2)  と同様の動作をす"
13691 "る。それに加え、子プロセスのリソース使用状況の情報を I<rusage> が指す構造体に"
13692 "入れて返す。"
13693
13694 #. type: Plain text
13695 #: build/C/man2/wait4.2:84
13696 msgid ""
13697 "Other than the use of the I<rusage> argument, the following B<wait3>()  call:"
13698 msgstr "I<rusage> を使用する点を除けば、次の B<wait3>()  の呼び出し"
13699
13700 #. type: Plain text
13701 #: build/C/man2/wait4.2:87
13702 #, no-wrap
13703 msgid "    wait3(status, options, rusage);\n"
13704 msgstr "    wait3(status, options, rusage);\n"
13705
13706 #. type: Plain text
13707 #: build/C/man2/wait4.2:90 build/C/man2/wait4.2:104
13708 msgid "is equivalent to:"
13709 msgstr "は以下と等価である。"
13710
13711 #. type: Plain text
13712 #: build/C/man2/wait4.2:93
13713 #, no-wrap
13714 msgid "    waitpid(-1, status, options);\n"
13715 msgstr "    waitpid(-1, status, options);\n"
13716
13717 #. type: Plain text
13718 #: build/C/man2/wait4.2:98
13719 msgid "Similarly, the following B<wait4>()  call:"
13720 msgstr "同様に、次の B<wait4>()  の呼び出し"
13721
13722 #. type: Plain text
13723 #: build/C/man2/wait4.2:101
13724 #, no-wrap
13725 msgid "    wait4(pid, status, options, rusage);\n"
13726 msgstr "    wait4(pid, status, options, rusage);\n"
13727
13728 #. type: Plain text
13729 #: build/C/man2/wait4.2:107
13730 #, no-wrap
13731 msgid "    waitpid(pid, status, options);\n"
13732 msgstr "    waitpid(pid, status, options);\n"
13733
13734 #. type: Plain text
13735 #: build/C/man2/wait4.2:117
13736 msgid ""
13737 "In other words, B<wait3>()  waits of any child, while B<wait4>()  can be "
13738 "used to select a specific child, or children, on which to wait.  See B<wait>"
13739 "(2)  for further details."
13740 msgstr ""
13741 "言い換えると、 B<wait3>()  は全ての子プロセスを対象に待つが、 B<wait4>()  で"
13742 "は特定の子プロセス (複数可) を選んで待つことができる。"
13743
13744 #. type: Plain text
13745 #: build/C/man2/wait4.2:127
13746 msgid ""
13747 "If I<rusage> is not NULL, the I<struct rusage> to which it points will be "
13748 "filled with accounting information about the child.  See B<getrusage>(2)  "
13749 "for details."
13750 msgstr ""
13751 "I<rusage> が NULL でない場合、 I<rusage> が指す I<rusage 構造体> には子プロセ"
13752 "スのアカウント情報が格納される。 詳しくは B<getrusage>(2)  を参照のこと。"
13753
13754 #. type: Plain text
13755 #: build/C/man2/wait4.2:130 build/C/man2/wait4.2:133
13756 msgid "As for B<waitpid>(2)."
13757 msgstr "B<waitpid>(2)  と同様。"
13758
13759 #. type: Plain text
13760 #: build/C/man2/wait4.2:135
13761 msgid "4.3BSD."
13762 msgstr "4.3BSD."
13763
13764 #. type: Plain text
13765 #: build/C/man2/wait4.2:147
13766 msgid ""
13767 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
13768 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
13769 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
13770 "hE<gt>>.)"
13771 msgstr ""
13772 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
13773 "しておくと 移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> "
13774 "で I<rusage> 構造体が定義されているが、そのフィールドで使用されている "
13775 "I<struct timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
13776
13777 #. type: Plain text
13778 #: build/C/man2/wait4.2:153
13779 msgid ""
13780 "On Linux, B<wait3>()  is a library function implemented on top of the "
13781 "B<wait4>()  system call."
13782 msgstr ""
13783 "Linux では、 B<wait3>()  はライブラリ関数であり、 B<wait4>()  システムコール"
13784 "を使って実装されている。"
13785
13786 #. type: Plain text
13787 #: build/C/man2/wait4.2:160
13788 msgid ""
13789 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13790 "B<signal>(7)"
13791 msgstr ""
13792 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13793 "B<signal>(7)"
13794
13795 #, fuzzy
13796 #~| msgid "2009-03-15"
13797 #~ msgid "2012-04-14"
13798 #~ msgstr "2009-03-15"
13799
13800 #~ msgid "2008-10-17"
13801 #~ msgstr "2008-10-17"
13802
13803 #~ msgid "B<kill>(2)  or B<raise>(3)"
13804 #~ msgstr "B<kill>(2)  または B<raise>(3)"
13805
13806 #, fuzzy
13807 #~| msgid "2011-09-18"
13808 #~ msgid "2011-09-17"
13809 #~ msgstr "2011-09-18"
13810
13811 #, fuzzy
13812 #~| msgid "2011-09-09"
13813 #~ msgid "2011-09-08"
13814 #~ msgstr "2011-09-09"
13815
13816 #~ msgid "queued SIGIO"
13817 #~ msgstr "キューイングされた SIGIO"
13818
13819 #~ msgid "EXAMPLES"
13820 #~ msgstr "例"
13821
13822 #~ msgid "2009-01-26"
13823 #~ msgstr "2009-01-26"
13824
13825 #~ msgid "B<EFD_NONBLOCK>"
13826 #~ msgstr "B<EFD_NONBLOCK>"
13827
13828 #~ msgid "B<EFD_CLOEXEC>"
13829 #~ msgstr "B<EFD_CLOEXEC>"
13830
13831 #~ msgid "2008-07-16"
13832 #~ msgstr "2008-07-16"
13833
13834 #~ msgid "2008-08-21"
13835 #~ msgstr "2008-08-21"
13836
13837 #~ msgid "B<perror>(3), B<strsignal>(3)"
13838 #~ msgstr "B<perror>(3), B<strsignal>(3)"
13839
13840 #~ msgid "2009-07-25"
13841 #~ msgstr "2009-07-25"
13842
13843 #~ msgid "POSIX.1b signals and B<SIGCHLD> fill in I<si_pid> and I<si_uid>."
13844 #~ msgstr ""
13845 #~ "POSIX.1b シグナルと B<SIGCHLD> は I<si_pid> と I<si_uid> を設定する。"
13846
13847 #~ msgid ""
13848 #~ "I<si_int> and I<si_ptr> are specified by the sender of the POSIX.1b "
13849 #~ "signal.  See B<sigqueue>(2)  for more details."
13850 #~ msgstr ""
13851 #~ "I<si_int> と I<si_ptr> は POSIX.1b シグナルの送信者によって指定される。 詳"
13852 #~ "細は B<sigqueue>(2)  を参照のこと。"
13853
13854 #~ msgid ""
13855 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, and B<SIGBUS> fill in I<si_addr> with "
13856 #~ "the address of the fault.  B<SIGPOLL> fills in I<si_band> and I<si_fd>."
13857 #~ msgstr ""
13858 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS> は I<si_addr> にエラーが発生し"
13859 #~ "たアドレスを設定する。 SIGPOLL は I<si_band> と I<si_fd> を設定する。"
13860
13861 #~ msgid "B<sigqueue>(2)"
13862 #~ msgstr "B<sigqueue>(2)"
13863
13864 #~ msgid "2009-03-10"
13865 #~ msgstr "2009-03-10"