OSDN Git Service

f1137bc997f3da10c193eab1f0676be4e8d4718a
[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-04-25 05:36+0900\n"
10 "PO-Revision-Date: 2012-03-23 04:57+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/bsd_signal.3:23
20 #, no-wrap
21 msgid "BSD_SIGNAL"
22 msgstr "BSD_SIGNAL"
23
24 #. type: TH
25 #: build/C/man3/bsd_signal.3:23 build/C/man2/getitimer.2:7
26 #, no-wrap
27 msgid "2009-03-15"
28 msgstr "2009-03-15"
29
30 #. type: TH
31 #: build/C/man3/bsd_signal.3:23 build/C/man2/eventfd.2:21
32 #: build/C/man2/getitimer.2:7 build/C/man3/gsignal.3:25 build/C/man2/kill.2:44
33 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:46
34 #: build/C/man3/profil.3:28 build/C/man3/psignal.3:28 build/C/man3/raise.3:27
35 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man2/sgetmask.2:24
36 #: build/C/man2/sigaction.2:45 build/C/man2/sigaltstack.2:25
37 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
38 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
39 #: build/C/man2/signalfd.2:19 build/C/man3/sigpause.3:23
40 #: build/C/man2/sigpending.2:27 build/C/man2/sigprocmask.2:27
41 #: build/C/man3/sigqueue.3:26 build/C/man2/sigreturn.2:27
42 #: build/C/man3/sigset.3:24 build/C/man3/sigsetops.3:29
43 #: build/C/man2/sigsuspend.2:27 build/C/man3/sigvec.3:24
44 #: build/C/man3/sigwait.3:24 build/C/man2/sigwaitinfo.2:23
45 #: build/C/man3/sysv_signal.3:23 build/C/man2/timer_create.2:29
46 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
47 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
48 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
49 #, no-wrap
50 msgid "Linux Programmer's Manual"
51 msgstr "Linux Programmer's Manual"
52
53 #. type: SH
54 #: build/C/man3/bsd_signal.3:24 build/C/man2/eventfd.2:22
55 #: build/C/man2/getitimer.2:8 build/C/man3/gsignal.3:26 build/C/man2/kill.2:45
56 #: build/C/man2/killpg.2:41 build/C/man2/pause.2:31 build/C/man2/prctl.2:47
57 #: build/C/man3/profil.3:29 build/C/man3/psignal.3:29 build/C/man3/raise.3:28
58 #: build/C/man2/rt_sigqueueinfo.2:24 build/C/man2/sgetmask.2:25
59 #: build/C/man2/sigaction.2:46 build/C/man2/sigaltstack.2:26
60 #: build/C/man7/sigevent.7:25 build/C/man3/siginterrupt.3:30
61 #: build/C/man2/signal.2:35 build/C/man7/signal.7:45
62 #: build/C/man2/signalfd.2:20 build/C/man3/sigpause.3:24
63 #: build/C/man2/sigpending.2:28 build/C/man2/sigprocmask.2:28
64 #: build/C/man3/sigqueue.3:27 build/C/man2/sigreturn.2:28
65 #: build/C/man3/sigset.3:25 build/C/man3/sigsetops.3:30
66 #: build/C/man2/sigsuspend.2:28 build/C/man3/sigvec.3:25
67 #: build/C/man3/sigwait.3:25 build/C/man2/sigwaitinfo.2:24
68 #: build/C/man3/sysv_signal.3:24 build/C/man2/timer_create.2:30
69 #: build/C/man2/timer_delete.2:24 build/C/man2/timer_getoverrun.2:24
70 #: build/C/man2/timer_settime.2:24 build/C/man2/timerfd_create.2:21
71 #: build/C/man2/tkill.2:30 build/C/man2/wait.2:51 build/C/man2/wait4.2:35
72 #, no-wrap
73 msgid "NAME"
74 msgstr "名前"
75
76 #. type: Plain text
77 #: build/C/man3/bsd_signal.3:26
78 msgid "bsd_signal - signal handling with BSD semantics"
79 msgstr "bsd_signal - BSD 方式のシグナル処理"
80
81 #. type: SH
82 #: build/C/man3/bsd_signal.3:26 build/C/man2/eventfd.2:24
83 #: build/C/man2/getitimer.2:10 build/C/man3/gsignal.3:28
84 #: build/C/man2/kill.2:47 build/C/man2/killpg.2:43 build/C/man2/pause.2:33
85 #: build/C/man2/prctl.2:49 build/C/man3/profil.3:31 build/C/man3/psignal.3:31
86 #: build/C/man3/raise.3:30 build/C/man2/rt_sigqueueinfo.2:26
87 #: build/C/man2/sgetmask.2:27 build/C/man2/sigaction.2:48
88 #: build/C/man2/sigaltstack.2:28 build/C/man7/sigevent.7:27
89 #: build/C/man3/siginterrupt.3:32 build/C/man2/signal.2:37
90 #: build/C/man2/signalfd.2:22 build/C/man3/sigpause.3:26
91 #: build/C/man2/sigpending.2:30 build/C/man2/sigprocmask.2:30
92 #: build/C/man3/sigqueue.3:29 build/C/man2/sigreturn.2:30
93 #: build/C/man3/sigset.3:27 build/C/man3/sigsetops.3:33
94 #: build/C/man2/sigsuspend.2:30 build/C/man3/sigvec.3:27
95 #: build/C/man3/sigwait.3:27 build/C/man2/sigwaitinfo.2:26
96 #: build/C/man3/sysv_signal.3:26 build/C/man2/timer_create.2:32
97 #: build/C/man2/timer_delete.2:26 build/C/man2/timer_getoverrun.2:26
98 #: build/C/man2/timer_settime.2:27 build/C/man2/timerfd_create.2:24
99 #: build/C/man2/tkill.2:32 build/C/man2/wait.2:53 build/C/man2/wait4.2:37
100 #, no-wrap
101 msgid "SYNOPSIS"
102 msgstr "書式"
103
104 #. type: Plain text
105 #: build/C/man3/bsd_signal.3:28
106 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
107 msgstr "B<#define _XOPEN_SOURCE> /* feature_test_macros(7) 参照 */"
108
109 #. type: Plain text
110 #: build/C/man3/bsd_signal.3:30 build/C/man2/killpg.2:45
111 #: build/C/man2/sigaltstack.2:30 build/C/man2/signal.2:39
112 #: build/C/man2/sigpending.2:32 build/C/man2/sigprocmask.2:32
113 #: build/C/man3/sigqueue.3:31 build/C/man3/sigset.3:29
114 #: build/C/man3/sigsetops.3:35 build/C/man2/sigsuspend.2:32
115 #: build/C/man3/sigvec.3:29 build/C/man3/sysv_signal.3:30
116 msgid "B<#include E<lt>signal.hE<gt>>"
117 msgstr "B<#include E<lt>signal.hE<gt>>"
118
119 #. type: Plain text
120 #: build/C/man3/bsd_signal.3:32 build/C/man2/signal.2:41
121 #: build/C/man3/sigset.3:31 build/C/man3/sysv_signal.3:32
122 msgid "B<typedef void (*sighandler_t)(int);>"
123 msgstr "B<typedef void (*sighandler_t)(int);>"
124
125 #. type: Plain text
126 #: build/C/man3/bsd_signal.3:34
127 msgid ""
128 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
129 msgstr ""
130 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
131
132 #. type: SH
133 #: build/C/man3/bsd_signal.3:34 build/C/man2/eventfd.2:28
134 #: build/C/man2/getitimer.2:19 build/C/man3/gsignal.3:47
135 #: build/C/man2/kill.2:65 build/C/man2/killpg.2:59 build/C/man2/pause.2:37
136 #: build/C/man2/prctl.2:56 build/C/man3/profil.3:44 build/C/man3/psignal.3:54
137 #: build/C/man3/raise.3:36 build/C/man2/rt_sigqueueinfo.2:33
138 #: build/C/man2/sgetmask.2:31 build/C/man2/sigaction.2:65
139 #: build/C/man2/sigaltstack.2:49 build/C/man7/sigevent.7:50
140 #: build/C/man3/siginterrupt.3:53 build/C/man2/signal.2:43
141 #: build/C/man7/signal.7:47 build/C/man2/signalfd.2:26
142 #: build/C/man3/sigpause.3:34 build/C/man2/sigpending.2:44
143 #: build/C/man2/sigprocmask.2:45 build/C/man3/sigqueue.3:41
144 #: build/C/man2/sigreturn.2:32 build/C/man3/sigset.3:56
145 #: build/C/man3/sigsetops.3:61 build/C/man2/sigsuspend.2:44
146 #: build/C/man3/sigvec.3:47 build/C/man3/sigwait.3:43
147 #: build/C/man2/sigwaitinfo.2:44 build/C/man3/sysv_signal.3:34
148 #: build/C/man2/timer_create.2:50 build/C/man2/timer_delete.2:42
149 #: build/C/man2/timer_getoverrun.2:42 build/C/man2/timer_settime.2:47
150 #: build/C/man2/timerfd_create.2:36 build/C/man2/tkill.2:38
151 #: build/C/man2/wait.2:82 build/C/man2/wait4.2:68
152 #, no-wrap
153 msgid "DESCRIPTION"
154 msgstr "説明"
155
156 #. type: Plain text
157 #: build/C/man3/bsd_signal.3:39
158 msgid ""
159 "The B<bsd_signal>()  function takes the same arguments, and performs the "
160 "same task, as B<signal>(2)."
161 msgstr ""
162 "B<bsd_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
163 "る。"
164
165 #. type: Plain text
166 #: build/C/man3/bsd_signal.3:52
167 msgid ""
168 "The difference between the two is that B<bsd_signal>()  is guaranteed to "
169 "provide reliable signal semantics, that is: a) the disposition of the signal "
170 "is not reset to the default when the handler is invoked; b) delivery of "
171 "further instances of the signal is blocked while the signal handler is "
172 "executing; and c) if the handler interrupts a blocking system call, then the "
173 "system call is automatically restarted.  A portable application cannot rely "
174 "on B<signal>(2)  to provide these guarantees."
175 msgstr ""
176 "両者の違いは、 B<bsd_signal>()  では信頼性のあるシグナル処理方式の提供が保証"
177 "されていることである。 信頼性のあるシグナル処理方式は以下の特徴を持つ。 a) ハ"
178 "ンドラが起動された場合に、シグナルの処理方法 (disposition) が デフォルトにリ"
179 "セットされない、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナ"
180 "ルの配送が ブロックされない、 c) ハンドラが停止中の (blocking している) シス"
181 "テムコールを 中断した場合、そのシステムコールが自動的に再開される。 移植性が"
182 "必要なアプリケーションでは、 B<signal>(2)  でこれらが保証されることを前提にす"
183 "べきではない。"
184
185 #. type: SH
186 #: build/C/man3/bsd_signal.3:52 build/C/man2/eventfd.2:222
187 #: build/C/man2/getitimer.2:117 build/C/man2/kill.2:99
188 #: build/C/man2/killpg.2:88 build/C/man2/pause.2:42 build/C/man2/prctl.2:515
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:658 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:532
220 #: build/C/man2/rt_sigqueueinfo.2:129 build/C/man2/sgetmask.2:59
221 #: build/C/man2/sigaction.2:661 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:694 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:673
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/man2/rt_sigqueueinfo.2:173
278 #: build/C/man2/sgetmask.2:63 build/C/man2/sigaction.2:676
279 #: build/C/man2/sigaltstack.2:156 build/C/man2/signal.2:107
280 #: build/C/man2/signalfd.2:309 build/C/man3/sigpause.3:58
281 #: build/C/man2/sigpending.2:61 build/C/man2/sigprocmask.2:109
282 #: build/C/man3/sigqueue.3:114 build/C/man2/sigreturn.2:62
283 #: build/C/man3/sigset.3:188 build/C/man3/sigsetops.3:128
284 #: build/C/man2/sigsuspend.2:82 build/C/man3/sigvec.3:225
285 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
286 #: build/C/man3/sysv_signal.3:60 build/C/man2/timer_create.2:193
287 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/tkill.2:96
288 #: build/C/man2/wait.2:423 build/C/man2/wait4.2:135
289 #, no-wrap
290 msgid "NOTES"
291 msgstr "注意"
292
293 #. type: Plain text
294 #: build/C/man3/bsd_signal.3:74
295 msgid ""
296 "Use of B<bsd_signal>()  should be avoided; use B<sigaction>(2)  instead."
297 msgstr ""
298 "B<bsd_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使うこ"
299 "と。"
300
301 #. type: Plain text
302 #: build/C/man3/bsd_signal.3:85
303 msgid ""
304 "On modern Linux systems, B<bsd_signal>()  and B<signal>(2)  are equivalent.  "
305 "But on older systems, B<signal>(2)  provided unreliable signal semantics; "
306 "see B<signal>(2)  for details."
307 msgstr ""
308 "最近の Linux システムでは、 B<bsd_signal>()  と B<signal>(2)  は等価である。"
309 "しかし、以前のシステムでは、 B<signal>(2)  は信頼性に欠けるシグナル処理方式を"
310 "提供していた。 詳細は B<signal>(2)  を参照。"
311
312 #. type: Plain text
313 #: build/C/man3/bsd_signal.3:92 build/C/man3/sysv_signal.3:85
314 msgid ""
315 "The use of I<sighandler_t> is a GNU extension; this type is only defined if "
316 "the B<_GNU_SOURCE> feature test macro is defined."
317 msgstr ""
318 "I<sighandler_t> を使っているのは GNU による拡張である。 この型は機能検査マク"
319 "ロ B<_GNU_SOURCE> を定義した場合にのみ定義される。"
320
321 #. type: SH
322 #: build/C/man3/bsd_signal.3:92 build/C/man2/eventfd.2:417
323 #: build/C/man2/getitimer.2:219 build/C/man3/gsignal.3:101
324 #: build/C/man2/kill.2:170 build/C/man2/killpg.2:133 build/C/man2/pause.2:59
325 #: build/C/man2/prctl.2:708 build/C/man3/profil.3:79
326 #: build/C/man3/psignal.3:111 build/C/man3/raise.3:64
327 #: build/C/man2/rt_sigqueueinfo.2:183 build/C/man2/sgetmask.2:74
328 #: build/C/man2/sigaction.2:789 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:96
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: TH
351 #: build/C/man2/eventfd.2:21
352 #, no-wrap
353 msgid "EVENTFD"
354 msgstr "EVENTFD"
355
356 #. type: TH
357 #: build/C/man2/eventfd.2:21
358 #, fuzzy, no-wrap
359 #| msgid "2010-09-20"
360 msgid "2010-08-30"
361 msgstr "2010-09-20"
362
363 #. type: TH
364 #: build/C/man2/eventfd.2:21 build/C/man2/getitimer.2:7 build/C/man2/kill.2:44
365 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:46
366 #: build/C/man3/profil.3:28 build/C/man2/rt_sigqueueinfo.2:23
367 #: build/C/man2/sgetmask.2:24 build/C/man2/sigaction.2:45
368 #: build/C/man2/sigaltstack.2:25 build/C/man2/signal.2:34
369 #: build/C/man7/signal.7:44 build/C/man2/signalfd.2:19
370 #: build/C/man3/sigpause.3:23 build/C/man2/sigpending.2:27
371 #: build/C/man2/sigprocmask.2:27 build/C/man3/sigqueue.3:26
372 #: build/C/man2/sigreturn.2:27 build/C/man3/sigset.3:24
373 #: build/C/man3/sigsetops.3:29 build/C/man2/sigsuspend.2:27
374 #: build/C/man3/sigvec.3:24 build/C/man3/sigwait.3:24
375 #: build/C/man2/sigwaitinfo.2:23 build/C/man2/timer_create.2:29
376 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
377 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
378 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
379 #, no-wrap
380 msgid "Linux"
381 msgstr "Linux"
382
383 #. type: Plain text
384 #: build/C/man2/eventfd.2:24
385 msgid "eventfd - create a file descriptor for event notification"
386 msgstr "eventfd - イベント通知用のファイルディスクリプタを生成する"
387
388 #. type: Plain text
389 #: build/C/man2/eventfd.2:26
390 msgid "B<#include E<lt>sys/eventfd.hE<gt>>"
391 msgstr "B<#include E<lt>sys/eventfd.hE<gt>>"
392
393 #. type: Plain text
394 #: build/C/man2/eventfd.2:28
395 msgid "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
396 msgstr "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
397
398 #. type: Plain text
399 #: build/C/man2/eventfd.2:38
400 msgid ""
401 "B<eventfd>()  creates an \"eventfd object\" that can be used as an event "
402 "wait/notify mechanism by userspace applications, and by the kernel to notify "
403 "userspace applications of events.  The object contains an unsigned 64-bit "
404 "integer (I<uint64_t>)  counter that is maintained by the kernel.  This "
405 "counter is initialized with the value specified in the argument I<initval>."
406 msgstr ""
407 "B<eventfd>()  は \"eventfd オブジェクト\" を生成する。 eventfd オブジェクトは"
408 "ユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことが"
409 "できる。また、カーネルがユーザ空間アプリケーションに イベントを通知するために"
410 "も使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 "
411 "(I<uint64_t>)  型のカウンタが含まれており、このカウンタはカーネルにより管理さ"
412 "れる。 このカウンタは I<initval> 引き数で指定された値で初期化される。"
413
414 #. type: Plain text
415 #: build/C/man2/eventfd.2:43
416 #, fuzzy
417 #| msgid ""
418 #| "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
419 #| "I<flags> to change the behaviour of B<eventfd>():"
420 msgid ""
421 "The following values may be bitwise ORed in I<flags> to change the behaviour "
422 "of B<eventfd>():"
423 msgstr ""
424 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
425 "ることで、 B<eventfd>()  の振舞いを変更することができる。"
426
427 #. type: TP
428 #: build/C/man2/eventfd.2:43
429 #, fuzzy, no-wrap
430 #| msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
431 msgid "B<EFD_CLOEXEC> (since Linux 2.6.27)"
432 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
433
434 #. type: Plain text
435 #: build/C/man2/eventfd.2:53 build/C/man2/signalfd.2:94
436 #: build/C/man2/timerfd_create.2:102
437 msgid ""
438 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the new file descriptor.  See "
439 "the description of the B<O_CLOEXEC> flag in B<open>(2)  for reasons why this "
440 "may be useful."
441 msgstr ""
442 "新しいファイルディスクリプタに対して close-on-exec (B<FD_CLOEXEC>)  フラグを"
443 "セットする。 このフラグが役に立つ理由については、 B<open>(2)  の "
444 "B<O_CLOEXEC> フラグの説明を参照のこと。"
445
446 #. type: TP
447 #: build/C/man2/eventfd.2:53
448 #, fuzzy, no-wrap
449 #| msgid "B<SA_SIGINFO> (since Linux 2.2)"
450 msgid "B<EFD_NONBLOCK> (since Linux 2.6.27)"
451 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
452
453 #. type: Plain text
454 #: build/C/man2/eventfd.2:61 build/C/man2/signalfd.2:84
455 #: build/C/man2/timerfd_create.2:92
456 msgid ""
457 "Set the B<O_NONBLOCK> file status flag on the new open file description.  "
458 "Using this flag saves extra calls to B<fcntl>(2)  to achieve the same result."
459 msgstr ""
460 "新しく生成されるオープンファイル記述 (open file description) の "
461 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
462 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
463 "なる。"
464
465 #. type: TP
466 #: build/C/man2/eventfd.2:61
467 #, fuzzy, no-wrap
468 #| msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
469 msgid "B<EFD_SEMAPHORE> (since Linux 2.6.30)"
470 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
471
472 #. type: Plain text
473 #: build/C/man2/eventfd.2:65
474 msgid ""
475 "Provide semaphore-like semantics for reads from the new file descriptor.  "
476 "See below."
477 msgstr ""
478
479 #. type: Plain text
480 #: build/C/man2/eventfd.2:69 build/C/man2/signalfd.2:98
481 msgid ""
482 "In Linux up to version 2.6.26, the I<flags> argument is unused, and must be "
483 "specified as zero."
484 msgstr ""
485 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
486 "しなければならない。"
487
488 #. type: Plain text
489 #: build/C/man2/eventfd.2:75
490 msgid ""
491 "As its return value, B<eventfd>()  returns a new file descriptor that can be "
492 "used to refer to the eventfd object.  The following operations can be "
493 "performed on the file descriptor:"
494 msgstr ""
495 "B<eventfd>()  は eventfd オブジェクトを参照するのに使用できる新しいファイル"
496 "ディスクリプタ を返す。返されたファイルディスクリプタに対しては以下の操作を実"
497 "行できる。"
498
499 #. type: TP
500 #: build/C/man2/eventfd.2:75 build/C/man2/signalfd.2:101
501 #: build/C/man2/timerfd_create.2:210
502 #, no-wrap
503 msgid "B<read>(2)"
504 msgstr "B<read>(2)"
505
506 #. type: Plain text
507 #: build/C/man2/eventfd.2:85
508 #, fuzzy
509 #| msgid ""
510 #| "A B<read>(2)  will fail with the error B<EINVAL> if the size of the "
511 #| "supplied buffer is less than 8 bytes."
512 msgid ""
513 "Each successful B<read>(2)  returns an 8-byte integer.  A B<read>(2)  will "
514 "fail with the error B<EINVAL> if the size of the supplied buffer is less "
515 "than 8 bytes."
516 msgstr ""
517 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
518 "B<EINVAL> で失敗する。"
519
520 #. type: Plain text
521 #: build/C/man2/eventfd.2:90
522 msgid ""
523 "The value returned by B<read>(2)  is in host byte order, i.e., the native "
524 "byte order for integers on the host machine."
525 msgstr ""
526
527 #. type: Plain text
528 #: build/C/man2/eventfd.2:97
529 msgid ""
530 "The semantics of B<read>(2)  depend on whether the eventfd counter currently "
531 "has a nonzero value and whether the B<EFD_SEMAPHORE> flag was specified when "
532 "creating the eventfd file descriptor:"
533 msgstr ""
534
535 #. type: IP
536 #: build/C/man2/eventfd.2:98 build/C/man2/eventfd.2:105
537 #: build/C/man2/eventfd.2:112 build/C/man2/eventfd.2:157
538 #: build/C/man2/eventfd.2:167 build/C/man2/eventfd.2:177
539 #: build/C/man2/prctl.2:575 build/C/man2/prctl.2:580 build/C/man2/prctl.2:585
540 #: build/C/man2/prctl.2:595 build/C/man3/psignal.3:103
541 #: build/C/man3/psignal.3:107 build/C/man2/sigaction.2:294
542 #: build/C/man2/sigaction.2:309 build/C/man2/sigaction.2:325
543 #: build/C/man2/sigaction.2:340 build/C/man2/sigaction.2:387
544 #: build/C/man2/sigaction.2:423 build/C/man2/signal.2:66
545 #: build/C/man2/signal.2:71 build/C/man2/signal.2:78 build/C/man2/signal.2:205
546 #: build/C/man2/signal.2:209 build/C/man2/signal.2:248
547 #: build/C/man7/signal.7:147 build/C/man7/signal.7:155
548 #: build/C/man7/signal.7:611 build/C/man7/signal.7:613
549 #: build/C/man7/signal.7:634 build/C/man7/signal.7:649
550 #: build/C/man7/signal.7:653 build/C/man7/signal.7:660
551 #: build/C/man7/signal.7:676 build/C/man7/signal.7:682
552 #: build/C/man7/signal.7:689 build/C/man7/signal.7:694
553 #: build/C/man7/signal.7:713 build/C/man7/signal.7:732
554 #: build/C/man7/signal.7:739 build/C/man7/signal.7:748
555 #: build/C/man7/signal.7:756 build/C/man7/signal.7:762
556 #: build/C/man7/signal.7:767 build/C/man7/signal.7:787
557 #: build/C/man7/signal.7:806 build/C/man7/signal.7:809
558 #: build/C/man7/signal.7:812 build/C/man7/signal.7:815
559 #: build/C/man7/signal.7:820 build/C/man7/signal.7:826
560 #: build/C/man7/signal.7:830 build/C/man3/sigwait.3:59
561 #: build/C/man3/sigwait.3:64 build/C/man2/timer_create.2:214
562 #: build/C/man2/timer_create.2:217 build/C/man2/timer_create.2:220
563 #: build/C/man2/timer_create.2:224 build/C/man2/timer_create.2:227
564 #: build/C/man2/timer_create.2:233 build/C/man2/timer_create.2:237
565 #, no-wrap
566 msgid "*"
567 msgstr "*"
568
569 #. type: Plain text
570 #: build/C/man2/eventfd.2:105
571 #, fuzzy
572 #| msgid ""
573 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
574 #| "bytes containing that value, and the counter's value is reset to zero.  "
575 #| "(The returned value is in host byte order, i.e., the native byte order "
576 #| "for integers on the host machine.)"
577 msgid ""
578 "If B<EFD_SEMAPHORE> was not specified and the eventfd counter has a nonzero "
579 "value, then a B<read>(2)  returns 8 bytes containing that value, and the "
580 "counter's value is reset to zero."
581 msgstr ""
582 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
583 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
584 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
585
586 #. type: Plain text
587 #: build/C/man2/eventfd.2:112
588 #, fuzzy
589 #| msgid ""
590 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
591 #| "bytes containing that value, and the counter's value is reset to zero.  "
592 #| "(The returned value is in host byte order, i.e., the native byte order "
593 #| "for integers on the host machine.)"
594 msgid ""
595 "If B<EFD_SEMAPHORE> was specified and the eventfd counter has a nonzero "
596 "value, then a B<read>(2)  returns 8 bytes containing the value 1, and the "
597 "counter's value is decremented by 1."
598 msgstr ""
599 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
600 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
601 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
602
603 #. type: Plain text
604 #: build/C/man2/eventfd.2:122
605 #, fuzzy
606 #| msgid ""
607 #| "If the counter is zero at the time of the B<read>(2), then the call "
608 #| "either blocks until the counter becomes nonzero, or fails with the error "
609 #| "B<EAGAIN> if the file descriptor has been made nonblocking."
610 msgid ""
611 "If the eventfd counter is zero at the time of the call to B<read>(2), then "
612 "the call either blocks until the counter becomes nonzero (at which time, the "
613 "B<read>(2)  proceeds as described above)  or fails with the error B<EAGAIN> "
614 "if the file descriptor has been made nonblocking."
615 msgstr ""
616 "B<read>(2)  の時点でカウンタが 0 の場合、 B<read>(2)  はカウンタが 0 以外にな"
617 "るまで停止 (block) する、 もしくはファイルディスクリプタが非停止 "
618 "(nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
619
620 #. type: TP
621 #: build/C/man2/eventfd.2:123
622 #, no-wrap
623 msgid "B<write>(2)"
624 msgstr "B<write>(2)"
625
626 #. type: Plain text
627 #: build/C/man2/eventfd.2:140
628 msgid ""
629 "A B<write>(2)  call adds the 8-byte integer value supplied in its buffer to "
630 "the counter.  The maximum value that may be stored in the counter is the "
631 "largest unsigned 64-bit value minus 1 (i.e., 0xfffffffffffffffe).  If the "
632 "addition would cause the counter's value to exceed the maximum, then the "
633 "B<write>(2)  either blocks until a B<read>(2)  is performed on the file "
634 "descriptor, or fails with the error B<EAGAIN> if the file descriptor has "
635 "been made nonblocking."
636 msgstr ""
637 "B<write>(2)  は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算"
638 "する。 カウンタに格納可能な最大値は unsigned の 64 ビット整数の最大値から 1 "
639 "を引いた値 (すなわち 0xfffffffffffffffe) である。 加算を行うとカウンタ値が最"
640 "大値を超過する場合には、 そのファイルディスクリプタに対して B<read>(2)  が実"
641 "行されるまで、 B<write>(2)  は停止 (block) する、 もしくはファイルディスクリ"
642 "プタが非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗す"
643 "る。"
644
645 #. type: Plain text
646 #: build/C/man2/eventfd.2:147
647 msgid ""
648 "A B<write>(2)  will fail with the error B<EINVAL> if the size of the "
649 "supplied buffer is less than 8 bytes, or if an attempt is made to write the "
650 "value 0xffffffffffffffff."
651 msgstr ""
652 "渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 "
653 "0xffffffffffffffff を書き込もうとした場合、 B<write>(2)  はエラー B<EINVAL> "
654 "で失敗する。"
655
656 #. type: TP
657 #: build/C/man2/eventfd.2:147 build/C/man2/signalfd.2:139
658 #: build/C/man2/timerfd_create.2:243
659 #, no-wrap
660 msgid "B<poll>(2), B<select>(2) (and similar)"
661 msgstr "B<poll>(2), B<select>(2) (と同様の操作)"
662
663 #. type: Plain text
664 #: build/C/man2/eventfd.2:156
665 msgid ""
666 "The returned file descriptor supports B<poll>(2)  (and analogously B<epoll>"
667 "(7))  and B<select>(2), as follows:"
668 msgstr ""
669 "返されたファイルディスクリプタは、 B<poll>(2)  (B<epoll>(7)  も同じ) や "
670 "B<select>(2)  をサポートしており、以下のような動作をする。"
671
672 #. type: Plain text
673 #: build/C/man2/eventfd.2:167
674 msgid ""
675 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
676 "B<poll>(2)  B<POLLIN> flag)  if the counter has a value greater than 0."
677 msgstr ""
678 "カウンタが 0 より大きい値の場合、 ファイルディスクリプタは読み出し可能となる "
679 "(B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
680
681 #. type: Plain text
682 #: build/C/man2/eventfd.2:177
683 msgid ""
684 "The file descriptor is writable (the B<select>(2)  I<writefds> argument; the "
685 "B<poll>(2)  B<POLLOUT> flag)  if it is possible to write a value of at least "
686 "\"1\" without blocking."
687 msgstr ""
688 "少なくとも値 \"1\" を、停止 (block) を伴わずに書き込める場合、 ファイルディス"
689 "クリプタは書き込み可能となる (B<select>(2)  の I<writefds> 引き数や B<poll>"
690 "(2)  の B<POLLOUT> フラグ)。"
691
692 #. type: Plain text
693 #: build/C/man2/eventfd.2:197
694 msgid ""
695 "If an overflow of the counter value was detected, then B<select>(2)  "
696 "indicates the file descriptor as being both readable and writable, and "
697 "B<poll>(2)  returns a B<POLLERR> event.  As noted above, B<write>(2)  can "
698 "never overflow the counter.  However an overflow can occur if 2^64 eventfd "
699 "\"signal posts\" were performed by the KAIO subsystem (theoretically "
700 "possible, but practically unlikely).  If an overflow has occurred, then "
701 "B<read>(2)  will return that maximum I<uint64_t> value (i.e., "
702 "0xffffffffffffffff)."
703 msgstr ""
704 "カウンタ値のオーバーフローが検出された場合、 B<select>(2)  はファイルディスク"
705 "リプタは読み出し可能と書き込み可能の両方を通知し、 B<poll>(2)  は B<POLLERR> "
706 "イベントを返す。 上述の通り、 B<write>(2)  でカウンタがオーバーフローすること"
707 "は決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "
708 "\"signal posts\" が 実行された場合にはオーバーフローが起こり得る (理論的には"
709 "あり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、 B<read>"
710 "(2)  は I<uint64_t> の最大値 (すなわち 0xffffffffffffffff) を返す。"
711
712 #. type: Plain text
713 #: build/C/man2/eventfd.2:205
714 msgid ""
715 "The eventfd file descriptor also supports the other file-descriptor "
716 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
717 msgstr ""
718 "eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
719 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
720
721 #. type: TP
722 #: build/C/man2/eventfd.2:205 build/C/man2/signalfd.2:159
723 #: build/C/man2/timerfd_create.2:261
724 #, no-wrap
725 msgid "B<close>(2)"
726 msgstr "B<close>(2)"
727
728 #. type: Plain text
729 #: build/C/man2/eventfd.2:210
730 msgid ""
731 "When the file descriptor is no longer required it should be closed.  When "
732 "all file descriptors associated with the same eventfd object have been "
733 "closed, the resources for object are freed by the kernel."
734 msgstr ""
735 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
736 "る。 同じ eventfd オブジェクトに関連付けられたファイルディスクリプタが全て ク"
737 "ローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
738
739 #. type: Plain text
740 #: build/C/man2/eventfd.2:222
741 #, fuzzy
742 #| msgid ""
743 #| "A copy of the file descriptor created by B<eventfd>()  is inherited by "
744 #| "the child produced by B<fork>(2).  The duplicate file descriptor is "
745 #| "associated with the same eventfd object.  File descriptors created by "
746 #| "B<eventfd>()  are preserved across B<execve>(2)."
747 msgid ""
748 "A copy of the file descriptor created by B<eventfd>()  is inherited by the "
749 "child produced by B<fork>(2).  The duplicate file descriptor is associated "
750 "with the same eventfd object.  File descriptors created by B<eventfd>()  are "
751 "preserved across B<execve>(2), unless the close-on-exec flag has been set."
752 msgstr ""
753 "B<fork>(2)  で生成された子プロセスは、 B<eventfd>()  で生成されたファイルディ"
754 "スクリプタのコピーを継承する。 複製されたファイルディスクリプタは同じ "
755 "eventfd オブジェクトに関連付けられる。 B<execve>(2)  の前後で B<eventfd>()  "
756 "で生成されたファイルディスクリプタは保持される。"
757
758 #. type: Plain text
759 #: build/C/man2/eventfd.2:229
760 msgid ""
761 "On success, B<eventfd>()  returns a new eventfd file descriptor.  On error, "
762 "-1 is returned and I<errno> is set to indicate the error."
763 msgstr ""
764 "成功すると、 B<eventfd>()  は新規の eventfd ファイルディスクリプタを返す。 エ"
765 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
766
767 #. type: TP
768 #: build/C/man2/eventfd.2:230 build/C/man2/getitimer.2:130
769 #: build/C/man2/kill.2:105 build/C/man2/killpg.2:94 build/C/man2/prctl.2:537
770 #: build/C/man2/prctl.2:542 build/C/man2/prctl.2:554 build/C/man2/prctl.2:559
771 #: build/C/man2/prctl.2:568 build/C/man2/rt_sigqueueinfo.2:136
772 #: build/C/man2/sigaction.2:666 build/C/man2/sigaltstack.2:140
773 #: build/C/man3/siginterrupt.3:77 build/C/man2/signal.2:101
774 #: build/C/man2/signalfd.2:268 build/C/man2/signalfd.2:276
775 #: build/C/man2/sigprocmask.2:102 build/C/man3/sigqueue.3:96
776 #: build/C/man3/sigsetops.3:122 build/C/man3/sigwait.3:72
777 #: build/C/man2/sigwaitinfo.2:122 build/C/man2/timer_create.2:177
778 #: build/C/man2/timer_delete.2:58 build/C/man2/timer_getoverrun.2:88
779 #: build/C/man2/timer_settime.2:187 build/C/man2/timer_settime.2:195
780 #: build/C/man2/timerfd_create.2:304 build/C/man2/timerfd_create.2:312
781 #: build/C/man2/timerfd_create.2:348 build/C/man2/timerfd_create.2:355
782 #: build/C/man2/timerfd_create.2:361 build/C/man2/tkill.2:74
783 #: build/C/man2/wait.2:416
784 #, no-wrap
785 msgid "B<EINVAL>"
786 msgstr "B<EINVAL>"
787
788 #. type: Plain text
789 #: build/C/man2/eventfd.2:234
790 msgid "An unsupported value was specified in I<flags>."
791 msgstr ""
792
793 #. type: TP
794 #: build/C/man2/eventfd.2:234 build/C/man2/signalfd.2:283
795 #: build/C/man2/timerfd_create.2:319
796 #, no-wrap
797 msgid "B<EMFILE>"
798 msgstr "B<EMFILE>"
799
800 #. type: Plain text
801 #: build/C/man2/eventfd.2:237
802 msgid "The per-process limit on open file descriptors has been reached."
803 msgstr ""
804 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
805
806 #. type: TP
807 #: build/C/man2/eventfd.2:237 build/C/man2/signalfd.2:286
808 #: build/C/man2/timerfd_create.2:322
809 #, no-wrap
810 msgid "B<ENFILE>"
811 msgstr "B<ENFILE>"
812
813 #. type: Plain text
814 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
815 #: build/C/man2/timerfd_create.2:326
816 msgid ""
817 "The system-wide limit on the total number of open files has been reached."
818 msgstr "オープン済みのファイル総数がシステム全体の上限に達していた。"
819
820 #. type: TP
821 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
822 #: build/C/man2/timerfd_create.2:326
823 #, no-wrap
824 msgid "B<ENODEV>"
825 msgstr "B<ENODEV>"
826
827 #. type: Plain text
828 #: build/C/man2/eventfd.2:249 build/C/man2/signalfd.2:293
829 #: build/C/man2/timerfd_create.2:329
830 msgid "Could not mount (internal) anonymous inode device."
831 msgstr "(カーネル内の) 無名 inode デバイスをマウントできなかった。"
832
833 #. type: TP
834 #: build/C/man2/eventfd.2:249 build/C/man2/sigaltstack.2:145
835 #: build/C/man2/signalfd.2:293 build/C/man2/timer_create.2:185
836 #: build/C/man2/timerfd_create.2:329
837 #, no-wrap
838 msgid "B<ENOMEM>"
839 msgstr "B<ENOMEM>"
840
841 #. type: Plain text
842 #: build/C/man2/eventfd.2:253
843 msgid "There was insufficient memory to create a new eventfd file descriptor."
844 msgstr ""
845 "新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
846
847 #. type: SH
848 #: build/C/man2/eventfd.2:253 build/C/man2/prctl.2:689
849 #: build/C/man3/psignal.3:93 build/C/man2/rt_sigqueueinfo.2:164
850 #: build/C/man2/signalfd.2:296 build/C/man3/sigqueue.3:110
851 #: build/C/man2/timer_create.2:189 build/C/man2/timer_delete.2:62
852 #: build/C/man2/timer_getoverrun.2:92 build/C/man2/timer_settime.2:201
853 #: build/C/man2/timerfd_create.2:367 build/C/man2/tkill.2:85
854 #, no-wrap
855 msgid "VERSIONS"
856 msgstr "バージョン"
857
858 #.  eventfd() is in glibc 2.7, but reportedly does not build
859 #. type: Plain text
860 #: build/C/man2/eventfd.2:266
861 msgid ""
862 "B<eventfd>()  is available on Linux since kernel 2.6.22.  Working support is "
863 "provided in glibc since version 2.8.  The B<eventfd2>()  system call (see "
864 "NOTES) is available on Linux since kernel 2.6.27.  Since version 2.9, the "
865 "glibc B<eventfd>()  wrapper will employ the B<eventfd2>()  system call, if "
866 "it is supported by the kernel."
867 msgstr ""
868 "B<eventfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
869 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<eventfd2>()  "
870 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
871 "る。 バージョン 2.9 以降では、glibc の B<eventfd>()  のラッパー関数は、カーネ"
872 "ルが対応していれば B<eventfd2>()  システムコールを利用する。"
873
874 #. type: Plain text
875 #: build/C/man2/eventfd.2:271
876 msgid "B<eventfd>()  and B<eventfd2>()  are Linux-specific."
877 msgstr "B<eventfd>()  と B<eventfd2>()  は Linux 固有である。"
878
879 #. type: Plain text
880 #: build/C/man2/eventfd.2:279
881 msgid ""
882 "Applications can use an eventfd file descriptor instead of a pipe (see "
883 "B<pipe>(2))  in all cases where a pipe is used simply to signal events.  The "
884 "kernel overhead of an eventfd file descriptor is much lower than that of a "
885 "pipe, and only one file descriptor is required (versus the two required for "
886 "a pipe)."
887 msgstr ""
888 "アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場"
889 "面において、パイプの代わりに eventfd ファイルディスクリプタを 使用することが"
890 "できる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて "
891 "カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つ"
892 "しか必要としない (パイプの場合は二つ必要である)。"
893
894 #.  or eventually syslets/threadlets
895 #. type: Plain text
896 #: build/C/man2/eventfd.2:285
897 msgid ""
898 "When used in the kernel, an eventfd file descriptor can provide a kernel-"
899 "userspace bridge allowing, for example, functionalities like KAIO (kernel "
900 "AIO)  to signal to a file descriptor that some operation is complete."
901 msgstr ""
902 "カーネル内で使用すると、eventfd ファイルディスクリプタは カーネル空間とユーザ"
903 "空間のブリッジ機能を提供することができ、 例えば KAIO (kernel AIO)  のような機"
904 "能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することが"
905 "できる。"
906
907 #. type: Plain text
908 #: build/C/man2/eventfd.2:302
909 msgid ""
910 "A key point about an eventfd file descriptor is that it can be monitored "
911 "just like any other file descriptor using B<select>(2), B<poll>(2), or "
912 "B<epoll>(7).  This means that an application can simultaneously monitor the "
913 "readiness of \"traditional\" files and the readiness of other kernel "
914 "mechanisms that support the eventfd interface.  (Without the B<eventfd>()  "
915 "interface, these mechanisms could not be multiplexed via B<select>(2), "
916 "B<poll>(2), or B<epoll>(7).)"
917 msgstr ""
918 "eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタ"
919 "が B<select>(2), B<poll>(2), B<epoll>(7)  を使って他のファイルディスクリプタ"
920 "と全く同様に監視できる点である。 このことは、アプリケーションは「従来の "
921 "(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他の"
922 "カーネル機構の状態変化を同時に監視 できることを意味する (B<eventfd>()  インタ"
923 "フェースがない時には、これらのカーネル機構は B<select>(2), B<poll>(2), "
924 "B<epoll>(7)  経由で多重することはできなかった)。"
925
926 #. type: SS
927 #: build/C/man2/eventfd.2:302 build/C/man2/signalfd.2:333
928 #, no-wrap
929 msgid "Underlying Linux system calls"
930 msgstr "下層にある Linux のシステムコール"
931
932 #. type: Plain text
933 #: build/C/man2/eventfd.2:316
934 msgid ""
935 "There are two underlying Linux system calls: B<eventfd>()  and the more "
936 "recent B<eventfd2>().  The former system call does not implement a I<flags> "
937 "argument.  The latter system call implements the I<flags> values described "
938 "above.  The glibc wrapper function will use B<eventfd2>()  where it is "
939 "available."
940 msgstr ""
941 "下層にある Linux システムコールは二種類あり、 B<eventfd>()  と、もっと新しい "
942 "B<eventfd2>()  である。 B<eventfd>()  は I<flags> 引き数を実装していない。 "
943 "B<eventfd2>()  では上記の値の I<flags> が実装されている。 glibc のラッパー関"
944 "数は、 B<eventfd2>()  が利用可能であれば、これを使用する。"
945
946 #. type: SS
947 #: build/C/man2/eventfd.2:316
948 #, no-wrap
949 msgid "Additional glibc features"
950 msgstr "glibc の追加機能"
951
952 #. type: Plain text
953 #: build/C/man2/eventfd.2:320
954 msgid ""
955 "The GNU C library defines an additional type, and two functions that attempt "
956 "to abstract some of the details of reading and writing on an eventfd file "
957 "descriptor:"
958 msgstr ""
959 "GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに を関"
960 "する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義してい"
961 "る。"
962
963 #. type: Plain text
964 #: build/C/man2/eventfd.2:324
965 #, no-wrap
966 msgid "typedef uint64_t eventfd_t;\n"
967 msgstr "typedef uint64_t eventfd_t;\n"
968
969 #. type: Plain text
970 #: build/C/man2/eventfd.2:327
971 #, no-wrap
972 msgid ""
973 "int eventfd_read(int fd, eventfd_t *value);\n"
974 "int eventfd_write(int fd, eventfd_t value);\n"
975 msgstr ""
976 "int eventfd_read(int fd, eventfd_t *value);\n"
977 "int eventfd_write(int fd, eventfd_t value);\n"
978
979 #. type: Plain text
980 #: build/C/man2/eventfd.2:334
981 msgid ""
982 "The functions perform the read and write operations on an eventfd file "
983 "descriptor, returning 0 if the correct number of bytes was transferred, or "
984 "-1 otherwise."
985 msgstr ""
986 "これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操"
987 "作を実行し、正しいバイト数が転送された場合には 0 を返し、そうでない場合は -1 "
988 "を返す。"
989
990 #. type: SH
991 #: build/C/man2/eventfd.2:334 build/C/man2/sigaction.2:786
992 #: build/C/man2/sigaltstack.2:213 build/C/man2/signalfd.2:357
993 #: build/C/man3/sigwait.3:83 build/C/man2/timer_create.2:251
994 #: build/C/man2/timer_getoverrun.2:125 build/C/man2/timer_settime.2:205
995 #: build/C/man2/timerfd_create.2:372 build/C/man2/wait.2:522
996 #, no-wrap
997 msgid "EXAMPLE"
998 msgstr "例"
999
1000 #. type: Plain text
1001 #: build/C/man2/eventfd.2:343
1002 msgid ""
1003 "The following program creates an eventfd file descriptor and then forks to "
1004 "create a child process.  While the parent briefly sleeps, the child writes "
1005 "each of the integers supplied in the program's command-line arguments to the "
1006 "eventfd file descriptor.  When the parent has finished sleeping, it reads "
1007 "from the eventfd file descriptor."
1008 msgstr ""
1009 "以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実"
1010 "行して子プロセスを生成する。 親プロセスが少しの間 sleep する間に、子プロセス"
1011 "は プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd "
1012 "ファイルディスクリプタに書き込む。 親プロセスは sleep を完了すると eventfd "
1013 "ファイルディスクリプタから 読み出しを行う。"
1014
1015 #. type: Plain text
1016 #: build/C/man2/eventfd.2:345
1017 msgid "The following shell session shows a sample run of the program:"
1018 msgstr "以下に示すシェルセッションにこのプログラムの使い方を示す。"
1019
1020 #. type: Plain text
1021 #: build/C/man2/eventfd.2:357
1022 #, no-wrap
1023 msgid ""
1024 "$B< ./a.out 1 2 4 7 14>\n"
1025 "Child writing 1 to efd\n"
1026 "Child writing 2 to efd\n"
1027 "Child writing 4 to efd\n"
1028 "Child writing 7 to efd\n"
1029 "Child writing 14 to efd\n"
1030 "Child completed write loop\n"
1031 "Parent about to read\n"
1032 "Parent read 28 (0x1c) from efd\n"
1033 msgstr ""
1034 "$B< ./a.out 1 2 4 7 14>\n"
1035 "Child writing 1 to efd\n"
1036 "Child writing 2 to efd\n"
1037 "Child writing 4 to efd\n"
1038 "Child writing 7 to efd\n"
1039 "Child writing 14 to efd\n"
1040 "Child completed write loop\n"
1041 "Parent about to read\n"
1042 "Parent read 28 (0x1c) from efd\n"
1043
1044 #. type: SS
1045 #: build/C/man2/eventfd.2:359 build/C/man2/signalfd.2:380
1046 #: build/C/man2/timerfd_create.2:400 build/C/man2/wait.2:557
1047 #, no-wrap
1048 msgid "Program source"
1049 msgstr "プログラムのソース"
1050
1051 #. type: Plain text
1052 #: build/C/man2/eventfd.2:367
1053 #, no-wrap
1054 msgid ""
1055 "#include E<lt>sys/eventfd.hE<gt>\n"
1056 "#include E<lt>unistd.hE<gt>\n"
1057 "#include E<lt>stdlib.hE<gt>\n"
1058 "#include E<lt>stdio.hE<gt>\n"
1059 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1060 msgstr ""
1061 "#include E<lt>sys/eventfd.hE<gt>\n"
1062 "#include E<lt>unistd.hE<gt>\n"
1063 "#include E<lt>stdlib.hE<gt>\n"
1064 "#include E<lt>stdio.hE<gt>\n"
1065 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1066
1067 #. type: Plain text
1068 #: build/C/man2/eventfd.2:370 build/C/man2/signalfd.2:391
1069 #, no-wrap
1070 msgid ""
1071 "#define handle_error(msg) \\e\n"
1072 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1073 msgstr ""
1074 "#define handle_error(msg) \\e\n"
1075 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1076
1077 #. type: Plain text
1078 #: build/C/man2/eventfd.2:377
1079 #, no-wrap
1080 msgid ""
1081 "int\n"
1082 "main(int argc, char *argv[])\n"
1083 "{\n"
1084 "    int efd, j;\n"
1085 "    uint64_t u;\n"
1086 "    ssize_t s;\n"
1087 msgstr ""
1088 "int\n"
1089 "main(int argc, char *argv[])\n"
1090 "{\n"
1091 "    int efd, j;\n"
1092 "    uint64_t u;\n"
1093 "    ssize_t s;\n"
1094
1095 #. type: Plain text
1096 #: build/C/man2/eventfd.2:382
1097 #, no-wrap
1098 msgid ""
1099 "    if (argc E<lt> 2) {\n"
1100 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1101 "        exit(EXIT_FAILURE);\n"
1102 "    }\n"
1103 msgstr ""
1104 "    if (argc E<lt> 2) {\n"
1105 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1106 "        exit(EXIT_FAILURE);\n"
1107 "    }\n"
1108
1109 #. type: Plain text
1110 #: build/C/man2/eventfd.2:386
1111 #, no-wrap
1112 msgid ""
1113 "    efd = eventfd(0, 0);\n"
1114 "    if (efd == -1)\n"
1115 "        handle_error(\"eventfd\");\n"
1116 msgstr ""
1117 "    efd = eventfd(0, 0);\n"
1118 "    if (efd == -1)\n"
1119 "        handle_error(\"eventfd\");\n"
1120
1121 #. type: Plain text
1122 #: build/C/man2/eventfd.2:398
1123 #, no-wrap
1124 msgid ""
1125 "    switch (fork()) {\n"
1126 "    case 0:\n"
1127 "        for (j = 1; j E<lt> argc; j++) {\n"
1128 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1129 "            u = strtoull(argv[j], NULL, 0);\n"
1130 "                    /* strtoull() allows various bases */\n"
1131 "            s = write(efd, &u, sizeof(uint64_t));\n"
1132 "            if (s != sizeof(uint64_t))\n"
1133 "                handle_error(\"write\");\n"
1134 "        }\n"
1135 "        printf(\"Child completed write loop\\en\");\n"
1136 msgstr ""
1137 "    switch (fork()) {\n"
1138 "    case 0:\n"
1139 "        for (j = 1; j E<lt> argc; j++) {\n"
1140 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1141 "            u = strtoull(argv[j], NULL, 0);\n"
1142 "                    /* strtoull() allows various bases */\n"
1143 "            s = write(efd, &u, sizeof(uint64_t));\n"
1144 "            if (s != sizeof(uint64_t))\n"
1145 "                handle_error(\"write\");\n"
1146 "        }\n"
1147 "        printf(\"Child completed write loop\\en\");\n"
1148
1149 #. type: Plain text
1150 #: build/C/man2/eventfd.2:400
1151 #, no-wrap
1152 msgid "        exit(EXIT_SUCCESS);\n"
1153 msgstr "        exit(EXIT_SUCCESS);\n"
1154
1155 #. type: Plain text
1156 #: build/C/man2/eventfd.2:403
1157 #, no-wrap
1158 msgid ""
1159 "    default:\n"
1160 "        sleep(2);\n"
1161 msgstr ""
1162 "    default:\n"
1163 "        sleep(2);\n"
1164
1165 #. type: Plain text
1166 #: build/C/man2/eventfd.2:411
1167 #, no-wrap
1168 msgid ""
1169 "        printf(\"Parent about to read\\en\");\n"
1170 "        s = read(efd, &u, sizeof(uint64_t));\n"
1171 "        if (s != sizeof(uint64_t))\n"
1172 "            handle_error(\"read\");\n"
1173 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1174 "                (unsigned long long) u, (unsigned long long) u);\n"
1175 "        exit(EXIT_SUCCESS);\n"
1176 msgstr ""
1177 "        printf(\"Parent about to read\\en\");\n"
1178 "        s = read(efd, &u, sizeof(uint64_t));\n"
1179 "        if (s != sizeof(uint64_t))\n"
1180 "            handle_error(\"read\");\n"
1181 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1182 "                (unsigned long long) u, (unsigned long long) u);\n"
1183 "        exit(EXIT_SUCCESS);\n"
1184
1185 #. type: Plain text
1186 #: build/C/man2/eventfd.2:416
1187 #, no-wrap
1188 msgid ""
1189 "    case -1:\n"
1190 "        handle_error(\"fork\");\n"
1191 "    }\n"
1192 "}\n"
1193 msgstr ""
1194 "    case -1:\n"
1195 "        handle_error(\"fork\");\n"
1196 "    }\n"
1197 "}\n"
1198
1199 #. type: Plain text
1200 #: build/C/man2/eventfd.2:427
1201 msgid ""
1202 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1203 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1204 msgstr ""
1205 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1206 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1207
1208 #. type: TH
1209 #: build/C/man2/getitimer.2:7
1210 #, no-wrap
1211 msgid "GETITIMER"
1212 msgstr "GETITIMER"
1213
1214 #. type: Plain text
1215 #: build/C/man2/getitimer.2:10
1216 msgid "getitimer, setitimer - get or set value of an interval timer"
1217 msgstr "getitimer, setitimer - インターバル・タイマーの値を取得または設定する"
1218
1219 #. type: Plain text
1220 #: build/C/man2/getitimer.2:13
1221 #, no-wrap
1222 msgid "B<#include E<lt>sys/time.hE<gt>>\n"
1223 msgstr "B<#include E<lt>sys/time.hE<gt>>\n"
1224
1225 #. type: Plain text
1226 #: build/C/man2/getitimer.2:15
1227 #, no-wrap
1228 msgid "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1229 msgstr "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1230
1231 #. type: Plain text
1232 #: build/C/man2/getitimer.2:18
1233 #, no-wrap
1234 msgid ""
1235 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1236 "B<              struct itimerval *>I<old_value>B<);>\n"
1237 msgstr ""
1238 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1239 "B<              struct itimerval *>I<old_value>B<);>\n"
1240
1241 #. type: Plain text
1242 #: build/C/man2/getitimer.2:24
1243 msgid ""
1244 "The system provides each process with three interval timers, each "
1245 "decrementing in a distinct time domain.  When any timer expires, a signal is "
1246 "sent to the process, and the timer (potentially) restarts."
1247 msgstr ""
1248 "システムは 1 個のプロセスにつき 3 個のインターバル・タイマーを提供する。 それ"
1249 "ぞれのタイマーは別々の時間領域で減少する。 どのタイマーも満了するとプロセスに"
1250 "シグナルが送られ、 タイマーは (設定によっては) 再び開始される。"
1251
1252 #. type: TP
1253 #: build/C/man2/getitimer.2:24
1254 #, no-wrap
1255 msgid "B<ITIMER_REAL>"
1256 msgstr "B<ITIMER_REAL>"
1257
1258 #. type: Plain text
1259 #: build/C/man2/getitimer.2:29
1260 msgid "decrements in real time, and delivers B<SIGALRM> upon expiration."
1261 msgstr "実時間 (real time) で減少し、満了すると B<SIGALRM> が送られる。"
1262
1263 #. type: TP
1264 #: build/C/man2/getitimer.2:29
1265 #, no-wrap
1266 msgid "B<ITIMER_VIRTUAL>"
1267 msgstr "B<ITIMER_VIRTUAL>"
1268
1269 #. type: Plain text
1270 #: build/C/man2/getitimer.2:34
1271 msgid ""
1272 "decrements only when the process is executing, and delivers B<SIGVTALRM> "
1273 "upon expiration."
1274 msgstr ""
1275 "プロセスが実行されている間のみ減少し、満了すると B<SIGVTALRM> が送られる。"
1276
1277 #. type: TP
1278 #: build/C/man2/getitimer.2:34
1279 #, no-wrap
1280 msgid "B<ITIMER_PROF>"
1281 msgstr "B<ITIMER_PROF>"
1282
1283 #. type: Plain text
1284 #: build/C/man2/getitimer.2:44
1285 msgid ""
1286 "decrements both when the process executes and when the system is executing "
1287 "on behalf of the process.  Coupled with B<ITIMER_VIRTUAL>, this timer is "
1288 "usually used to profile the time spent by the application in user and kernel "
1289 "space.  B<SIGPROF> is delivered upon expiration."
1290 msgstr ""
1291 "プロセスが実行されていて、 かつシステムがそのプロセスのために処理を行なってい"
1292 "る間に減少する。 多くの場合、このタイマーは B<ITIMER_VIRTUAL> と組み合わされ"
1293 "て、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたか"
1294 "をプロファイルするのに使用される。 満了すると B<SIGPROF> が送られる。"
1295
1296 #. type: Plain text
1297 #: build/C/man2/getitimer.2:46
1298 msgid "Timer values are defined by the following structures:"
1299 msgstr "タイマーの値は以下の構造体によって定義される:"
1300
1301 #. type: Plain text
1302 #: build/C/man2/getitimer.2:54
1303 #, no-wrap
1304 msgid ""
1305 "struct itimerval {\n"
1306 "    struct timeval it_interval; /* next value */\n"
1307 "    struct timeval it_value;    /* current value */\n"
1308 "};\n"
1309 msgstr ""
1310 "struct itimerval {\n"
1311 "    struct timeval it_interval; /* next value */\n"
1312 "    struct timeval it_value;    /* current value */\n"
1313 "};\n"
1314
1315 #. type: Plain text
1316 #: build/C/man2/getitimer.2:59
1317 #, no-wrap
1318 msgid ""
1319 "struct timeval {\n"
1320 "    long tv_sec;                /* seconds */\n"
1321 "    long tv_usec;               /* microseconds */\n"
1322 "};\n"
1323 msgstr ""
1324 "struct timeval {\n"
1325 "    long tv_sec;                /* seconds */\n"
1326 "    long tv_usec;               /* microseconds */\n"
1327 "};\n"
1328
1329 #. type: Plain text
1330 #: build/C/man2/getitimer.2:81
1331 msgid ""
1332 "The function B<getitimer>()  fills the structure pointed to by I<curr_value> "
1333 "with the current setting for the timer specified by I<which> (one of "
1334 "B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>).  The element "
1335 "I<it_value> is set to the amount of time remaining on the timer, or zero if "
1336 "the timer is disabled.  Similarly, I<it_interval> is set to the reset value."
1337 msgstr ""
1338 "B<getitimer>()  関数は、 I<which> で指定されたタイマー (B<ITIMER_REAL>, "
1339 "B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれか) の現在の設定を、 I<curr_value> で"
1340 "指定された構造体に格納する。 I<it_value> 要素にはタイマーの残り時間が設定され"
1341 "る。タイマーがオフの場合は ゼロが設定される。同様に I<it_interval> には初期値"
1342 "が設定される。"
1343
1344 #. type: Plain text
1345 #: build/C/man2/getitimer.2:89
1346 msgid ""
1347 "The function B<setitimer>()  sets the specified timer to the value in "
1348 "I<new_value>.  If I<old_value> is non-NULL, the old value of the timer is "
1349 "stored there."
1350 msgstr ""
1351 "B<setitimer>()  関数は指定されたタイマーに I<new_value> の値を設定する。 "
1352 "I<old_value> が NULL 以外の場合、タイマーの古い値が I<old_value> に格納され"
1353 "る。"
1354
1355 #. type: Plain text
1356 #: build/C/man2/getitimer.2:99
1357 msgid ""
1358 "Timers decrement from I<it_value> to zero, generate a signal, and reset to "
1359 "I<it_interval>.  A timer which is set to zero (I<it_value> is zero or the "
1360 "timer expires and I<it_interval> is zero) stops."
1361 msgstr ""
1362 "タイマーは I<it_value> からゼロへ向けて減っていき、シグナルを生成し、 "
1363 "I<it_interval> に初期化される。 タイマーがゼロに設定された場合 (I<it_value> "
1364 "がゼロか、タイマーが満了した時に I<it_interval> がゼロの場合) は停止する。"
1365
1366 #. type: Plain text
1367 #: build/C/man2/getitimer.2:105
1368 msgid ""
1369 "Both I<tv_sec> and I<tv_usec> are significant in determining the duration of "
1370 "a timer."
1371 msgstr "タイマーの期間は I<tv_sec> と I<tv_usec> の両方により決定される。"
1372
1373 #. type: Plain text
1374 #: build/C/man2/getitimer.2:117
1375 msgid ""
1376 "Timers will never expire before the requested time, but may expire some "
1377 "(short) time afterward, which depends on the system timer resolution and on "
1378 "the system load; see B<time>(7).  (But see BUGS below.)  Upon expiration, a "
1379 "signal will be generated and the timer reset.  If the timer expires while "
1380 "the process is active (always true for B<ITIMER_VIRTUAL>)  the signal will "
1381 "be delivered immediately when generated.  Otherwise the delivery will be "
1382 "offset by a small time dependent on the system loading."
1383 msgstr ""
1384 "要求した時間がくる前にタイマーが満了することはないが、 逆にある (短い) 時間だ"
1385 "け満了が遅れることはある。 どれだけ遅れるかはシステムの時間分解能とシステムの"
1386 "負荷に依存する (B<time>(7)  参照; 但し、バグの項も参照のこと)。 タイマーが満"
1387 "了するとシグナルが生成され、タイマーは初期化される。 プロセスがアクティブな"
1388 "時 (B<ITIMER_VIRTUAL> の場合には常にそうである) にタイマーが満了した場合、生"
1389 "成されたシグナルは すぐに配送される。それ以外の場合は、システムの負荷により少"
1390 "しの時間だけ 遅れて配送される。"
1391
1392 #. type: Plain text
1393 #: build/C/man2/getitimer.2:122 build/C/man2/killpg.2:93
1394 #: build/C/man2/tkill.2:73
1395 msgid ""
1396 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1397 "appropriately."
1398 msgstr ""
1399 "成功した場合、0 が返される。エラーが発生した場合、-1 が返され、 I<errno> が適"
1400 "切に設定される。"
1401
1402 #. type: TP
1403 #: build/C/man2/getitimer.2:123 build/C/man2/prctl.2:533
1404 #: build/C/man2/sigaction.2:662 build/C/man2/sigaltstack.2:136
1405 #: build/C/man2/sigpending.2:55 build/C/man2/sigprocmask.2:95
1406 #: build/C/man2/sigsuspend.2:73 build/C/man2/timer_settime.2:180
1407 #: build/C/man2/timerfd_create.2:341
1408 #, no-wrap
1409 msgid "B<EFAULT>"
1410 msgstr "B<EFAULT>"
1411
1412 #. type: Plain text
1413 #: build/C/man2/getitimer.2:130 build/C/man2/timerfd_create.2:348
1414 msgid "I<new_value>, I<old_value>, or I<curr_value> is not valid a pointer."
1415 msgstr "I<new_value>, I<old_value>, I<curr_value> が有効なポインタではない。"
1416
1417 #. type: Plain text
1418 #: build/C/man2/getitimer.2:143
1419 msgid ""
1420 "I<which> is not one of B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>; "
1421 "or (since Linux 2.6.22) one of the I<tv_usec> fields in the structure "
1422 "pointed to by I<new_value> contains a value outside the range 0 to 999999."
1423 msgstr ""
1424 "I<which> が B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれでもな"
1425 "い。 または (Linux 2.6.22 以降で)  I<new_value> で指定された構造体の "
1426 "I<tv_usec> フィールドの一つが 0 以上 999999 以下の範囲に入らない値である。"
1427
1428 #. type: Plain text
1429 #: build/C/man2/getitimer.2:153
1430 msgid ""
1431 "POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD).  "
1432 "POSIX.1-2008 marks B<getitimer>()  and B<setitimer>()  obsolete, "
1433 "recommending the use of the POSIX timers API (B<timer_gettime>(2), "
1434 "B<timer_settime>(2), etc.) instead."
1435 msgstr ""
1436 "POSIX.1-2001, SVr4, 4.4BSD (このコールは 4.2BSD で始めて現われた).  "
1437 "POSIX.1-2008 では、 B<getitimer>()  と B<setitimer>()  は廃止予定とされてお"
1438 "り、 代わりに POSIX タイマー API (B<timer_gettime>(2), B<timer_settime>(2)  "
1439 "など) を使うことが推奨されている。"
1440
1441 #. type: Plain text
1442 #: build/C/man2/getitimer.2:159
1443 msgid ""
1444 "A child created via B<fork>(2)  does not inherit its parent's interval "
1445 "timers.  Interval timers are preserved across an B<execve>(2)."
1446 msgstr ""
1447 "B<fork>(2)  で作成された子プロセスは、 親プロセスのインターバル・タイマーを継"
1448 "承しない。 B<execve>(2)  の前後ではインターバル・タイマーは保存される。"
1449
1450 #. type: Plain text
1451 #: build/C/man2/getitimer.2:169
1452 msgid ""
1453 "POSIX.1 leaves the interaction between B<setitimer>()  and the three "
1454 "interfaces B<alarm>(2), B<sleep>(3), and B<usleep>(3)  unspecified."
1455 msgstr ""
1456 "POSIX.1 では、 B<setitimer>()  と、 B<alarm>(2), B<sleep>(3), B<usleep>(3)  "
1457 "という 3 つのインタフェースとの相互の影響については規定していない。"
1458
1459 #. type: SH
1460 #: build/C/man2/getitimer.2:169 build/C/man2/kill.2:160
1461 #: build/C/man3/profil.3:70 build/C/man3/psignal.3:99
1462 #: build/C/man2/sigaction.2:777 build/C/man7/signal.7:836
1463 #: build/C/man2/signalfd.2:349 build/C/man2/sigpending.2:76
1464 #: build/C/man3/sigset.3:230 build/C/man2/timer_getoverrun.2:112
1465 #: build/C/man2/timerfd_create.2:534
1466 #, no-wrap
1467 msgid "BUGS"
1468 msgstr "バグ"
1469
1470 #. type: Plain text
1471 #: build/C/man2/getitimer.2:178
1472 msgid ""
1473 "The generation and delivery of a signal are distinct, and only one instance "
1474 "of each of the signals listed above may be pending for a process.  Under "
1475 "very heavy loading, an B<ITIMER_REAL> timer may expire before the signal "
1476 "from a previous expiration has been delivered.  The second signal in such an "
1477 "event will be lost."
1478 msgstr ""
1479 "シグナルの生成と配送は別個のものであり、 前述のシグナルのそれぞれについて一つ"
1480 "だけがプロセスのために 待機する。 非常に重い負荷の下では、 B<ITIMER_REAL> タ"
1481 "イマーでは、時間切れにより生成された一つ前のシグナルが配送される前に、 次の時"
1482 "間切れが起こる場合がある。 そのような場合、 2 個めのイベントに対するシグナル"
1483 "は失われてしまう。"
1484
1485 #. type: Plain text
1486 #: build/C/man2/getitimer.2:193
1487 msgid ""
1488 "On Linux kernels before 2.6.16, timer values are represented in jiffies.  If "
1489 "a request is made set a timer with a value whose jiffies representation "
1490 "exceeds B<MAX_SEC_IN_JIFFIES> (defined in I<include/linux/jiffies.h>), then "
1491 "the timer is silently truncated to this ceiling value.  On Linux/i386 "
1492 "(where, since Linux 2.6.13, the default jiffy is 0.004 seconds), this means "
1493 "that the ceiling value for a timer is approximately 99.42 days.  Since Linux "
1494 "2.6.16, the kernel uses a different internal representation for times, and "
1495 "this ceiling is removed."
1496 msgstr ""
1497 "バージョン 2.6.16 より前の Linux カーネルでは、 タイマーの値は jiffy で表現さ"
1498 "れる。 要求が jiffy 表現で (I<include/linux/jiffies.h> で定義されている)  "
1499 "B<MAX_SEC_IN_JIFFIES> を越える値をタイマーに設定しようとするものの場合、 タイ"
1500 "マーは暗黙にこの上限値に切り詰められる。 Linux/i386 の場合 (Linux 2.6.13 以降"
1501 "では jiffy は 0.004 秒) の場合、 これはタイマーの上限値がおよそ 99.42 日にな"
1502 "ることを意味する。 Linux 2.6.16 以降では、カーネルは時間に関する内部表現とし"
1503 "て 異なる表現を使うようになっており、この上限はなくなった。"
1504
1505 #.  4 Jul 2005: It looks like this bug may remain in 2.4.x.
1506 #.      http://lkml.org/lkml/2005/7/1/165
1507 #. type: Plain text
1508 #: build/C/man2/getitimer.2:200
1509 msgid ""
1510 "On certain systems (including i386), Linux kernels before version 2.6.12 "
1511 "have a bug which will produce premature timer expirations of up to one jiffy "
1512 "under some circumstances.  This bug is fixed in kernel 2.6.12."
1513 msgstr ""
1514 "(i386 を含む) いくつかのシステムでは、 バージョン 2.6.12 以前の Linux カーネ"
1515 "ルは ある種の状況では 1 jiffy 早くタイマーが終了してしまうというバグがあっ"
1516 "た。 このバグはカーネル 2.6.12 で修正された。"
1517
1518 #.  Bugzilla report 25 Apr 2006:
1519 #.  http://bugzilla.kernel.org/show_bug.cgi?id=6443
1520 #.  "setitimer() should reject noncanonical arguments"
1521 #. type: Plain text
1522 #: build/C/man2/getitimer.2:219
1523 msgid ""
1524 "POSIX.1-2001 says that B<setitimer>()  should fail if a I<tv_usec> value is "
1525 "specified that is outside of the range 0 to 999999.  However, in kernels up "
1526 "to and including 2.6.21, Linux does not give an error, but instead silently "
1527 "adjusts the corresponding seconds value for the timer.  From kernel 2.6.22 "
1528 "onward, this nonconformance has been repaired: an improper I<tv_usec> value "
1529 "results in an B<EINVAL> error."
1530 msgstr ""
1531 "POSIX.1-2001 では B<setitimer>()  は I<tv_usec> の値が 0 から 999999 の範囲外"
1532 "である場合には失敗するべきだとしている。 しかし、2.6.21 以前のカーネルの "
1533 "Linux ではエラーにならず、 対応する秒数の分だけそのタイマーの秒の値が暗黙に調"
1534 "整される。 カーネル 2.6.22 以降では、この標準非準拠の動作は修正され、 "
1535 "I<tv_usec> の値が不適切な場合には B<EINVAL> エラーとなる。"
1536
1537 #. type: Plain text
1538 #: build/C/man2/getitimer.2:225
1539 msgid ""
1540 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1541 "B<timerfd_create>(2), B<time>(7)"
1542 msgstr ""
1543 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1544 "B<timerfd_create>(2), B<time>(7)"
1545
1546 #. type: TH
1547 #: build/C/man3/gsignal.3:25
1548 #, no-wrap
1549 msgid "GSIGNAL"
1550 msgstr "GSIGNAL"
1551
1552 #. type: TH
1553 #: build/C/man3/gsignal.3:25 build/C/man3/profil.3:28 build/C/man3/sigvec.3:24
1554 #, no-wrap
1555 msgid "2007-07-26"
1556 msgstr "2007-07-26"
1557
1558 #. type: Plain text
1559 #: build/C/man3/gsignal.3:28
1560 msgid "gsignal, ssignal - software signal facility"
1561 msgstr "gsignal, ssignal - ソフトウェア・シグナル機能"
1562
1563 #. type: Plain text
1564 #: build/C/man3/gsignal.3:31 build/C/man2/kill.2:52 build/C/man3/psignal.3:34
1565 #: build/C/man3/raise.3:33 build/C/man2/sigaction.2:51
1566 #: build/C/man3/siginterrupt.3:35 build/C/man3/sigpause.3:29
1567 #: build/C/man3/sigwait.3:30 build/C/man2/sigwaitinfo.2:29
1568 #, no-wrap
1569 msgid "B<#include E<lt>signal.hE<gt>>\n"
1570 msgstr "B<#include E<lt>signal.hE<gt>>\n"
1571
1572 #. type: Plain text
1573 #: build/C/man3/gsignal.3:33
1574 #, no-wrap
1575 msgid "B<typedef void (*sighandler_t)(int);>\n"
1576 msgstr "B<typedef void (*sighandler_t)(int);>\n"
1577
1578 #. type: Plain text
1579 #: build/C/man3/gsignal.3:35
1580 #, no-wrap
1581 msgid "B<int gsignal(int>I<signum>B<);>\n"
1582 msgstr "B<int gsignal(int >I<signum>B<);>\n"
1583
1584 #. type: Plain text
1585 #: build/C/man3/gsignal.3:37
1586 #, no-wrap
1587 msgid "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1588 msgstr "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1589
1590 #. type: Plain text
1591 #: build/C/man3/gsignal.3:42 build/C/man2/kill.2:59 build/C/man2/killpg.2:51
1592 #: build/C/man3/profil.3:40 build/C/man3/psignal.3:44
1593 #: build/C/man2/sigaction.2:59 build/C/man2/sigaltstack.2:36
1594 #: build/C/man3/siginterrupt.3:42 build/C/man2/sigpending.2:38
1595 #: build/C/man2/sigprocmask.2:39 build/C/man3/sigqueue.3:37
1596 #: build/C/man3/sigset.3:43 build/C/man3/sigsetops.3:49
1597 #: build/C/man2/sigsuspend.2:38 build/C/man3/sigvec.3:43
1598 #: build/C/man3/sigwait.3:37 build/C/man2/sigwaitinfo.2:39
1599 #: build/C/man2/timer_create.2:46 build/C/man2/timer_delete.2:38
1600 #: build/C/man2/timer_getoverrun.2:38 build/C/man2/timer_settime.2:42
1601 #: build/C/man2/wait.2:68 build/C/man2/wait4.2:54
1602 msgid ""
1603 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
1604 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
1605
1606 #. type: Plain text
1607 #: build/C/man3/gsignal.3:47
1608 msgid "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1609 msgstr "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1610
1611 #. type: Plain text
1612 #: build/C/man3/gsignal.3:55
1613 msgid ""
1614 "Don't use these functions under Linux.  Due to a historical mistake, under "
1615 "Linux these functions are aliases for B<raise>(3)  and B<signal>(2), "
1616 "respectively."
1617 msgstr ""
1618 "Linux ではこれらの関数を使用しないこと。 過去に間違いがあり、Linux では "
1619 "B<gsignal>()  と B<ssignal>()  はそれぞれ B<raise>(3)  と B<signal>(2)  の別"
1620 "名になっている。"
1621
1622 #. type: Plain text
1623 #: build/C/man3/gsignal.3:93
1624 msgid ""
1625 "Elsewhere, on System V-like systems, these functions implement software "
1626 "signaling, entirely independent of the classical B<signal>(2)  and B<kill>"
1627 "(2)  functions.  The function B<ssignal>()  defines the action to take when "
1628 "the software signal with number I<signum> is raised using the function "
1629 "B<gsignal>(), and returns the previous such action or B<SIG_DFL>.  The "
1630 "function B<gsignal>()  does the following: if no action (or the action "
1631 "B<SIG_DFL>)  was specified for I<signum>, then it does nothing and returns "
1632 "0.  If the action B<SIG_IGN> was specified for I<signum>, then it does "
1633 "nothing and returns 1.  Otherwise, it resets the action to B<SIG_DFL> and "
1634 "calls the action function with argument I<signum>, and returns the value "
1635 "returned by that function.  The range of possible values I<signum> varies "
1636 "(often 1-15 or 1-17)."
1637 msgstr ""
1638 "一方、System V 風のシステムでは、これらの関数で、 従来の B<signal>(2)  や "
1639 "B<kill>(2)  の関数群とは完全に独立な、 ソフトウェア・シグナリングを実現してい"
1640 "る。 B<ssignal>()  関数は、番号 I<signum> のソフトウェア・シグナルが "
1641 "B<gsignal>()  関数を使って発生された時にとるべきアクションを定義する。 "
1642 "B<gsignal>()  の返り値は、一つ前に指定されていたアクション、もしくは "
1643 "B<SIG_DFL> である。 B<gsignal>()  は以下のような動作を行う: I<signum> に対し"
1644 "てアクションが指定されていないか、アクション B<SIG_DFL> が指定されていた場"
1645 "合、何もせずに 0 を返す。 I<signum> に対して アクション B<SIG_IGN> が指定され"
1646 "ていた場合、何もせずに 1 を返す。 それ以外の場合、アクションを B<SIG_DFL> に"
1647 "リセットし、引き数に I<signum> を指定してアクション関数を呼び出して、アクショ"
1648 "ン関数の返り値を返す。 I<signum> がとり得る値の範囲は実装により異なる (多くの"
1649 "場合 1〜15 か 1〜17 である)。"
1650
1651 #. type: Plain text
1652 #: build/C/man3/gsignal.3:101
1653 msgid ""
1654 "These functions are available under AIX, DG/UX, HP-UX, SCO, Solaris, Tru64.  "
1655 "They are called obsolete under most of these systems, and are broken under "
1656 "Linux libc and glibc.  Some systems also have B<gsignal_r>()  and "
1657 "B<ssignal_r>()."
1658 msgstr ""
1659 "これらの関数は、AIX, DG/UX, HP-UX, SCO, Solaris, Tru64 で使用可能である。 こ"
1660 "れらのシステムのほとんどで廃止されたことになっており、 Linux の libc および "
1661 "glibc では正しく実装されていない。 B<gsignal_r>()  と B<ssignal_r>()  が実装"
1662 "されているシステムもある。"
1663
1664 #. type: Plain text
1665 #: build/C/man3/gsignal.3:104
1666 msgid "B<kill>(2), B<signal>(2), B<raise>(3)"
1667 msgstr "B<kill>(2), B<signal>(2), B<raise>(3)"
1668
1669 #. type: TH
1670 #: build/C/man2/kill.2:44
1671 #, no-wrap
1672 msgid "KILL"
1673 msgstr "KILL"
1674
1675 #. type: TH
1676 #: build/C/man2/kill.2:44
1677 #, no-wrap
1678 msgid "2009-09-15"
1679 msgstr "2009-09-15"
1680
1681 #. type: Plain text
1682 #: build/C/man2/kill.2:47
1683 msgid "kill - send signal to a process"
1684 msgstr "kill - プロセスにシグナルを送る"
1685
1686 #. type: Plain text
1687 #: build/C/man2/kill.2:50
1688 #, no-wrap
1689 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
1690 msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
1691
1692 #. type: Plain text
1693 #: build/C/man2/kill.2:54
1694 #, no-wrap
1695 msgid "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1696 msgstr "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1697
1698 #. type: Plain text
1699 #: build/C/man2/kill.2:64
1700 msgid ""
1701 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1702 msgstr ""
1703 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1704
1705 #. type: Plain text
1706 #: build/C/man2/kill.2:70
1707 msgid ""
1708 "The B<kill>()  system call can be used to send any signal to any process "
1709 "group or process."
1710 msgstr ""
1711 "システムコールの B<kill>()  は、任意のプロセス・グループもしくはプロセスにシ"
1712 "グナルを 送るのに使われる。"
1713
1714 #. type: Plain text
1715 #: build/C/man2/kill.2:73
1716 msgid ""
1717 "If I<pid> is positive, then signal I<sig> is sent to the process with the ID "
1718 "specified by I<pid>."
1719 msgstr ""
1720 "I<pid> に正の値を指定した場合、シグナル I<sig> が I<pid> で指定された ID を持"
1721 "つプロセスに送られる。"
1722
1723 #. type: Plain text
1724 #: build/C/man2/kill.2:76
1725 msgid ""
1726 "If I<pid> equals 0, then I<sig> is sent to every process in the process "
1727 "group of the calling process."
1728 msgstr ""
1729 "I<pid> に 0 を指定した場合、 呼び出し元のプロセスのプロセス・グループに属する"
1730 "すべてのプロセスに I<sig> で指定したシグナルが送られる。"
1731
1732 #. type: Plain text
1733 #: build/C/man2/kill.2:80
1734 msgid ""
1735 "If I<pid> equals -1, then I<sig> is sent to every process for which the "
1736 "calling process has permission to send signals, except for process 1 "
1737 "(I<init>), but see below."
1738 msgstr ""
1739 "I<pid> に -1 を指定した場合、 I<sig> で指定したシグナルが、 呼び出し元のプロ"
1740 "セスがシグナルを送る許可を持つ全てのプロセスに 送られる。但し、プロセス番号 "
1741 "1 (I<init>) へはシグナルは送られない。 以下の関連部分も参照のこと。"
1742
1743 #. type: Plain text
1744 #: build/C/man2/kill.2:83
1745 msgid ""
1746 "If I<pid> is less than -1, then I<sig> is sent to every process in the "
1747 "process group whose ID is I<-pid>."
1748 msgstr ""
1749 "I<pid> に -1 より小さな値を指定した場合、 ID が I<-pid> のプロセス・グループ"
1750 "に属するすべてのプロセスに I<sig> で指定したシグナルが送られる。"
1751
1752 #. type: Plain text
1753 #: build/C/man2/kill.2:88
1754 msgid ""
1755 "If I<sig> is 0, then no signal is sent, but error checking is still "
1756 "performed; this can be used to check for the existence of a process ID or "
1757 "process group ID."
1758 msgstr ""
1759 "I<sig> に 0 を指定した場合、シグナルは送られないが、 エラーのチェックは行われ"
1760 "る。これを使って、プロセス ID や プロセスグループ ID の存在確認を行うことがで"
1761 "きる。"
1762
1763 #. type: Plain text
1764 #: build/C/man2/kill.2:99 build/C/man2/killpg.2:88
1765 msgid ""
1766 "For a process to have permission to send a signal it must either be "
1767 "privileged (under Linux: have the B<CAP_KILL> capability), or the real or "
1768 "effective user ID of the sending process must equal the real or saved set-"
1769 "user-ID of the target process.  In the case of B<SIGCONT> it suffices when "
1770 "the sending and receiving processes belong to the same session."
1771 msgstr ""
1772 "プロセスがシグナルを送信する許可を持つためには、 プロセスが特権 (Linux では "
1773 "B<CAP_KILL> ケーパビリティ (capability)) を持つか、 送信元プロセスの実ユー"
1774 "ザー ID または実効ユーザー ID が 送信先プロセスの実 set-user-ID または保存 "
1775 "set-user-ID と 等しくなければならない。 B<SIGCONT> の場合、送信プロセスと受信"
1776 "プロセスが 同じセッションに属していれば十分である。"
1777
1778 #. type: Plain text
1779 #: build/C/man2/kill.2:104
1780 msgid ""
1781 "On success (at least one signal was sent), zero is returned.  On error, -1 "
1782 "is returned, and I<errno> is set appropriately."
1783 msgstr ""
1784 "成功した場合 (少なくとも一つのシグナルが送信された場合)、 0 が返される。エ"
1785 "ラーの場合 -1 が返され、 I<errno> が適切に設定される。"
1786
1787 #. type: Plain text
1788 #: build/C/man2/kill.2:108
1789 msgid "An invalid signal was specified."
1790 msgstr "無効なシグナルを指定した。"
1791
1792 #. type: TP
1793 #: build/C/man2/kill.2:108 build/C/man2/killpg.2:98 build/C/man2/prctl.2:608
1794 #: build/C/man2/prctl.2:620 build/C/man2/prctl.2:630 build/C/man2/prctl.2:638
1795 #: build/C/man2/rt_sigqueueinfo.2:143 build/C/man2/sigaltstack.2:149
1796 #: build/C/man3/sigqueue.3:100 build/C/man2/tkill.2:77
1797 #, no-wrap
1798 msgid "B<EPERM>"
1799 msgstr "B<EPERM>"
1800
1801 #. type: Plain text
1802 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102
1803 msgid ""
1804 "The process does not have permission to send the signal to any of the target "
1805 "processes."
1806 msgstr ""
1807 "プロセスが、受信するプロセスのいずれに対しても シグナルを送る許可を持っていな"
1808 "い。"
1809
1810 #. type: TP
1811 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102 build/C/man2/killpg.2:106
1812 #: build/C/man2/rt_sigqueueinfo.2:151 build/C/man3/sigqueue.3:106
1813 #: build/C/man2/tkill.2:82
1814 #, no-wrap
1815 msgid "B<ESRCH>"
1816 msgstr "B<ESRCH>"
1817
1818 #. type: Plain text
1819 #: build/C/man2/kill.2:120
1820 msgid ""
1821 "The pid or process group does not exist.  Note that an existing process "
1822 "might be a zombie, a process which already committed termination, but has "
1823 "not yet been B<wait>(2)ed for."
1824 msgstr ""
1825 "指定したプロセスまたはプロセス・グループが存在しなかった。 ゾンビプロセスは存"
1826 "在するプロセスとしてみなされる。 ゾンビプロセスとはすでに処理は終了している"
1827 "が、親プロセスによる B<wait>()  処理が行われていないプロセスのことである。"
1828
1829 #. type: Plain text
1830 #: build/C/man2/kill.2:122 build/C/man2/pause.2:59 build/C/man2/wait.2:423
1831 msgid "SVr4, 4.3BSD, POSIX.1-2001."
1832 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
1833
1834 #. type: Plain text
1835 #: build/C/man2/kill.2:130
1836 msgid ""
1837 "The only signals that can be sent to process ID 1, the I<init> process, are "
1838 "those for which I<init> has explicitly installed signal handlers.  This is "
1839 "done to assure the system is not brought down accidentally."
1840 msgstr ""
1841 "プロセス番号 1 の I<init> プロセスに送ることができるシグナルは、 I<init> が明"
1842 "示的にシグナルハンドラを設定したシグナルだけである。 こうなっているのは、誤っ"
1843 "てシステムをダウンさせないようにするためである。"
1844
1845 #. type: Plain text
1846 #: build/C/man2/kill.2:136
1847 msgid ""
1848 "POSIX.1-2001 requires that I<kill(-1,sig)> send I<sig> to all processes that "
1849 "the calling process may send signals to, except possibly for some "
1850 "implementation-defined system processes.  Linux allows a process to signal "
1851 "itself, but on Linux the call I<kill(-1,sig)> does not signal the calling "
1852 "process."
1853 msgstr ""
1854 "POSIX.1-2001 では、 I<kill(-1,sig)> が 呼び出し元のプロセスがシグナルを送るこ"
1855 "とが出来るプロセス全てに I<sig> を送ることを要求している。 但し、システム実装"
1856 "時に定められたシステムプロセスは シグナルの送信対象から除外される。 Linux で"
1857 "は、プロセスが自分自身にシグナルを送れるようになっているが、 Linux の I<kill"
1858 "(-1,sig)> は呼び出し元のプロセスにはシグナルを送らない。"
1859
1860 #. type: Plain text
1861 #: build/C/man2/kill.2:146
1862 msgid ""
1863 "POSIX.1-2001 requires that if a process sends a signal to itself, and the "
1864 "sending thread does not have the signal blocked, and no other thread has it "
1865 "unblocked or is waiting for it in B<sigwait>(3), at least one unblocked "
1866 "signal must be delivered to the sending thread before the B<kill>()  returns."
1867 msgstr ""
1868 "POSIX.1-2001 では以下の動作になることを要求している。 自分自身にシグナルを送"
1869 "ると、シグナルを送ったスレッドがそのシグナルをブロック しておらず、他のどのス"
1870 "レッドもそのシグナルを受ける状態にもなく B<sigwait>(3)  でそのシグナルを待っ"
1871 "てもいない場合、 B<kill>()  が返る前に少なくとも一つのブロックされていない シ"
1872 "グナルがシグナルを送ったスレッドに配送されなければならない。"
1873
1874 #. type: SS
1875 #: build/C/man2/kill.2:146 build/C/man3/sigpause.3:75 build/C/man2/wait.2:477
1876 #, no-wrap
1877 msgid "Linux Notes"
1878 msgstr "Linux での注意"
1879
1880 #.  In the 0.* kernels things chopped and changed quite
1881 #.  a bit - MTK, 24 Jul 02
1882 #. type: Plain text
1883 #: build/C/man2/kill.2:160
1884 msgid ""
1885 "Across different kernel versions, Linux has enforced different rules for the "
1886 "permissions required for an unprivileged process to send a signal to another "
1887 "process.  In kernels 1.0 to 1.2.2, a signal could be sent if the effective "
1888 "user ID of the sender matched that of the receiver, or the real user ID of "
1889 "the sender matched that of the receiver.  From kernel 1.2.3 until 1.3.77, a "
1890 "signal could be sent if the effective user ID of the sender matched either "
1891 "the real or effective user ID of the receiver.  The current rules, which "
1892 "conform to POSIX.1-2001, were adopted in kernel 1.3.78."
1893 msgstr ""
1894 "Linux では、特権のないプロセスが他のプロセスにシグナルを送信するために 必要な"
1895 "権限についてのルールが、カーネルバージョンにより違っている。 カーネル 1.0 か"
1896 "ら 1.2.2 では、送信側の実効ユーザーID が受信側の 実効ユーザー IDと一致すれば"
1897 "シグナルを送信できた。 カーネル 1.2.3 から 1.3.77では、送信側の実効ユーザー"
1898 "ID が受信側の 実ユーザーID か実効ユーザーID のいずれかと一致すればシグナルを"
1899 "送信できた。 現在のルールは、POSIX.1-2001 に準拠しており、カーネル 1.3.78 以"
1900 "降で 適用されている。"
1901
1902 #. type: Plain text
1903 #: build/C/man2/kill.2:170
1904 msgid ""
1905 "In 2.6 kernels up to and including 2.6.7, there was a bug that meant that "
1906 "when sending signals to a process group, B<kill>()  failed with the error "
1907 "B<EPERM> if the caller did have permission to send the signal to I<any> "
1908 "(rather than I<all>) of the members of the process group.  Notwithstanding "
1909 "this error return, the signal was still delivered to all of the processes "
1910 "for which the caller had permission to signal."
1911 msgstr ""
1912 "バージョン 2.6.7 以前の 2.6 系のカーネルには、 プロセスグループにシグナルを"
1913 "送ったときに、 呼び出し元のプロセスがプロセスグループの (全メンバーではなく) "
1914 "一部のメンバー に対してのみシグナルを送る許可を持っている場合に、 B<kill>()  "
1915 "がエラー B<EPERM> で失敗するというバグがある。 このエラーが返るにもかかわら"
1916 "ず、そのシグナルは呼び出し元が シグナルを送る許可を持つ全てのプロセスへ送られ"
1917 "る。"
1918
1919 #. type: Plain text
1920 #: build/C/man2/kill.2:179
1921 msgid ""
1922 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1923 "(3), B<capabilities>(7), B<credentials>(7), B<signal>(7)"
1924 msgstr ""
1925 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1926 "(3), B<credentials>(7), B<capabilities>(7), B<signal>(7)"
1927
1928 #. type: TH
1929 #: build/C/man2/killpg.2:40
1930 #, no-wrap
1931 msgid "KILLPG"
1932 msgstr "KILLPG"
1933
1934 #. type: TH
1935 #: build/C/man2/killpg.2:40 build/C/man3/sigset.3:24 build/C/man2/wait4.2:34
1936 #, no-wrap
1937 msgid "2010-09-20"
1938 msgstr "2010-09-20"
1939
1940 #. type: Plain text
1941 #: build/C/man2/killpg.2:43
1942 msgid "killpg - send signal to a process group"
1943 msgstr "killpg - シグナルをプロセス・グループに送る"
1944
1945 #. type: Plain text
1946 #: build/C/man2/killpg.2:47
1947 msgid "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1948 msgstr "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1949
1950 #. type: TP
1951 #: build/C/man2/killpg.2:54
1952 #, no-wrap
1953 msgid "B<killpg>():"
1954 msgstr "B<killpg>():"
1955
1956 #. type: Plain text
1957 #: build/C/man2/killpg.2:58 build/C/man2/sigaltstack.2:44
1958 #: build/C/man3/siginterrupt.3:49 build/C/man2/wait4.2:61
1959 msgid ""
1960 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
1961 "_XOPEN_SOURCE_EXTENDED"
1962 msgstr ""
1963 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
1964 "_XOPEN_SOURCE_EXTENDED"
1965
1966 #. type: Plain text
1967 #: build/C/man2/killpg.2:68
1968 msgid ""
1969 "B<killpg>()  sends the signal I<sig> to the process group I<pgrp>.  See "
1970 "B<signal>(7)  for a list of signals."
1971 msgstr ""
1972 "B<killpg>()  は I<sig> で指定したシグナルを I<pgrp> で指定したプロセス・グ"
1973 "ループに送る。 シグナルの定義の一覧は B<signal>(7)  を参照のこと。"
1974
1975 #. type: Plain text
1976 #: build/C/man2/killpg.2:77
1977 msgid ""
1978 "If I<pgrp> is 0, B<killpg>()  sends the signal to the calling process's "
1979 "process group.  (POSIX says: If I<pgrp> is less than or equal to 1, the "
1980 "behavior is undefined.)"
1981 msgstr ""
1982 "引き数 I<pgrp> に 0 を指定した場合には B<killpg>()  は呼び出し元のプロセスが"
1983 "属しているプロセス・グループに対してシグナルを送る。 (POSIX では以下のように"
1984 "記述されている: I<pgrp> が 1 以下である場合、動作は未定義である。)"
1985
1986 #. type: Plain text
1987 #: build/C/man2/killpg.2:98
1988 msgid "I<Sig> is not a valid signal number."
1989 msgstr "I<sig> で指定された値は無効なシグナル番号である。"
1990
1991 #. type: Plain text
1992 #: build/C/man2/killpg.2:106
1993 msgid "No process can be found in the process group specified by I<pgrp>."
1994 msgstr ""
1995 "I<pgrp> で指定されたプロセス・グループに属するプロセスが存在しなかった。"
1996
1997 #. type: Plain text
1998 #: build/C/man2/killpg.2:110
1999 msgid ""
2000 "The process group was given as 0 but the sending process does not have a "
2001 "process group."
2002 msgstr ""
2003 "プロセス・グループとして 0 が指定されたが、送信プロセスは プロセス・グループ"
2004 "を持っていない。"
2005
2006 #. type: Plain text
2007 #: build/C/man2/killpg.2:114
2008 msgid ""
2009 "SVr4, 4.4BSD (the B<killpg>()  function call first appeared in 4BSD), "
2010 "POSIX.1-2001."
2011 msgstr "SVr4, 4.4BSD (B<killpg>()  は 4BSD で初めて追加された), POSIX.1-2001。"
2012
2013 #. type: Plain text
2014 #: build/C/man2/killpg.2:128
2015 msgid ""
2016 "There are various differences between the permission checking in BSD-type "
2017 "systems and System V-type systems.  See the POSIX rationale for B<kill>().  "
2018 "A difference not mentioned by POSIX concerns the return value B<EPERM>: BSD "
2019 "documents that no signal is sent and B<EPERM> returned when the permission "
2020 "check failed for at least one target process, while POSIX documents B<EPERM> "
2021 "only when the permission check failed for all target processes."
2022 msgstr ""
2023 "BSD 系システムと System V 系システムでは、 許可のチェックに様々な違いがあ"
2024 "る。 B<kill>(2)  についての POSIX の原理 (rationale) を参照すること。 POSIX "
2025 "で記述されていない違いとしては、返り値 B<EPERM> がある。 BSD では「送信先プロ"
2026 "セスの許可のチェックが 1 つでも失敗した場合は、 シグナルが送信されず、 "
2027 "B<EPERM> が返される」と記述されている。 POSIX では「送信先プロセスの許可の"
2028 "チェックが全て失敗した場合にのみ、 B<EPERM> が返される」と記述されている。"
2029
2030 #. type: Plain text
2031 #: build/C/man2/killpg.2:133
2032 msgid ""
2033 "On Linux, B<killpg>()  is implemented as a library function that makes the "
2034 "call I<kill(-pgrp,\\ sig)>."
2035 msgstr ""
2036 "Linux では、 B<killpg>()  はライブラリ関数として実装されており、 I<kill(-"
2037 "pgrp,\\ sig)> の呼び出しが行われる。"
2038
2039 #. type: Plain text
2040 #: build/C/man2/killpg.2:138
2041 msgid ""
2042 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<capabilities>(7), B<credentials>"
2043 "(7)"
2044 msgstr ""
2045 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<credentials>(7), B<capabilities>"
2046 "(7)"
2047
2048 #. type: TH
2049 #: build/C/man2/pause.2:30
2050 #, no-wrap
2051 msgid "PAUSE"
2052 msgstr "PAUSE"
2053
2054 #. type: TH
2055 #: build/C/man2/pause.2:30
2056 #, no-wrap
2057 msgid "2008-10-06"
2058 msgstr "2008-10-06"
2059
2060 #. type: Plain text
2061 #: build/C/man2/pause.2:33
2062 msgid "pause - wait for signal"
2063 msgstr "pause - シグナルを待つ"
2064
2065 #. type: Plain text
2066 #: build/C/man2/pause.2:35 build/C/man3/profil.3:33
2067 msgid "B<#include E<lt>unistd.hE<gt>>"
2068 msgstr "B<#include E<lt>unistd.hE<gt>>"
2069
2070 #. type: Plain text
2071 #: build/C/man2/pause.2:37
2072 msgid "B<int pause(void);>"
2073 msgstr "B<int pause(void);>"
2074
2075 #. type: Plain text
2076 #: build/C/man2/pause.2:42
2077 msgid ""
2078 "B<pause>()  causes the calling process (or thread) to sleep until a signal "
2079 "is delivered that either terminates the process or causes the invocation of "
2080 "a signal-catching function."
2081 msgstr ""
2082 "B<pause>()  は、呼び出したプロセス (またはスレッド) を、 そのプロセスを終了さ"
2083 "せたり、シグナル捕捉関数が起動されるような シグナルが配送されるまで、スリープ"
2084 "させる。"
2085
2086 #.  .BR ERESTARTNOHAND .
2087 #. type: Plain text
2088 #: build/C/man2/pause.2:53
2089 msgid ""
2090 "B<pause>()  only returns when a signal was caught and the signal-catching "
2091 "function returned.  In this case B<pause>()  returns -1, and I<errno> is set "
2092 "to B<EINTR>."
2093 msgstr ""
2094 "B<pause>()  が返るのは、シグナルを受け取りシグナル捕獲関数から返った場合だけ"
2095 "である。 この場合は B<pause>()  は -1 を返し、 I<errno> に B<EINTR> が設定さ"
2096 "れる。"
2097
2098 #. type: TP
2099 #: build/C/man2/pause.2:54 build/C/man2/sigsuspend.2:77
2100 #: build/C/man2/sigwaitinfo.2:116 build/C/man2/wait.2:409
2101 #, no-wrap
2102 msgid "B<EINTR>"
2103 msgstr "B<EINTR>"
2104
2105 #. type: Plain text
2106 #: build/C/man2/pause.2:57
2107 msgid "a signal was caught and the signal-catching function returned."
2108 msgstr "シグナルを受け取り、シグナル捕獲関数から帰ってきた。"
2109
2110 #. type: Plain text
2111 #: build/C/man2/pause.2:63
2112 msgid "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2113 msgstr "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2114
2115 #. type: TH
2116 #: build/C/man2/prctl.2:46
2117 #, no-wrap
2118 msgid "PRCTL"
2119 msgstr "PRCTL"
2120
2121 #. type: TH
2122 #: build/C/man2/prctl.2:46
2123 #, fuzzy, no-wrap
2124 #| msgid "2009-03-15"
2125 msgid "2012-04-14"
2126 msgstr "2009-03-15"
2127
2128 #. type: Plain text
2129 #: build/C/man2/prctl.2:49
2130 msgid "prctl - operations on a process"
2131 msgstr "prctl - プロセスの操作を行なう"
2132
2133 #. type: Plain text
2134 #: build/C/man2/prctl.2:52
2135 #, no-wrap
2136 msgid "B<#include E<lt>sys/prctl.hE<gt>>\n"
2137 msgstr "B<#include E<lt>sys/prctl.hE<gt>>\n"
2138
2139 #. type: Plain text
2140 #: build/C/man2/prctl.2:55
2141 #, no-wrap
2142 msgid ""
2143 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2144 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2145 msgstr ""
2146 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2147 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2148
2149 #. type: Plain text
2150 #: build/C/man2/prctl.2:62
2151 msgid ""
2152 "B<prctl>()  is called with a first argument describing what to do (with "
2153 "values defined in I<E<lt>linux/prctl.hE<gt>>), and further arguments with a "
2154 "significance depending on the first one.  The first argument can be:"
2155 msgstr ""
2156 "B<prctl>()  の動作は最初の引き数によって決定される (この値は I<E<lt>linux/"
2157 "prctl.hE<gt>> に定義されている)。 残りの引き数は最初の引き数によって変化す"
2158 "る。 一番目の引き数として以下のものを指定できる:"
2159
2160 #. type: TP
2161 #: build/C/man2/prctl.2:62
2162 #, no-wrap
2163 msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2164 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2165
2166 #. type: Plain text
2167 #: build/C/man2/prctl.2:74
2168 msgid ""
2169 "Return (as the function result) 1 if the capability specified in I<arg2> is "
2170 "in the calling thread's capability bounding set, or 0 if it is not.  (The "
2171 "capability constants are defined in I<E<lt>linux/capability.hE<gt>>.)  The "
2172 "capability bounding set dictates whether the process can receive the "
2173 "capability through a file's permitted capability set on a subsequent call to "
2174 "B<execve>(2)."
2175 msgstr ""
2176 "で指定されたケーパビリティが呼び出したスレッドのケーパビリティ バインディング"
2177 "セット (capability bounding set) に含まれている場合、 (関数の返り値として) 1 "
2178 "を返し、そうでない場合 0 を返す (ケーパビリティ定数は I<E<lt>linux/"
2179 "capability.hE<gt>> で定義されている)。 ケーパビリティバウンディングセット"
2180 "は、 B<execve>(2)  を呼び出した際に、ファイルの許可 (permitted) ケーパビリ"
2181 "ティの中で そのプロセスが獲得できるケーパビリティを指示するものである。"
2182
2183 #. type: Plain text
2184 #: build/C/man2/prctl.2:79
2185 msgid ""
2186 "If the capability specified in I<arg2> is not valid, then the call fails "
2187 "with the error B<EINVAL>."
2188 msgstr ""
2189 "I<arg2> に指定されたケーパビリティが有効でない場合、 呼び出しはエラー "
2190 "B<EINVAL> で失敗する。"
2191
2192 #. type: TP
2193 #: build/C/man2/prctl.2:79
2194 #, no-wrap
2195 msgid "B<PR_CAPBSET_DROP> (since Linux 2.6.25)"
2196 msgstr "B<PR_CAPBSET_DROP> (Linux 2.6.25 以降)"
2197
2198 #. type: Plain text
2199 #: build/C/man2/prctl.2:88
2200 msgid ""
2201 "If the calling thread has the B<CAP_SETPCAP> capability, then drop the "
2202 "capability specified by I<arg2> from the calling thread's capability "
2203 "bounding set.  Any children of the calling thread will inherit the newly "
2204 "reduced bounding set."
2205 msgstr ""
2206 "呼び出したスレッドがケーパビリティ B<CAP_SETPCAP> を持っている場合、 呼び出し"
2207 "たスレッドのケーパビリティバウンディングセットから I<arg2> で指定されたケーパ"
2208 "ビリティを外す。 呼び出したスレッドの子プロセスは変更後のバウンディングセット"
2209 "を 継承する。"
2210
2211 #. type: Plain text
2212 #: build/C/man2/prctl.2:100
2213 msgid ""
2214 "The call fails with the error: B<EPERM> if the calling thread does not have "
2215 "the B<CAP_SETPCAP>; B<EINVAL> if I<arg2> does not represent a valid "
2216 "capability; or B<EINVAL> if file capabilities are not enabled in the kernel, "
2217 "in which case bounding sets are not supported."
2218 msgstr ""
2219 "呼び出したスレッドが B<CAP_SETPCAP> を持っていない場合、呼び出しはエラー "
2220 "B<EPERM> で失敗する。 I<arg2> に指定されたケーパビリティが有効でない場合、 "
2221 "B<EINVAL> で失敗する。 ファイルケーパビリティがカーネルで有効になっていない場"
2222 "合 (この場合にはバウンディングセットがサポートされない)、 B<EINVAL> で失敗す"
2223 "る。"
2224
2225 #. type: TP
2226 #: build/C/man2/prctl.2:100
2227 #, no-wrap
2228 msgid "B<PR_SET_DUMPABLE> (since Linux 2.3.20)"
2229 msgstr "B<PR_SET_DUMPABLE> (Linux 2.3.20 以降)"
2230
2231 #.  See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
2232 #.  Subject:    Fix prctl privilege escalation (CVE-2006-2451)
2233 #.  From:       Marcel Holtmann <marcel () holtmann ! org>
2234 #.  Date:       2006-07-12 11:12:00
2235 #. type: Plain text
2236 #: build/C/man2/prctl.2:126
2237 #, fuzzy
2238 #| msgid ""
2239 #| "Set the state of the flag determining whether core dumps are produced for "
2240 #| "this process upon delivery of a signal whose default behavior is to "
2241 #| "produce a core dump.  (Normally this flag is set for a process by "
2242 #| "default, but it is cleared when a set-user-ID or set-group-ID program is "
2243 #| "executed and also by various system calls that manipulate process UIDs "
2244 #| "and GIDs).  In kernels up to and including 2.6.12, I<arg2> must be either "
2245 #| "0 (process is not dumpable) or 1 (process is dumpable).  Between kernels "
2246 #| "2.6.13 and 2.6.17, the value 2 was also permitted, which caused any "
2247 #| "binary which normally would not be dumped to be dumped readable by root "
2248 #| "only; for security reasons, this feature has been removed.  (See also the "
2249 #| "description of I</proc/sys/fs/suid_dumpable> in B<proc>(5).)"
2250 msgid ""
2251 "Set the state of the flag determining whether core dumps are produced for "
2252 "this process upon delivery of a signal whose default behavior is to produce "
2253 "a core dump.  (Normally this flag is set for a process by default, but it is "
2254 "cleared when a set-user-ID or set-group-ID program is executed and also by "
2255 "various system calls that manipulate process UIDs and GIDs).  In kernels up "
2256 "to and including 2.6.12, I<arg2> must be either 0 (process is not dumpable) "
2257 "or 1 (process is dumpable).  Between kernels 2.6.13 and 2.6.17, the value 2 "
2258 "was also permitted, which caused any binary which normally would not be "
2259 "dumped to be dumped readable by root only; for security reasons, this "
2260 "feature has been removed.  (See also the description of I</proc/sys/fs/"
2261 "suid_dumpable> in B<proc>(5).)  Processes that are not dumpable can not be "
2262 "attached via B<ptrace(2)> B<PTRACE_ATTACH>."
2263 msgstr ""
2264 "(Linux 2.3.20 以降)  デフォルトの振る舞いではコアダンプを引き起こすようなシグ"
2265 "ナルを受信したときに、 コアダンプするかどうかを決定するフラグを設定する (通常"
2266 "このフラグは、デフォルトではセットされているが、 set-user-ID あるいは set-"
2267 "group-ID プログラムが実行されたり、 さまざまなシステムコールによってプロセス"
2268 "の UID や GID が操作されたときに クリアされる)。 2.6.12 以前のカーネルでは、 "
2269 "I<arg2> は 0 (プロセスはダンプ不可) あるいは 1 (プロセスはダンプ可能) の どち"
2270 "らかでなければならない。 2.6.13 から 2.6.17 までのカーネルでは、値 2 も認めら"
2271 "れていた。 この値を指定すると、通常はダンプされないバイナリが root だけが 読"
2272 "み込み可能な形でダンプされた。 セキュリティ上の理由から、この機能は削除され"
2273 "た (B<proc>(5)  の I</proc/sys/fs/suid_dumpable> の説明も参照)。"
2274
2275 #. type: TP
2276 #: build/C/man2/prctl.2:126
2277 #, no-wrap
2278 msgid "B<PR_GET_DUMPABLE> (since Linux 2.3.20)"
2279 msgstr "B<PR_GET_DUMPABLE> (Linux 2.3.20 以降)"
2280
2281 #.  Since Linux 2.6.13, the dumpable flag can have the value 2,
2282 #.  but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
2283 #.  flags has a nonzero value.  This was fixed in 2.6.14.
2284 #. type: Plain text
2285 #: build/C/man2/prctl.2:133
2286 msgid ""
2287 "Return (as the function result) the current state of the calling process's "
2288 "dumpable flag."
2289 msgstr ""
2290 "(Linux 2.3.20 以降)  呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態"
2291 "を (関数の返り値として) 返す。"
2292
2293 #. type: TP
2294 #: build/C/man2/prctl.2:133
2295 #, no-wrap
2296 msgid "B<PR_SET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2297 msgstr "B<PR_SET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2298
2299 #.  Respectively 0, 1, 2
2300 #. type: Plain text
2301 #: build/C/man2/prctl.2:143
2302 msgid ""
2303 "Set the endian-ness of the calling process to the value given in I<arg2>, "
2304 "which should be one of the following: B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2305 "or B<PR_ENDIAN_PPC_LITTLE> (PowerPC pseudo little endian)."
2306 msgstr ""
2307 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<arg2> で指定された値"
2308 "に設定する。 指定できる値は B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2309 "B<PR_ENDIAN_PPC_LITTLE> (PowerPC 擬似リトルエンディアン)  のいずれか一つであ"
2310 "る。"
2311
2312 #. type: TP
2313 #: build/C/man2/prctl.2:143
2314 #, no-wrap
2315 msgid "B<PR_GET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2316 msgstr "B<PR_GET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2317
2318 #. type: Plain text
2319 #: build/C/man2/prctl.2:148
2320 msgid ""
2321 "Return the endian-ness of the calling process, in the location pointed to by "
2322 "I<(int\\ *) arg2>."
2323 msgstr ""
2324 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<(int\\ *) arg2> が指"
2325 "す場所に格納して返す。"
2326
2327 #. type: TP
2328 #: build/C/man2/prctl.2:148
2329 #, no-wrap
2330 msgid "B<PR_SET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2331 msgstr "B<PR_SET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2332
2333 #. type: Plain text
2334 #: build/C/man2/prctl.2:155
2335 msgid ""
2336 "Set floating-point emulation control bits to I<arg2>.  Pass "
2337 "B<PR_FPEMU_NOPRINT> to silently emulate fp operations accesses, or "
2338 "B<PR_FPEMU_SIGFPE> to not emulate fp operations and send B<SIGFPE> instead."
2339 msgstr ""
2340 "浮動小数点エミュレーション (floating-point emulation) 制御ビットを I<arg2> で"
2341 "指定された値に設定する。 指定できる値は B<PR_FPEMU_NOPRINT> (浮動小数点命令ア"
2342 "クセスを黙って エミュレートする) か B<PR_FPEMU_SIGFPE> (浮動小数点命令をエ"
2343 "ミュレートせず、 代わりに B<SIGFPE> を送る) である。"
2344
2345 #. type: TP
2346 #: build/C/man2/prctl.2:155
2347 #, no-wrap
2348 msgid "B<PR_GET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2349 msgstr "B<PR_GET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2350
2351 #. type: Plain text
2352 #: build/C/man2/prctl.2:160
2353 msgid ""
2354 "Return floating-point emulation control bits, in the location pointed to by "
2355 "I<(int\\ *) arg2>."
2356 msgstr ""
2357 "浮動小数点エミュレーション制御ビットの値を I<(int\\ *) arg2> が指す場所に格納"
2358 "して返す。"
2359
2360 #. type: TP
2361 #: build/C/man2/prctl.2:160
2362 #, no-wrap
2363 msgid "B<PR_SET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2364 msgstr "B<PR_SET_FPEXC> (Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2365
2366 #. type: Plain text
2367 #: build/C/man2/prctl.2:173
2368 msgid ""
2369 "Set floating-point exception mode to I<arg2>.  Pass B<PR_FP_EXC_SW_ENABLE> "
2370 "to use FPEXC for FP exception enables, B<PR_FP_EXC_DIV> for floating-point "
2371 "divide by zero, B<PR_FP_EXC_OVF> for floating-point overflow, "
2372 "B<PR_FP_EXC_UND> for floating-point underflow, B<PR_FP_EXC_RES> for floating-"
2373 "point inexact result, B<PR_FP_EXC_INV> for floating-point invalid operation, "
2374 "B<PR_FP_EXC_DISABLED> for FP exceptions disabled, B<PR_FP_EXC_NONRECOV> for "
2375 "async nonrecoverable exception mode, B<PR_FP_EXC_ASYNC> for async "
2376 "recoverable exception mode, B<PR_FP_EXC_PRECISE> for precise exception mode."
2377 msgstr ""
2378 "浮動小数点例外モード (floating-point exception mode) を I<arg2> で指定された"
2379 "値に設定する。 指定できるのは以下の値である: B<PR_FP_EXC_SW_ENABLE> (FPEXC で"
2380 "浮動小数点例外を有効にする)、 B<PR_FP_EXC_DIV> (0 除算)、 B<PR_FP_EXC_OVF> "
2381 "(オーバーフロー)、 B<PR_FP_EXC_UND> (アンダーフロー)、 B<PR_FP_EXC_RES> (不正"
2382 "確な結果 (inexact result))、 B<PR_FP_EXC_INV> (不正な命令 (invalid "
2383 "operation))、 B<PR_FP_EXC_DISABLED> (浮動小数点例外を無効にする)、 "
2384 "B<PR_FP_EXC_NONRECOV> (async nonrecoverable exception mode)、 "
2385 "B<PR_FP_EXC_ASYNC> (async recoverable exception mode)、 B<PR_FP_EXC_PRECISE> "
2386 "(precise exception mode)。"
2387
2388 #. type: TP
2389 #: build/C/man2/prctl.2:173
2390 #, no-wrap
2391 msgid "B<PR_GET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2392 msgstr "B<PR_GET_FPEXC>(Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2393
2394 #. type: Plain text
2395 #: build/C/man2/prctl.2:178
2396 msgid ""
2397 "Return floating-point exception mode, in the location pointed to by I<(int\\ "
2398 "*) arg2>."
2399 msgstr ""
2400 "浮動小数点例外モードの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2401
2402 #. type: TP
2403 #: build/C/man2/prctl.2:178
2404 #, no-wrap
2405 msgid "B<PR_SET_KEEPCAPS> (since Linux 2.2.18)"
2406 msgstr "B<PR_SET_KEEPCAPS> (Linux 2.2.18 以降)"
2407
2408 #. type: Plain text
2409 #: build/C/man2/prctl.2:196
2410 #, fuzzy
2411 #| msgid ""
2412 #| "Set the state of the thread's \"keep capabilities\" flag, which "
2413 #| "determines whether the threads's effective and permitted capability sets "
2414 #| "are cleared when a change is made to the threads's user IDs such that the "
2415 #| "threads's real UID, effective UID, and saved set-user-ID all become "
2416 #| "nonzero when at least one of them previously had the value 0.  (By "
2417 #| "default, these credential sets are cleared).  I<arg2> must be either 0 "
2418 #| "(capabilities are cleared) or 1 (capabilities are kept).  This value will "
2419 #| "be reset to 0 on subsequent calls to B<execve>(2)."
2420 msgid ""
2421 "Set the state of the thread's \"keep capabilities\" flag, which determines "
2422 "whether the threads's permitted capability set is cleared when a change is "
2423 "made to the threads's user IDs such that the threads's real UID, effective "
2424 "UID, and saved set-user-ID all become nonzero when at least one of them "
2425 "previously had the value 0.  By default, the permitted capability set is "
2426 "cleared when such a change is made; setting the \"keep capabilities\" flag "
2427 "prevents it from being cleared.  I<arg2> must be either 0 (permitted "
2428 "capabilities are cleared)  or 1 (permitted capabilities are kept).  (A "
2429 "thread's I<effective> capability set is always cleared when such a "
2430 "credential change is made, regardless of the setting of the \"keep "
2431 "capabilities\" flag.)  The \"keep capabilities\" value will be reset to 0 on "
2432 "subsequent calls to B<execve>(2)."
2433 msgstr ""
2434 "スレッドの「ケーパビリティ保持」フラグを設定する。 このフラグは、スレッドの"
2435 "実 UID、実効 UID、保存 set-user-ID のうち少なくとも 一つが 0 であった状態か"
2436 "ら、これら全てが 0 以外に変更されたとき、 スレッドの実効/許可のケーパビリティ"
2437 "集合がクリアされるかどうかを決定する (デフォルトでは、これらのケーパビリティ"
2438 "集合はクリアされる)。 I<arg2> は 0 (ケーパビリティをクリアする) あるいは 1 "
2439 "(ケーパビリティを保持する) の どちらかでなければならない。 B<execve>(2)  が呼"
2440 "び出されると、この値は 0 にリセットされる。"
2441
2442 #. type: TP
2443 #: build/C/man2/prctl.2:196
2444 #, no-wrap
2445 msgid "B<PR_GET_KEEPCAPS> (since Linux 2.2.18)"
2446 msgstr "B<PR_GET_KEEPCAPS> (Linux 2.2.18 以降)"
2447
2448 #. type: Plain text
2449 #: build/C/man2/prctl.2:200
2450 msgid ""
2451 "Return (as the function result) the current state of the calling threads's "
2452 "\"keep capabilities\" flag."
2453 msgstr ""
2454 "呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の"
2455 "返り値として) 返す。"
2456
2457 #. type: TP
2458 #: build/C/man2/prctl.2:200
2459 #, no-wrap
2460 msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2461 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2462
2463 #.  TASK_COMM_LEN in include/linux/sched.h
2464 #. type: Plain text
2465 #: build/C/man2/prctl.2:208
2466 msgid ""
2467 "Set the process name for the calling process, using the value in the "
2468 "location pointed to by I<(char\\ *) arg2>.  The name can be up to 16 bytes "
2469 "long, and should be null-terminated if it contains fewer bytes."
2470 msgstr ""
2471 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納された値"
2472 "を使って設定する。 名前は最大で 16 バイトであり、 それより少ないバイト数の場"
2473 "合は NULL で終端すべきである。"
2474
2475 #. type: TP
2476 #: build/C/man2/prctl.2:208
2477 #, no-wrap
2478 msgid "B<PR_GET_NAME> (since Linux 2.6.11)"
2479 msgstr "B<PR_GET_NAME> (Linux 2.6.11 以降)"
2480
2481 #. type: Plain text
2482 #: build/C/man2/prctl.2:215
2483 msgid ""
2484 "Return the process name for the calling process, in the buffer pointed to by "
2485 "I<(char\\ *) arg2>.  The buffer should allow space for up to 16 bytes; the "
2486 "returned string will be null-terminated if it is shorter than that."
2487 msgstr ""
2488 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納して返"
2489 "す。 バッファは最大で 16 バイトを格納できるようにすべきである。 返される文字"
2490 "列は、長さが 16 バイトより短い場合は NULL 終端される。"
2491
2492 #. type: TP
2493 #: build/C/man2/prctl.2:215
2494 #, no-wrap
2495 msgid "B<PR_SET_PDEATHSIG> (since Linux 2.1.57)"
2496 msgstr "B<PR_SET_PDEATHSIG> (Linux 2.1.57 以降)"
2497
2498 #. type: Plain text
2499 #: build/C/man2/prctl.2:224
2500 msgid ""
2501 "Set the parent process death signal of the calling process to I<arg2> "
2502 "(either a signal value in the range 1..maxsig, or 0 to clear).  This is the "
2503 "signal that the calling process will get when its parent dies.  This value "
2504 "is cleared for the child of a B<fork>(2)."
2505 msgstr ""
2506 "親プロセス死亡シグナル (parent process death signal) を I<arg2> に設定する "
2507 "(設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除である)。 呼び"
2508 "出し元プロセスの親プロセスが死んだ際に、ここで設定した値が シグナルとして通知"
2509 "される。この値は B<fork>(2)  の子プロセスでは解除される。"
2510
2511 #. type: TP
2512 #: build/C/man2/prctl.2:224
2513 #, no-wrap
2514 msgid "B<PR_GET_PDEATHSIG> (since Linux 2.3.15)"
2515 msgstr "B<PR_GET_PDEATHSIG> (Linux 2.3.15 以降)"
2516
2517 #. type: Plain text
2518 #: build/C/man2/prctl.2:229
2519 msgid ""
2520 "Return the current value of the parent process death signal, in the location "
2521 "pointed to by I<(int\\ *) arg2>."
2522 msgstr ""
2523 "親プロセス死亡シグナルの現在の値を I<(int\\ *) arg2> が指す場所に格納して返"
2524 "す。"
2525
2526 #. type: TP
2527 #: build/C/man2/prctl.2:229
2528 #, no-wrap
2529 msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
2530 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
2531
2532 #.  See http://thread.gmane.org/gmane.linux.kernel/542632
2533 #.  [PATCH 0 of 2] seccomp updates
2534 #.  andrea@cpushare.com
2535 #. type: Plain text
2536 #: build/C/man2/prctl.2:253
2537 msgid ""
2538 "Set the secure computing mode for the calling thread.  In the current "
2539 "implementation, I<arg2> must be 1.  After the secure computing mode has been "
2540 "set to 1, the only system calls that the thread is permitted to make are "
2541 "B<read>(2), B<write>(2), B<_exit>(2), and B<sigreturn>(2).  Other system "
2542 "calls result in the delivery of a B<SIGKILL> signal.  Secure computing mode "
2543 "is useful for number-crunching applications that may need to execute "
2544 "untrusted byte code, perhaps obtained by reading from a pipe or socket.  "
2545 "This operation is only available if the kernel is configured with "
2546 "CONFIG_SECCOMP enabled."
2547 msgstr ""
2548 "呼び出したスレッドの secure computing モードを設定する。 現在の実装では、 "
2549 "I<arg2> は 1 にしなければならない。 secure computing モードを 1 に設定する"
2550 "と、 そのスレッドが呼び出しを許可されるシステムコールは B<read>(2), B<write>"
2551 "(2), B<_exit>(2), B<sigreturn>(2)  だけになる。 それ以外のシステムコールを呼"
2552 "び出すと、シグナル B<SIGKILL> が配送される。 パイプやソケットから読み込んだ、"
2553 "信頼できないバイトコードを実行する 必要がある大量の演算を行うアプリケーション"
2554 "において、 secure computing モードは役立つ。 この操作は利用できるのは、カーネ"
2555 "ルが CONFIG_SECCOMP を有効にして 作成されている場合だけである。"
2556
2557 #. type: TP
2558 #: build/C/man2/prctl.2:253
2559 #, no-wrap
2560 msgid "B<PR_GET_SECCOMP> (since Linux 2.6.23)"
2561 msgstr "B<PR_GET_SECCOMP> (Linux 2.6.23 以降)"
2562
2563 #. type: Plain text
2564 #: build/C/man2/prctl.2:266
2565 msgid ""
2566 "Return the secure computing mode of the calling thread.  Not very useful for "
2567 "the current implementation (mode equals 1), but may be useful for other "
2568 "possible future modes: if the caller is not in secure computing mode, this "
2569 "operation returns 0; if the caller is in secure computing mode, then the "
2570 "B<prctl>()  call will cause a B<SIGKILL> signal to be sent to the process.  "
2571 "This operation is only available if the kernel is configured with "
2572 "CONFIG_SECCOMP enabled."
2573 msgstr ""
2574 "呼び出したスレッドの secure computing モードを返す。 現在の実装 (モードは 1 "
2575 "固定) はあまり役に立たないが、 将来他のモードが実装されると役立つようになるか"
2576 "もしれない。 呼び出したスレッドが secure computing モードでなかった場合、 こ"
2577 "の操作は 0 を返す。 呼び出したスレッドが secure computing モードの場合、 "
2578 "B<prctl>()  を呼び出すとシグナル B<SIGKILL> がそのプロセスに送信される。 この"
2579 "操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして 作成されている場"
2580 "合だけである。"
2581
2582 #. type: TP
2583 #: build/C/man2/prctl.2:266
2584 #, no-wrap
2585 msgid "B<PR_SET_SECUREBITS> (since Linux 2.6.26)"
2586 msgstr "B<PR_SET_SECUREBITS> (Linux 2.6.26 以降)"
2587
2588 #. type: Plain text
2589 #: build/C/man2/prctl.2:272
2590 msgid ""
2591 "Set the \"securebits\" flags of the calling thread to the value supplied in "
2592 "I<arg2>.  See B<capabilities>(7)."
2593 msgstr ""
2594 "呼び出したスレッドの \"securebits\" フラグを I<arg2> で渡された値に設定す"
2595 "る。 B<capabilities>(7)  参照。"
2596
2597 #. type: TP
2598 #: build/C/man2/prctl.2:272
2599 #, no-wrap
2600 msgid "B<PR_GET_SECUREBITS> (since Linux 2.6.26)"
2601 msgstr "B<PR_GET_SECUREBITS> (Linux 2.6.26 以降)"
2602
2603 #. type: Plain text
2604 #: build/C/man2/prctl.2:278
2605 msgid ""
2606 "Return (as the function result)  the \"securebits\" flags of the calling "
2607 "thread.  See B<capabilities>(7)."
2608 msgstr ""
2609 "呼び出したスレッドの \"securebits\" フラグを (関数の返り値として) 返す。 "
2610 "B<capabilities>(7)  参照。"
2611
2612 #. type: TP
2613 #: build/C/man2/prctl.2:278
2614 #, no-wrap
2615 msgid "B<PR_SET_TIMING> (since Linux 2.6.0-test4)"
2616 msgstr "B<PR_SET_TIMING> (Linux 2.6.0-test4 以降)"
2617
2618 #.  0
2619 #.  1
2620 #.  PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
2621 #.  and looking at the patch history, it appears
2622 #.  that it never did anything.
2623 #. type: Plain text
2624 #: build/C/man2/prctl.2:295
2625 #, fuzzy
2626 #| msgid ""
2627 #| "Set whether to use (normal, traditional) statistical process timing or "
2628 #| "accurate timestamp based process timing, by passing "
2629 #| "B<PR_TIMING_STATISTICAL> or B<PR_TIMING_TIMESTAMP> to I<arg2>.  "
2630 #| "B<PR_TIMING_TIMESTAMP> is not currently implemented (attempting to set "
2631 #| "this mode will yield the error B<EINVAL>)."
2632 msgid ""
2633 "Set whether to use (normal, traditional) statistical process timing or "
2634 "accurate timestamp-based process timing, by passing B<PR_TIMING_STATISTICAL> "
2635 "or B<PR_TIMING_TIMESTAMP> to I<arg2>.  B<PR_TIMING_TIMESTAMP> is not "
2636 "currently implemented (attempting to set this mode will yield the error "
2637 "B<EINVAL>)."
2638 msgstr ""
2639 "(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、 正確"
2640 "なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。 I<arg2> に"
2641 "指定できる値は B<PR_TIMING_STATISTICAL> か B<PR_TIMING_TIMESTAMP> である。 "
2642 "B<PR_TIMING_TIMESTAMP> は現在のところ実装されていない (このモードに設定しよう"
2643 "とするとエラー B<EINVAL> が起こることだろう)。"
2644
2645 #. type: TP
2646 #: build/C/man2/prctl.2:295
2647 #, no-wrap
2648 msgid "B<PR_GET_TIMING> (since Linux 2.6.0-test4)"
2649 msgstr "B<PR_GET_TIMING> (Linux 2.6.0-test4 以降)"
2650
2651 #. type: Plain text
2652 #: build/C/man2/prctl.2:299
2653 msgid ""
2654 "Return (as the function result) which process timing method is currently in "
2655 "use."
2656 msgstr "現在使用中のプロセスタイミングを決める方法を返す。"
2657
2658 #. type: TP
2659 #: build/C/man2/prctl.2:299
2660 #, no-wrap
2661 msgid "B<PR_SET_TSC> (since Linux 2.6.26, x86 only)"
2662 msgstr "B<PR_SET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2663
2664 #. type: Plain text
2665 #: build/C/man2/prctl.2:312
2666 msgid ""
2667 "Set the state of the flag determining whether the timestamp counter can be "
2668 "read by the process.  Pass B<PR_TSC_ENABLE> to I<arg2> to allow it to be "
2669 "read, or B<PR_TSC_SIGSEGV> to generate a B<SIGSEGV> when the process tries "
2670 "to read the timestamp counter."
2671 msgstr ""
2672 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を"
2673 "設定する。 読み出しを許可する場合は I<arg2> に B<PR_TSC_ENABLE> を、そのプロ"
2674 "セスがタイムスタンプ・カウンタを読み出そうとした際に B<SIGSEGV> を発生させる"
2675 "場合には B<PR_TSC_SIGSEGV> を渡す。"
2676
2677 #. type: TP
2678 #: build/C/man2/prctl.2:312
2679 #, no-wrap
2680 msgid "B<PR_GET_TSC> (since Linux 2.6.26, x86 only)"
2681 msgstr "B<PR_GET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2682
2683 #. type: Plain text
2684 #: build/C/man2/prctl.2:318
2685 msgid ""
2686 "Return the state of the flag determining whether the timestamp counter can "
2687 "be read, in the location pointed to by I<(int\\ *) arg2>."
2688 msgstr ""
2689 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態"
2690 "を I<(int\\ *) arg2> が指す場所に格納して返す。"
2691
2692 #. type: TP
2693 #: build/C/man2/prctl.2:318
2694 #, no-wrap
2695 msgid "B<PR_SET_UNALIGN>"
2696 msgstr "B<PR_SET_UNALIGN>"
2697
2698 #. type: Plain text
2699 #: build/C/man2/prctl.2:328
2700 msgid ""
2701 "(Only on: ia64, since Linux 2.3.48; parisc, since Linux 2.6.15; PowerPC, "
2702 "since Linux 2.6.18; Alpha, since Linux 2.6.22)  Set unaligned access control "
2703 "bits to I<arg2>.  Pass B<PR_UNALIGN_NOPRINT> to silently fix up unaligned "
2704 "user accesses, or B<PR_UNALIGN_SIGBUS> to generate B<SIGBUS> on unaligned "
2705 "user access."
2706 msgstr ""
2707 "(ia64 では Linux 2.3.48 以降; parisc では Linux 2.6.15 以降; PowerPC では "
2708 "Linux 2.6.18 以降; Alpha では Linux 2.6.22 以降; これらのアーキテクチャの"
2709 "み)  unaligned アクセス制御ビットを I<arg2> で指定された値に設定する。 指定で"
2710 "きる値は B<PR_UNALIGN_NOPRINT> (unaligned なユーザアクセスを黙って 修正する) "
2711 "か B<PR_UNALIGN_SIGBUS> (unaligned なユーザアクセスがあった場合 B<SIGBUS> を"
2712 "生成する) である。"
2713
2714 #. type: TP
2715 #: build/C/man2/prctl.2:328
2716 #, no-wrap
2717 msgid "B<PR_GET_UNALIGN>"
2718 msgstr "B<PR_GET_UNALIGN>"
2719
2720 #. type: Plain text
2721 #: build/C/man2/prctl.2:335
2722 msgid ""
2723 "(see B<PR_SET_UNALIGN> for information on versions and architectures)  "
2724 "Return unaligned access control bits, in the location pointed to by I<(int\\ "
2725 "*) arg2>."
2726 msgstr ""
2727 "(バージョンとアーキテクチャの情報は B<PR_SET_UNALIGN> 参照)  unaligned アクセ"
2728 "ス制御ビットの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2729
2730 #. type: TP
2731 #: build/C/man2/prctl.2:335
2732 #, fuzzy, no-wrap
2733 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2734 msgid "B<PR_MCE_KILL> (since Linux 2.6.32)"
2735 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2736
2737 #. type: Plain text
2738 #: build/C/man2/prctl.2:375
2739 msgid ""
2740 "Set the machine check memory corruption kill policy for the current thread.  "
2741 "If I<arg2> is B<PR_MCE_KILL_CLEAR>, clear the thread memory corruption kill "
2742 "policy and use the system-wide default.  (The system-wide default is defined "
2743 "by I</proc/sys/vm/memory_failure_early_kill>; see B<proc>(5).)  If I<arg2> "
2744 "is B<PR_MCE_KILL_SET>, use a thread-specific memory corruption kill policy.  "
2745 "In this case, I<arg3> defines whether the policy is I<early kill> "
2746 "(B<PR_MCE_KILL_EARLY>), I<late kill> (B<PR_MCE_KILL_LATE>), or the system-"
2747 "wide default (B<PR_MCE_KILL_DEFAULT>).  Early kill means that the thread "
2748 "receives a B<SIGBUS> signal as soon as hardware memory corruption is "
2749 "detected inside its address space.  In late kill mode, the process is only "
2750 "killed when it accesses a corrupted page.  See B<sigaction>(2)  for more "
2751 "information on the B<SIGBUS> signal.  The policy is inherited by children.  "
2752 "The remaining unused B<prctl>()  arguments must be zero for future "
2753 "compatibility."
2754 msgstr ""
2755
2756 #. type: TP
2757 #: build/C/man2/prctl.2:375
2758 #, fuzzy, no-wrap
2759 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2760 msgid "B<PR_MCE_KILL_GET> (since Linux 2.6.32)"
2761 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2762
2763 #. type: Plain text
2764 #: build/C/man2/prctl.2:381
2765 msgid ""
2766 "Return the current per-process machine check kill policy.  All unused "
2767 "B<prctl>()  arguments must be zero."
2768 msgstr ""
2769
2770 #. type: TP
2771 #: build/C/man2/prctl.2:381
2772 #, fuzzy, no-wrap
2773 #| msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2774 msgid "B<PR_SET_MM> (since Linux 3.3)"
2775 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2776
2777 #. type: Plain text
2778 #: build/C/man2/prctl.2:401
2779 msgid ""
2780 "Modify certain kernel memory map descriptor fields of the calling process.  "
2781 "Usually these fields are set by the kernel and dynamic loader (see B<ld.so>"
2782 "(8)  for more information) and a regular application should not use this "
2783 "feature.  However, there are cases, such as self-modifying programs, where a "
2784 "program might find it useful to change its own memory map.  This feature is "
2785 "available only if the kernel is built with the B<CONFIG_CHECKPOINT_RESTORE> "
2786 "option enabled.  The calling process must have the B<CAP_SYS_RESOURCE> "
2787 "capability.  The value in I<arg2> is one of the options below, while I<arg3> "
2788 "provides a new value for the option."
2789 msgstr ""
2790
2791 #. type: TP
2792 #: build/C/man2/prctl.2:402
2793 #, no-wrap
2794 msgid "B<PR_SET_MM_START_CODE>"
2795 msgstr ""
2796
2797 #. type: Plain text
2798 #: build/C/man2/prctl.2:411
2799 msgid ""
2800 "Set the address above which the program text can run.  The corresponding "
2801 "memory area must be readable and executable, but not writable or sharable "
2802 "(see B<mprotect>(2)  and B<mmap>(2)  for more information)."
2803 msgstr ""
2804
2805 #. type: TP
2806 #: build/C/man2/prctl.2:411
2807 #, no-wrap
2808 msgid "B<PR_SET_MM_END_CODE>"
2809 msgstr ""
2810
2811 #. type: Plain text
2812 #: build/C/man2/prctl.2:416
2813 msgid ""
2814 "Set the address below which the program text can run.  The corresponding "
2815 "memory area must be readable and executable, but not writable or sharable."
2816 msgstr ""
2817
2818 #. type: TP
2819 #: build/C/man2/prctl.2:416
2820 #, no-wrap
2821 msgid "B<PR_SET_MM_START_DATA>"
2822 msgstr ""
2823
2824 #. type: Plain text
2825 #: build/C/man2/prctl.2:422
2826 msgid ""
2827 "Set the address above which initialized and uninitialized (bss) data are "
2828 "placed.  The corresponding memory area must be readable and writable, but "
2829 "not executable or sharable."
2830 msgstr ""
2831
2832 #. type: TP
2833 #: build/C/man2/prctl.2:422
2834 #, fuzzy, no-wrap
2835 #| msgid "B<PR_SET_UNALIGN>"
2836 msgid "B<PR_SET_MM_END_DATA>"
2837 msgstr "B<PR_SET_UNALIGN>"
2838
2839 #. type: Plain text
2840 #: build/C/man2/prctl.2:428
2841 msgid ""
2842 "Set the address below which initialized and uninitialized (bss) data are "
2843 "placed.  The corresponding memory area must be readable and writable, but "
2844 "not executable or sharable."
2845 msgstr ""
2846
2847 #. type: TP
2848 #: build/C/man2/prctl.2:428
2849 #, no-wrap
2850 msgid "B<PR_SET_MM_START_STACK>"
2851 msgstr ""
2852
2853 #. type: Plain text
2854 #: build/C/man2/prctl.2:432
2855 msgid ""
2856 "Set the start address of the stack.  The corresponding memory area must be "
2857 "readable and writable."
2858 msgstr ""
2859
2860 #. type: TP
2861 #: build/C/man2/prctl.2:432
2862 #, no-wrap
2863 msgid "B<PR_SET_MM_START_BRK>"
2864 msgstr ""
2865
2866 #. type: Plain text
2867 #: build/C/man2/prctl.2:444
2868 msgid ""
2869 "Set the address above which the program heap can be expanded with B<brk>(2)  "
2870 "call.  The address must be greater than the ending address of the current "
2871 "program data segment.  In addition, the combined size of the resulting heap "
2872 "and the size of the data segment can't exceed the B<RLIMIT_DATA> resource "
2873 "limit (see B<setrlimit>(2))."
2874 msgstr ""
2875
2876 #. type: TP
2877 #: build/C/man2/prctl.2:444
2878 #, fuzzy, no-wrap
2879 #| msgid "B<PR_SET_UNALIGN>"
2880 msgid "B<PR_SET_MM_BRK>"
2881 msgstr "B<PR_SET_UNALIGN>"
2882
2883 #.  FIXME The following (until ========) is not yet in mainline kernel,
2884 #.  so commented out for the moment.
2885 #.  .TP
2886 #.  .BR PR_SET_MM_ARG_START
2887 #.  Set the address above which the program command line is placed.
2888 #.  .TP
2889 #.  .BR PR_SET_MM_ARG_END
2890 #.  Set the address below which the program command line is placed.
2891 #.  .TP
2892 #.  .BR PR_SET_MM_ENV_START
2893 #.  Set the address above which the program environment is placed.
2894 #.  .TP
2895 #.  .BR PR_SET_MM_ENV_END
2896 #.  Set the address below which the program environment is placed.
2897 #.  .IP
2898 #.  The address passed with
2899 #.  .BR PR_SET_MM_ARG_START ,
2900 #.  .BR PR_SET_MM_ARG_END ,
2901 #.  .BR PR_SET_MM_ENV_START ,
2902 #.  and
2903 #.  .BR PR_SET_MM_ENV_END
2904 #.  should belong to a process stack area.
2905 #.  Thus, the corresponding memory area must be readable, writable, and
2906 #.  (depending on the kernel configuration) have the
2907 #.  .BR MAP_GROWSDOWN
2908 #.  attribute set (see
2909 #.  .BR mmap (2)).
2910 #.  .TP
2911 #.  .BR PR_SET_MM_AUXV
2912 #.  Set a new auxiliary vector.
2913 #.  The
2914 #.  .I arg3
2915 #.  argument should provide the address of the vector.
2916 #.  The
2917 #.  .I arg4
2918 #.  is the size of the vector.
2919 #.  .TP
2920 #.  .BR PR_SET_MM_EXE_FILE
2921 #.  Supersede the
2922 #.  .IR /proc/pid/exe
2923 #.  symbolic link with a new one pointing to a new executable file
2924 #.  identified by the file descriptor provided in
2925 #.  .I arg3
2926 #.  argument.
2927 #.  The file descriptor should be obtained with a regular
2928 #.  .BR open (2)
2929 #.  call.
2930 #.  .IP
2931 #.  To change the symbolic link, one needs to unmap all existing
2932 #.  executable memory areas, including those created by the kernel itself
2933 #.  (for example the kernel usually creates at least one executable
2934 #.  memory area for the ELF
2935 #.  .IR .text
2936 #.  section).
2937 #.  .IP
2938 #.  The second limitation is that such transitions can be done only once
2939 #.  in a process life time.
2940 #.  Any further attempts will be rejected.
2941 #.  This should help system administrators to monitor unusual
2942 #.  symbolic-link transitions over all process running in a system.
2943 #.  ========== END FIXME
2944 #. type: Plain text
2945 #: build/C/man2/prctl.2:513
2946 msgid ""
2947 "Set the current B<brk>(2)  value.  The requirements for the address are the "
2948 "same as for the B<PR_SET_MM_START_BRK> option."
2949 msgstr ""
2950
2951 #. type: Plain text
2952 #: build/C/man2/prctl.2:532
2953 #, fuzzy
2954 #| msgid ""
2955 #| "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2956 #| "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, and (if it returns)  "
2957 #| "B<PR_GET_SECCOMP> return the nonnegative values described above.  All "
2958 #| "other I<option> values return 0 on success.  On error, -1 is returned, "
2959 #| "and I<errno> is set appropriately."
2960 msgid ""
2961 "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2962 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_MCE_KILL_GET>, and (if it "
2963 "returns)  B<PR_GET_SECCOMP> return the nonnegative values described above.  "
2964 "All other I<option> values return 0 on success.  On error, -1 is returned, "
2965 "and I<errno> is set appropriately."
2966 msgstr ""
2967 "成功すると、 B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2968 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_GET_SECCOMP> は上述の負でない値"
2969 "を返す (B<PR_GET_SECCOMP> は返らない場合もある)。 I<option> が他の値の場合は"
2970 "成功時に 0 を返す。 エラーの場合、-1 を返し、 I<errno> に適切な値を設定する。"
2971
2972 #. type: Plain text
2973 #: build/C/man2/prctl.2:537
2974 msgid "I<arg2> is an invalid address."
2975 msgstr "I<arg2> が不正なアドレスである。"
2976
2977 #. type: Plain text
2978 #: build/C/man2/prctl.2:542
2979 msgid "The value of I<option> is not recognized."
2980 msgstr "I<option> の値が理解できない。"
2981
2982 #. type: Plain text
2983 #: build/C/man2/prctl.2:554
2984 msgid ""
2985 "I<option> is B<PR_MCE_KILL> or B<PR_MCE_KILL_GET> or B<PR_SET_MM>, and "
2986 "unused B<prctl>()  arguments were not specified as zero."
2987 msgstr ""
2988
2989 #. type: Plain text
2990 #: build/C/man2/prctl.2:559
2991 msgid "I<arg2> is not valid value for this I<option>."
2992 msgstr "I<arg2> が指定された I<option> で有効な値ではない。"
2993
2994 #. type: Plain text
2995 #: build/C/man2/prctl.2:568
2996 msgid ""
2997 "I<option> is B<PR_SET_SECCOMP> or B<PR_SET_SECCOMP>, and the kernel was not "
2998 "configured with B<CONFIG_SECCOMP>."
2999 msgstr ""
3000 "I<option> が B<PR_SET_SECCOMP> か B<PR_GET_SECCOMP> だが、カーネルが "
3001 "B<CONFIG_SECCOMP> を有効にして作成されていなかった。"
3002
3003 #. type: Plain text
3004 #: build/C/man2/prctl.2:574
3005 msgid "I<option> is B<PR_SET_MM>, and one of the following is true"
3006 msgstr ""
3007
3008 #. type: Plain text
3009 #: build/C/man2/prctl.2:580
3010 msgid "I<arg4> or I<arg5> is nonzero;"
3011 msgstr ""
3012
3013 #. type: Plain text
3014 #: build/C/man2/prctl.2:585
3015 msgid ""
3016 "I<arg3> is greater than B<TASK_SIZE> (the limit on the size of the user "
3017 "address space for this architecture);"
3018 msgstr ""
3019
3020 #. type: Plain text
3021 #: build/C/man2/prctl.2:595
3022 msgid ""
3023 "I<arg2> is B<PR_SET_MM_START_CODE>, B<PR_SET_MM_END_CODE>, "
3024 "B<PR_SET_MM_START_DATA>, B<PR_SET_MM_END_DATA>, or B<PR_SET_MM_START_STACK,> "
3025 "and the permissions of the corresponding memory area are not as required;"
3026 msgstr ""
3027
3028 #. type: Plain text
3029 #: build/C/man2/prctl.2:607
3030 msgid ""
3031 "I<arg2> is B<PR_SET_MM_START_BRK> or B<PR_SET_MM_BRK>, and I<arg3> is less "
3032 "than or equal to the end of the data segment or specifies a value that would "
3033 "cause the B<RLIMIT_DATA> resource limit to be exceeded."
3034 msgstr ""
3035
3036 #. type: Plain text
3037 #: build/C/man2/prctl.2:620
3038 msgid ""
3039 "I<option> is B<PR_SET_SECUREBITS>, and the caller does not have the "
3040 "B<CAP_SETPCAP> capability, or tried to unset a \"locked\" flag, or tried to "
3041 "set a flag whose corresponding locked flag was set (see B<capabilities>(7))."
3042 msgstr ""
3043 "I<option> が B<PR_SET_SECUREBITS> で、呼び出し元がケーパビリティ "
3044 "B<CAP_SETPCAP> を持っていない。 または、\"locked\" フラグを解除しようとし"
3045 "た。 または、locked フラグがセットされているフラグをセットしようとした "
3046 "(B<capabilities>(7)  参照)。"
3047
3048 #. type: Plain text
3049 #: build/C/man2/prctl.2:630
3050 msgid ""
3051 "I<option> is B<PR_SET_KEEPCAPS>, and the callers's "
3052 "B<SECURE_KEEP_CAPS_LOCKED> flag is set (see B<capabilities>(7))."
3053 msgstr ""
3054 "I<option> が B<PR_SET_KEEPCAPS> で、呼び出し元のフラグ "
3055 "B<SECURE_KEEP_CAPS_LOCKED> がセットされている (B<capabilities>(7)  参照)。"
3056
3057 #. type: Plain text
3058 #: build/C/man2/prctl.2:638
3059 msgid ""
3060 "I<option> is B<PR_CAPBSET_DROP>, and the caller does not have the "
3061 "B<CAP_SETPCAP> capability."
3062 msgstr ""
3063 "I<option> が B<PR_CAPBSET_DROP> で、呼び出し元がケーパビリティ "
3064 "B<CAP_SETPCAP> を持っていない。"
3065
3066 #.  FIXME The following (until ========) is not yet in mainline kernel,
3067 #.  so commented out for the moment.
3068 #.  .TP
3069 #.  .B EACCES
3070 #.  .I option
3071 #.  is
3072 #.  .BR PR_SET_MM ,
3073 #.  and
3074 #.  .I arg3
3075 #.  is
3076 #.  .BR PR_SET_MM_EXE_FILE ,
3077 #.  the file is not executable.
3078 #.  .TP
3079 #.  .B EBUSY
3080 #.  .I option
3081 #.  is
3082 #.  .BR PR_SET_MM ,
3083 #.  .I arg3
3084 #.  is
3085 #.  .BR PR_SET_MM_EXE_FILE ,
3086 #.  and this the second attempt to change the
3087 #.  .I /proc/pid/exe
3088 #.  symbolic link, which is prohibited.
3089 #.  .TP
3090 #.  .B EBADF
3091 #.  .I option
3092 #.  is
3093 #.  .BR PR_SET_MM ,
3094 #.  .I arg3
3095 #.  is
3096 #.  .BR PR_SET_MM_EXE_FILE ,
3097 #.  and the file descriptor passed in
3098 #.  .I arg4
3099 #.  is not valid.
3100 #.  ========== END FIXME
3101 #.  The following can't actually happen, because prctl() in
3102 #.  seccomp mode will cause SIGKILL.
3103 #.  .TP
3104 #.  .B EPERM
3105 #.  .I option
3106 #.  is
3107 #.  .BR PR_SET_SECCOMP ,
3108 #.  and secure computing mode is already 1.
3109 #. type: Plain text
3110 #: build/C/man2/prctl.2:689
3111 #, fuzzy
3112 #| msgid ""
3113 #| "I<option> is B<PR_CAPBSET_DROP>, and the caller does not have the "
3114 #| "B<CAP_SETPCAP> capability."
3115 msgid ""
3116 "I<option> is B<PR_SET_MM>, and the caller does not have the "
3117 "B<CAP_SYS_RESOURCE> capability."
3118 msgstr ""
3119 "I<option> が B<PR_CAPBSET_DROP> で、呼び出し元がケーパビリティ "
3120 "B<CAP_SETPCAP> を持っていない。"
3121
3122 #.  The library interface was added in glibc 2.0.6
3123 #. type: Plain text
3124 #: build/C/man2/prctl.2:694
3125 msgid "The B<prctl>()  system call was introduced in Linux 2.1.57."
3126 msgstr "B<prctl>()  システムコールは Linux 2.1.57 で導入された。"
3127
3128 #. type: Plain text
3129 #: build/C/man2/prctl.2:701
3130 msgid ""
3131 "This call is Linux-specific.  IRIX has a B<prctl>()  system call (also "
3132 "introduced in Linux 2.1.44 as irix_prctl on the MIPS architecture), with "
3133 "prototype"
3134 msgstr ""
3135 "このコールは Linux 特有である。 IRIX には B<prctl>()  システム・コールがある"
3136 "が (MIPS アーキテクチャにおいて irix_prctl として Linux 2.1.44 で同様に導入さ"
3137 "れた)、 そのプロトタイプは"
3138
3139 #. type: Plain text
3140 #: build/C/man2/prctl.2:703
3141 msgid "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
3142 msgstr "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
3143
3144 #. type: Plain text
3145 #: build/C/man2/prctl.2:708
3146 msgid ""
3147 "and options to get the maximum number of processes per user, get the maximum "
3148 "number of processors the calling process can use, find out whether a "
3149 "specified process is currently blocked, get or set the maximum stack size, "
3150 "etc."
3151 msgstr ""
3152 "である。ユーザー当りのプロセス最大数を取得するオプション、 プロセスの使用でき"
3153 "る最大プロッサー数を取得するオプション、 現在特定のプロセスが停止(block)させ"
3154 "られているかどうか調べるオプション、 スタックサイズの最大値の取得や設定を行な"
3155 "うオプションなどがある。"
3156
3157 #. type: Plain text
3158 #: build/C/man2/prctl.2:710
3159 msgid "B<signal>(2), B<core>(5)"
3160 msgstr "B<signal>(2), B<core>(5)"
3161
3162 #. type: TH
3163 #: build/C/man3/profil.3:28
3164 #, no-wrap
3165 msgid "PROFIL"
3166 msgstr "PROFIL"
3167
3168 #. type: Plain text
3169 #: build/C/man3/profil.3:31
3170 msgid "profil - execution time profile"
3171 msgstr "profil - 実行時間プロファイル (profile)"
3172
3173 #. type: Plain text
3174 #: build/C/man3/profil.3:36
3175 msgid ""
3176 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
3177 ">I<offset>B<, unsigned int >I<scale>B<);>"
3178 msgstr ""
3179 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
3180 ">I<offset>B<, unsigned int >I<scale>B<);>"
3181
3182 #. type: Plain text
3183 #: build/C/man3/profil.3:44
3184 msgid ""
3185 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3186 msgstr ""
3187 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3188
3189 #. type: Plain text
3190 #: build/C/man3/profil.3:66
3191 msgid ""
3192 "This routine provides a means to find out in what areas your program spends "
3193 "most of its time.  The argument I<buf> points to I<bufsiz> bytes of core.  "
3194 "Every virtual 10 milliseconds, the user's program counter (PC)  is examined: "
3195 "I<offset> is subtracted and the result is multiplied by I<scale> and divided "
3196 "by 65536.  If the resulting value is less than I<bufsiz>, then the "
3197 "corresponding entry in I<buf> is incremented.  If I<buf> is NULL, profiling "
3198 "is disabled."
3199 msgstr ""
3200 "このルーティンはプログラムのどこの部分で時間を費やしているかを調べる 手段を提"
3201 "供する。引き数 I<buf> は I<bufsiz> バイトのメモリを指している。仮想の 10 ミリ"
3202 "秒ごとに、ユーザーの プログラム・カウンター (PC) が検査される: I<offset> が引"
3203 "かれ、その結果が I<scale> 倍され 65536 で割られる。 結果が I<bufsiz> より小さ"
3204 "い場合は I<buf> の対応するエントリがインクリメントされる。 I<buf> が NULL な"
3205 "らば、プロファイル (profile) は無効にされる。"
3206
3207 #. type: Plain text
3208 #: build/C/man3/profil.3:68
3209 msgid "Zero is always returned."
3210 msgstr "常に 0 が返される。"
3211
3212 #. type: Plain text
3213 #: build/C/man3/profil.3:70
3214 msgid "Similar to a call in SVr4 (but not POSIX.1-2001)."
3215 msgstr "SVr4 のコールに似ている (しかし POSIX.1-2001 ではない)。"
3216
3217 #. type: Plain text
3218 #: build/C/man3/profil.3:76
3219 msgid ""
3220 "B<profil>()  cannot be used on a program that also uses B<ITIMER_PROF> "
3221 "interval timers (see B<setitimer>(2))."
3222 msgstr ""
3223 "B<profil>()  は B<ITIMER_PROF> インターバル・タイマーも使用しているプログラム"
3224 "では使用できない (B<setitimer>(2)  参照)。"
3225
3226 #. type: Plain text
3227 #: build/C/man3/profil.3:79
3228 msgid ""
3229 "True kernel profiling provides more accurate results.  Libc 4.4 contained a "
3230 "kernel patch providing a system call profil."
3231 msgstr ""
3232 "本当のカーネル・プロファイルはより正確な結果を与える。 libc 4.4 にはシステム"
3233 "コール profil を提供するための カーネルパッチが含まれていた。"
3234
3235 #. type: Plain text
3236 #: build/C/man3/profil.3:83
3237 msgid "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3238 msgstr "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3239
3240 #. type: TH
3241 #: build/C/man3/psignal.3:28
3242 #, no-wrap
3243 msgid "PSIGNAL"
3244 msgstr "PSIGNAL"
3245
3246 #. type: TH
3247 #: build/C/man3/psignal.3:28
3248 #, fuzzy, no-wrap
3249 #| msgid "2008-10-06"
3250 msgid "2010-10-06"
3251 msgstr "2008-10-06"
3252
3253 #. type: TH
3254 #: build/C/man3/psignal.3:28 build/C/man3/raise.3:27
3255 #: build/C/man7/sigevent.7:24
3256 #, no-wrap
3257 msgid "GNU"
3258 msgstr "GNU"
3259
3260 #. type: Plain text
3261 #: build/C/man3/psignal.3:31
3262 #, fuzzy
3263 #| msgid "psignal - print signal message"
3264 msgid "psignal, psiginfo - print signal message"
3265 msgstr "psignal - シグナルメッセージを表示"
3266
3267 #. type: Plain text
3268 #: build/C/man3/psignal.3:37
3269 #, fuzzy, no-wrap
3270 #| msgid "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3271 msgid ""
3272 "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3273 "B<void psiginfo(const siginfo_t *>I<pinfo>B<, const char *>I<s>B<);>\n"
3274 msgstr "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3275
3276 #. type: Plain text
3277 #: build/C/man3/psignal.3:39
3278 #, no-wrap
3279 msgid "B<extern const char *const >I<sys_siglist>B<[];>\n"
3280 msgstr "B<extern const char *const >I<sys_siglist>B<[];>\n"
3281
3282 #. type: Plain text
3283 #: build/C/man3/psignal.3:48
3284 msgid "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3285 msgstr "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3286
3287 #. type: Plain text
3288 #: build/C/man3/psignal.3:51
3289 #, fuzzy
3290 #| msgid ""
3291 #| "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3292 msgid ""
3293 "B<psiginfo>(): _XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ "
3294 "200809L"
3295 msgstr ""
3296 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3297
3298 #. type: Plain text
3299 #: build/C/man3/psignal.3:54
3300 msgid "I<sys_siglist>: _BSD_SOURCE"
3301 msgstr "I<sys_siglist>: _BSD_SOURCE"
3302
3303 #. type: Plain text
3304 #: build/C/man3/psignal.3:63
3305 #, fuzzy
3306 #| msgid ""
3307 #| "The B<psignal>()  function displays a message on I<stderr> consisting of "
3308 #| "the string I<s>, a colon, a space, and a string describing the signal "
3309 #| "number I<sig>.  If I<sig> is invalid, the message displayed will indicate "
3310 #| "an unknown signal."
3311 msgid ""
3312 "The B<psignal>()  function displays a message on I<stderr> consisting of the "
3313 "string I<s>, a colon, a space, a string describing the signal number I<sig>, "
3314 "and a trailing newline.  If the string I<s> is NULL or empty, the colon and "
3315 "space are omitted.  If I<sig> is invalid, the message displayed will "
3316 "indicate an unknown signal."
3317 msgstr ""
3318 "B<psignal>()  関数は、文字列 I<s>、コロン、スペース、 シグナル番号 I<sig> を"
3319 "説明する文字列から構成されるメッセージを I<stderr> に表示する。もし I<sig> が"
3320 "不正ならば、表示される メッセージは未知のシグナルを示す。"
3321
3322 #. type: Plain text
3323 #: build/C/man3/psignal.3:84
3324 msgid ""
3325 "The B<psiginfo>()  function is like B<psignal>(), except that it displays "
3326 "information about the signal described by I<pinfo>, which should point to a "
3327 "valid I<siginfo_t> structure.  As well as the signal description, B<psiginfo>"
3328 "()  displays information about the origin of the signal, and other "
3329 "information relevant to the signal (e.g., the relevant memory address for "
3330 "hardware-generated signals, the child process ID for B<SIGCHLD>, and the "
3331 "user ID and process ID of the sender, for signals set using B<kill>(2)  or "
3332 "B<sigqueue>(3))."
3333 msgstr ""
3334
3335 #. type: Plain text
3336 #: build/C/man3/psignal.3:87
3337 msgid ""
3338 "The array I<sys_siglist> holds the signal description strings indexed by "
3339 "signal number."
3340 msgstr ""
3341 "配列 I<sys_siglist> はシグナルを説明する文字列を保持しており、 配列へのアクセ"
3342 "スにはシグナル番号を添え字として用いる事ができる。"
3343
3344 #. type: Plain text
3345 #: build/C/man3/psignal.3:93
3346 #, fuzzy
3347 #| msgid "The B<psignal>()  function returns no value."
3348 msgid "The B<psignal>()  and B<psiginfo>()  functions return no value."
3349 msgstr "B<psignal>()  関数は、値を返さない。"
3350
3351 #. type: Plain text
3352 #: build/C/man3/psignal.3:97
3353 #, fuzzy
3354 #| msgid "These functions appeared in glibc version 2.1."
3355 msgid "The B<psiginfo>()  function was added to glibc in version 2.10."
3356 msgstr "これらの関数は glibc 2.1 で登場した。"
3357
3358 #. type: Plain text
3359 #: build/C/man3/psignal.3:99
3360 msgid "POSIX.1-2008, 4.3BSD."
3361 msgstr "POSIX.1-2008, 4.3BSD."
3362
3363 #. type: Plain text
3364 #: build/C/man3/psignal.3:103
3365 msgid "In glibc versions up to 2.12, B<psiginfo>()  had the following bugs:"
3366 msgstr ""
3367
3368 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12107
3369 #.  Reportedly now fixed; check glibc 2.13
3370 #. type: Plain text
3371 #: build/C/man3/psignal.3:107
3372 msgid "In some circumstances, a trailing newline is not printed."
3373 msgstr ""
3374
3375 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12108
3376 #.  Reportedly now fixed; check glibc 2.13
3377 #. type: Plain text
3378 #: build/C/man3/psignal.3:111
3379 msgid "Additional details are not displayed for real-time signals."
3380 msgstr ""
3381
3382 #. type: Plain text
3383 #: build/C/man3/psignal.3:115
3384 #, fuzzy
3385 #| msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3386 msgid "B<sigaction>(2), B<perror>(3), B<strsignal>(3), B<signal>(7)"
3387 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3388
3389 #. type: TH
3390 #: build/C/man3/raise.3:27
3391 #, no-wrap
3392 msgid "RAISE"
3393 msgstr "RAISE"
3394
3395 #. type: TH
3396 #: build/C/man3/raise.3:27
3397 #, no-wrap
3398 msgid "2008-10-17"
3399 msgstr "2008-10-17"
3400
3401 #. type: Plain text
3402 #: build/C/man3/raise.3:30
3403 msgid "raise - send a signal to the caller"
3404 msgstr "raise - 呼び出し元にシグナルを送る"
3405
3406 #. type: Plain text
3407 #: build/C/man3/raise.3:35
3408 #, no-wrap
3409 msgid "B<int raise(int >I<sig>B<);>\n"
3410 msgstr "B<int raise(int >I<sig>B<);>\n"
3411
3412 #. type: Plain text
3413 #: build/C/man3/raise.3:41
3414 msgid ""
3415 "The B<raise>()  function sends a signal to the calling process or thread.  "
3416 "In a single-threaded program it is equivalent to"
3417 msgstr ""
3418 "B<raise>()  関数は、呼び出し元のプロセスもしくはスレッドにシグナルを送る。 シ"
3419 "ングルスレッドのプログラムでは、以下と等価である。"
3420
3421 #. type: Plain text
3422 #: build/C/man3/raise.3:45
3423 #, no-wrap
3424 msgid "kill(getpid(), sig);\n"
3425 msgstr "kill(getpid(), sig);\n"
3426
3427 #. type: Plain text
3428 #: build/C/man3/raise.3:49
3429 msgid "In a multithreaded program it is equivalent to"
3430 msgstr "マルチスレッドのプログラムでは、以下と等価である。"
3431
3432 #. type: Plain text
3433 #: build/C/man3/raise.3:53
3434 #, no-wrap
3435 msgid "pthread_kill(pthread_self(), sig);\n"
3436 msgstr "pthread_kill(pthread_self(), sig);\n"
3437
3438 #. type: Plain text
3439 #: build/C/man3/raise.3:59
3440 msgid ""
3441 "If the signal causes a handler to be called, B<raise>()  will only return "
3442 "after the signal handler has returned."
3443 msgstr ""
3444 "シグナルに起因してシグナル・ハンドラが呼び出される場合には、 B<raise>()  が返"
3445 "るのは必ずシグナル・ハンドラが返った後になる。"
3446
3447 #. type: Plain text
3448 #: build/C/man3/raise.3:62
3449 msgid "B<raise>()  returns 0 on success, and nonzero for failure."
3450 msgstr "成功した場合は 0 を、失敗した場合は 0 以外の値を返す。"
3451
3452 #. type: Plain text
3453 #: build/C/man3/raise.3:64 build/C/man2/signal.2:107
3454 msgid "C89, C99, POSIX.1-2001."
3455 msgstr "C89, C99, POSIX.1-2001."
3456
3457 #. type: Plain text
3458 #: build/C/man3/raise.3:70
3459 msgid ""
3460 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3461 "B<signal>(7)"
3462 msgstr ""
3463 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3464 "B<signal>(7)"
3465
3466 #. type: TH
3467 #: build/C/man2/rt_sigqueueinfo.2:23
3468 #, no-wrap
3469 msgid "RT_SIGQUEUEINFO"
3470 msgstr "RT_SIGQUEUEINFO"
3471
3472 #. type: TH
3473 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man7/signal.7:44
3474 #: build/C/man2/tkill.2:29
3475 #, no-wrap
3476 msgid "2011-09-18"
3477 msgstr "2011-09-18"
3478
3479 #. type: Plain text
3480 #: build/C/man2/rt_sigqueueinfo.2:26
3481 msgid "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3482 msgstr "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3483
3484 #. type: Plain text
3485 #: build/C/man2/rt_sigqueueinfo.2:29
3486 #, no-wrap
3487 msgid "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3488 msgstr "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3489
3490 #. type: Plain text
3491 #: build/C/man2/rt_sigqueueinfo.2:32
3492 #, no-wrap
3493 msgid ""
3494 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3495 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3496 msgstr ""
3497 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3498 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3499
3500 #. type: Plain text
3501 #: build/C/man2/rt_sigqueueinfo.2:45
3502 msgid ""
3503 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3504 "low-level interfaces used to send a signal plus data to a process or "
3505 "thread.  The receiver of the signal can obtain the accompanying data by "
3506 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3507 msgstr ""
3508 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3509 "low-level interfaces used to send a signal plus data to a process or "
3510 "thread.  The receiver of the signal can obtain the accompanying data by "
3511 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3512
3513 #. type: Plain text
3514 #: build/C/man2/rt_sigqueueinfo.2:51
3515 msgid ""
3516 "These system calls are not intended for direct application use; they are "
3517 "provided to allow the implementation of B<sigqueue>(3)  and "
3518 "B<pthread_sigqueue>(3)."
3519 msgstr ""
3520 "These system calls are not intended for direct application use; they are "
3521 "provided to allow the implementation of B<sigqueue>(3)  and "
3522 "B<pthread_sigqueue>(3)."
3523
3524 #. type: Plain text
3525 #: build/C/man2/rt_sigqueueinfo.2:63
3526 msgid ""
3527 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3528 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3529 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3530 "The signal will be delivered to an arbitrary member of the thread group (i."
3531 "e., one of the threads that is not currently blocking the signal)."
3532 msgstr ""
3533 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3534 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3535 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3536 "The signal will be delivered to an arbitrary member of the thread group (i."
3537 "e., one of the threads that is not currently blocking the signal)."
3538
3539 #. type: Plain text
3540 #: build/C/man2/rt_sigqueueinfo.2:74
3541 msgid ""
3542 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3543 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3544 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3545 "caller should set the following fields in this structure:"
3546 msgstr ""
3547 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3548 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3549 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3550 "caller should set the following fields in this structure:"
3551
3552 #. type: TP
3553 #: build/C/man2/rt_sigqueueinfo.2:74 build/C/man7/sigevent.7:86
3554 #: build/C/man2/wait.2:315
3555 #, no-wrap
3556 msgid "I<si_code>"
3557 msgstr "I<si_code>"
3558
3559 #.  tkill(2) or
3560 #. type: Plain text
3561 #: build/C/man2/rt_sigqueueinfo.2:90
3562 msgid ""
3563 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3564 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3565 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3566 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3567 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3568 msgstr ""
3569 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3570 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3571 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3572 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3573 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3574
3575 #. type: TP
3576 #: build/C/man2/rt_sigqueueinfo.2:90 build/C/man2/wait.2:294
3577 #, no-wrap
3578 msgid "I<si_pid>"
3579 msgstr "I<si_pid>"
3580
3581 #. type: Plain text
3582 #: build/C/man2/rt_sigqueueinfo.2:94
3583 msgid ""
3584 "This should be set to a process ID, typically the process ID of the sender."
3585 msgstr ""
3586 "This should be set to a process ID, typically the process ID of the sender."
3587
3588 #. type: TP
3589 #: build/C/man2/rt_sigqueueinfo.2:94 build/C/man2/wait.2:297
3590 #, no-wrap
3591 msgid "I<si_uid>"
3592 msgstr "I<si_uid>"
3593
3594 #. type: Plain text
3595 #: build/C/man2/rt_sigqueueinfo.2:98
3596 msgid ""
3597 "This should be set to a user ID, typically the real user ID of the sender."
3598 msgstr ""
3599 "This should be set to a user ID, typically the real user ID of the sender."
3600
3601 #. type: TP
3602 #: build/C/man2/rt_sigqueueinfo.2:98 build/C/man7/sigevent.7:94
3603 #, no-wrap
3604 msgid "I<si_value>"
3605 msgstr "I<si_value>"
3606
3607 #. type: Plain text
3608 #: build/C/man2/rt_sigqueueinfo.2:105
3609 msgid ""
3610 "This field contains the user data to accompany the signal.  For more "
3611 "information, see the description of the last (I<union sigval>)  argument of "
3612 "B<sigqueue>(3)."
3613 msgstr ""
3614 "This field contains the user data to accompany the signal.  For more "
3615 "information, see the description of the last (I<union sigval>)  argument of "
3616 "B<sigqueue>(3)."
3617
3618 #. type: Plain text
3619 #: build/C/man2/rt_sigqueueinfo.2:112
3620 msgid ""
3621 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3622 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3623 "via that field."
3624 msgstr ""
3625 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3626 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3627 "via that field."
3628
3629 #. type: Plain text
3630 #: build/C/man2/rt_sigqueueinfo.2:124
3631 #, fuzzy
3632 #| msgid ""
3633 #| "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3634 #| "sends the signal and data to the single thread specified by the "
3635 #| "combination of I<tgid>, a thread group ID, and I<tid>, a thread in that "
3636 #| "thread group."
3637 msgid ""
3638 "The B<rt_tgsigqueueinfo>()  system call is like B<rt_sigqueueinfo>(), but "
3639 "sends the signal and data to the single thread specified by the combination "
3640 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3641 msgstr ""
3642 "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3643 "sends the signal and data to the single thread specified by the combination "
3644 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3645
3646 #. type: Plain text
3647 #: build/C/man2/rt_sigqueueinfo.2:129
3648 msgid ""
3649 "On success, these system calls return 0.  On error, they return -1 and "
3650 "I<errno> is set to indicate the error."
3651 msgstr ""
3652 "On success, these system calls return 0.  On error, they return -1 and "
3653 "I<errno> is set to indicate the error."
3654
3655 #. type: TP
3656 #: build/C/man2/rt_sigqueueinfo.2:130 build/C/man3/sigqueue.3:90
3657 #: build/C/man2/sigwaitinfo.2:108 build/C/man2/timer_create.2:174
3658 #, no-wrap
3659 msgid "B<EAGAIN>"
3660 msgstr "B<EAGAIN>"
3661
3662 #. type: Plain text
3663 #: build/C/man2/rt_sigqueueinfo.2:136 build/C/man3/sigqueue.3:96
3664 msgid ""
3665 "The limit of signals which may be queued has been reached.  (See B<signal>"
3666 "(7)  for further information.)"
3667 msgstr ""
3668 "待ち行列に入れられるシグナルの最大数に達した (より詳しい情報は B<signal>(7)  "
3669 "を参照すること)。"
3670
3671 #. type: Plain text
3672 #: build/C/man2/rt_sigqueueinfo.2:143
3673 msgid "I<sig>, I<tgid>, or I<tid> was invalid."
3674 msgstr "I<sig>, I<tgid>, or I<tid> was invalid."
3675
3676 #. type: Plain text
3677 #: build/C/man2/rt_sigqueueinfo.2:151
3678 msgid ""
3679 "The caller does not have permission to send the signal to the target.  For "
3680 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3681 "invalid."
3682 msgstr ""
3683 "The caller does not have permission to send the signal to the target.  For "
3684 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3685 "invalid."
3686
3687 #. type: Plain text
3688 #: build/C/man2/rt_sigqueueinfo.2:157
3689 #, fuzzy
3690 #| msgid "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3691 msgid "B<rt_sigqueueinfo>(): No thread group matching I<tgid> was found."
3692 msgstr "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3693
3694 #. type: Plain text
3695 #: build/C/man2/rt_sigqueueinfo.2:164
3696 #, fuzzy
3697 #| msgid ""
3698 #| "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3699 msgid "B<rt_tgsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3700 msgstr "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3701
3702 #. type: Plain text
3703 #: build/C/man2/rt_sigqueueinfo.2:171
3704 msgid ""
3705 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3706 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3707 msgstr ""
3708 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3709 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3710
3711 #. type: Plain text
3712 #: build/C/man2/rt_sigqueueinfo.2:173 build/C/man2/sgetmask.2:63
3713 #: build/C/man2/timerfd_create.2:372
3714 msgid "These system calls are Linux-specific."
3715 msgstr "これらのシステムコールは Linux 固有である。"
3716
3717 #. type: Plain text
3718 #: build/C/man2/rt_sigqueueinfo.2:178
3719 msgid ""
3720 "Since these system calls are not intended for application use, there are no "
3721 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3722 "want to call them directly."
3723 msgstr ""
3724 "Since these system calls are not intended for application use, there are no "
3725 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3726 "want to call them directly."
3727
3728 #. type: Plain text
3729 #: build/C/man2/rt_sigqueueinfo.2:183
3730 msgid ""
3731 "As with B<kill>(2), the null signal (0) can be used to check if the "
3732 "specified process or thread exists."
3733 msgstr ""
3734 "As with B<kill>(2), the null signal (0) can be used to check if the "
3735 "specified process or thread exists."
3736
3737 #. type: Plain text
3738 #: build/C/man2/rt_sigqueueinfo.2:190
3739 msgid ""
3740 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3741 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3742 msgstr ""
3743 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3744 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3745
3746 #. type: TH
3747 #: build/C/man2/sgetmask.2:24
3748 #, no-wrap
3749 msgid "SGETMASK"
3750 msgstr "SGETMASK"
3751
3752 #. type: TH
3753 #: build/C/man2/sgetmask.2:24
3754 #, no-wrap
3755 msgid "2007-07-05"
3756 msgstr "2007-07-05"
3757
3758 #. type: Plain text
3759 #: build/C/man2/sgetmask.2:27
3760 msgid "sgetmask, ssetmask - manipulation of signal mask (obsolete)"
3761 msgstr "sgetmask, ssetmask - シグナルマスクの操作 (廃止予定)"
3762
3763 #. type: Plain text
3764 #: build/C/man2/sgetmask.2:29
3765 msgid "B<long sgetmask(void);>"
3766 msgstr "B<long sgetmask(void);>"
3767
3768 #. type: Plain text
3769 #: build/C/man2/sgetmask.2:31
3770 msgid "B<long ssetmask(long >I<newmask>B<);>"
3771 msgstr "B<long ssetmask(long >I<newmask>B<);>"
3772
3773 #. type: Plain text
3774 #: build/C/man2/sgetmask.2:37
3775 msgid ""
3776 "These system calls are obsolete.  I<Do not use them>; use B<sigprocmask>(2)  "
3777 "instead."
3778 msgstr ""
3779 "これらのシステムコールは廃止予定であり、 「使用しないこと」。 代わりに "
3780 "B<sigprocmask>(2)  を使用すること。"
3781
3782 #. type: Plain text
3783 #: build/C/man2/sgetmask.2:40
3784 msgid "B<sgetmask>()  returns the signal mask of the calling process."
3785 msgstr "B<sgetmask>()  は、呼び出し元プロセスのシグナルマスクを返す。"
3786
3787 #. type: Plain text
3788 #: build/C/man2/sgetmask.2:45
3789 msgid ""
3790 "B<ssetmask>()  sets the signal mask of the calling process to the value "
3791 "given in I<newmask>.  The previous signal mask is returned."
3792 msgstr ""
3793 "B<ssetmask>()  は、呼び出し元プロセスのシグナルマスクを I<newmask> で指定され"
3794 "た値に設定し、変更前のシグナルマスクを返す。"
3795
3796 #. type: Plain text
3797 #: build/C/man2/sgetmask.2:54
3798 msgid ""
3799 "The signal masks dealt with by these two system calls are plain bit masks "
3800 "(unlike the I<sigset_t> used by B<sigprocmask>(2)); use B<sigmask>(3)  to "
3801 "create and inspect these masks."
3802 msgstr ""
3803 "これら二つのシステムコールが扱うシグナルマスクは、 単純なビットマスクである "
3804 "(この点が B<sigprocmask>(2)  で使用される I<sigset_t> と異なる)。 これらのマ"
3805 "スクを作成したり検査するには B<sigmask>(3)  を使用すること。"
3806
3807 #. type: Plain text
3808 #: build/C/man2/sgetmask.2:59
3809 msgid ""
3810 "B<sgetmask>()  always successfully returns the signal mask.  B<ssetmask>()  "
3811 "always succeeds, and returns the previous signal mask."
3812 msgstr ""
3813 "B<sgetmask>()  は常に成功し、シグナルマスクを返す。 B<ssetmask>()  は常に成功"
3814 "し、直前のシグナルマスクを返す。"
3815
3816 #. type: Plain text
3817 #: build/C/man2/sgetmask.2:61
3818 msgid "These system calls always succeed."
3819 msgstr "これらのシステムコールは常に成功する。"
3820
3821 #. type: Plain text
3822 #: build/C/man2/sgetmask.2:66
3823 msgid ""
3824 "Glibc does not provide wrappers for these system calls; use B<syscall>(2)."
3825 msgstr ""
3826 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
3827 "B<syscall>(2)  を使用すること。"
3828
3829 #. type: Plain text
3830 #: build/C/man2/sgetmask.2:69
3831 msgid ""
3832 "These system calls are unaware of signal numbers greater than 31 (i.e., real-"
3833 "time signals)."
3834 msgstr ""
3835 "これらのシステムコールは、 31 より大きいシグナル番号 (つまり、リアルタイムシ"
3836 "グナル) を扱えない。"
3837
3838 #. type: Plain text
3839 #: build/C/man2/sgetmask.2:74
3840 msgid "It is not possible to block B<SIGSTOP> or B<SIGKILL>."
3841 msgstr "B<SIGSTOP> や B<SIGKILL> をブロックすることはできない。"
3842
3843 #. type: Plain text
3844 #: build/C/man2/sgetmask.2:76
3845 msgid "B<sigprocmask>(2), B<signal>(7)"
3846 msgstr "B<sigprocmask>(2), B<signal>(7)"
3847
3848 #. type: TH
3849 #: build/C/man2/sigaction.2:45
3850 #, no-wrap
3851 msgid "SIGACTION"
3852 msgstr "SIGACTION"
3853
3854 #. type: TH
3855 #: build/C/man2/sigaction.2:45
3856 #, fuzzy, no-wrap
3857 #| msgid "2009-03-15"
3858 msgid "2012-04-12"
3859 msgstr "2009-03-15"
3860
3861 #. type: Plain text
3862 #: build/C/man2/sigaction.2:48
3863 msgid "sigaction - examine and change a signal action"
3864 msgstr "sigaction - シグナルの動作の確認と変更"
3865
3866 #. type: Plain text
3867 #: build/C/man2/sigaction.2:54
3868 #, no-wrap
3869 msgid ""
3870 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3871 "B<              struct sigaction *>I<oldact>B<);>\n"
3872 msgstr ""
3873 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3874 "B<              struct sigaction *>I<oldact>B<);>\n"
3875
3876 #. type: Plain text
3877 #: build/C/man2/sigaction.2:64
3878 msgid ""
3879 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3880 "_POSIX_SOURCE"
3881 msgstr ""
3882 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3883 "_POSIX_SOURCE"
3884
3885 #. type: Plain text
3886 #: build/C/man2/sigaction.2:73
3887 msgid ""
3888 "The B<sigaction>()  system call is used to change the action taken by a "
3889 "process on receipt of a specific signal.  (See B<signal>(7)  for an overview "
3890 "of signals.)"
3891 msgstr ""
3892 "B<sigaction>()  システムコールは、特定のシグナルを受信した際の プロセスの動作"
3893 "を変更するのに使用される (シグナルの概要については B<signal>(7)  を参照)。"
3894
3895 #. type: Plain text
3896 #: build/C/man2/sigaction.2:79
3897 msgid ""
3898 "I<signum> specifies the signal and can be any valid signal except B<SIGKILL> "
3899 "and B<SIGSTOP>."
3900 msgstr ""
3901 "I<signum> には、 B<SIGKILL> と B<SIGSTOP> 以外の有効なシグナルをどれでも指定"
3902 "できる。"
3903
3904 #. type: Plain text
3905 #: build/C/man2/sigaction.2:90
3906 msgid ""
3907 "If I<act> is non-NULL, the new action for signal I<signum> is installed from "
3908 "I<act>.  If I<oldact> is non-NULL, the previous action is saved in I<oldact>."
3909 msgstr ""
3910 "I<act> が NULL 以外であれば、シグナル I<signum> の新しい動作 (action) として "
3911 "I<act> が設定される。 I<oldact> が NULL でなければ、今までの動作が I<oldact> "
3912 "に格納される。"
3913
3914 #. type: Plain text
3915 #: build/C/man2/sigaction.2:94
3916 msgid "The I<sigaction> structure is defined as something like:"
3917 msgstr "I<sigaction> 構造体は以下のような感じに定義される。"
3918
3919 #. type: Plain text
3920 #: build/C/man2/sigaction.2:104
3921 #, no-wrap
3922 msgid ""
3923 "struct sigaction {\n"
3924 "    void     (*sa_handler)(int);\n"
3925 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3926 "    sigset_t   sa_mask;\n"
3927 "    int        sa_flags;\n"
3928 "    void     (*sa_restorer)(void);\n"
3929 "};\n"
3930 msgstr ""
3931 "struct sigaction {\n"
3932 "    void     (*sa_handler)(int);\n"
3933 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3934 "    sigset_t   sa_mask;\n"
3935 "    int        sa_flags;\n"
3936 "    void     (*sa_restorer)(void);\n"
3937 "};\n"
3938
3939 #. type: Plain text
3940 #: build/C/man2/sigaction.2:111
3941 msgid ""
3942 "On some architectures a union is involved: do not assign to both "
3943 "I<sa_handler> and I<sa_sigaction>."
3944 msgstr ""
3945 "アーキテクチャによっては共用体 (union) が用いられており、その場合には "
3946 "I<sa_handler> と I<sa_sigaction> の両方を同時に割り当てることはできない。"
3947
3948 #. type: Plain text
3949 #: build/C/man2/sigaction.2:118
3950 msgid ""
3951 "The I<sa_restorer> element is obsolete and should not be used.  POSIX does "
3952 "not specify a I<sa_restorer> element."
3953 msgstr ""
3954 "I<sa_restorer> 要素は廃止予定であり使用すべきではない。 POSIX には "
3955 "I<sa_restorer> 要素に関する規定はない。"
3956
3957 #. type: Plain text
3958 #: build/C/man2/sigaction.2:128
3959 msgid ""
3960 "I<sa_handler> specifies the action to be associated with I<signum> and may "
3961 "be B<SIG_DFL> for the default action, B<SIG_IGN> to ignore this signal, or a "
3962 "pointer to a signal handling function.  This function receives the signal "
3963 "number as its only argument."
3964 msgstr ""
3965 "I<sa_handler> は I<signum> に対応する動作を指定するもので、 デフォルトの動作"
3966 "を行う B<SIG_DFL>、 そのシグナルを無視する B<SIG_IGN>、 シグナルハンドラ関数"
3967 "へのポインタが設定できる。 シグナルハンドラ関数の引き数は一つであり、シグナル"
3968 "番号が引き数として 渡される。"
3969
3970 #. type: Plain text
3971 #: build/C/man2/sigaction.2:150
3972 #, fuzzy
3973 #| msgid ""
3974 #| "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> "
3975 #| "(instead of I<sa_handler>)  specifies the signal-handling function for "
3976 #| "I<signum>.  This function receives the signal number as its first "
3977 #| "argument, a pointer to a I<siginfo_t> as its second argument and a "
3978 #| "pointer to a I<ucontext_t> (cast to I<void\\ *>) as its third argument."
3979 msgid ""
3980 "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> (instead "
3981 "of I<sa_handler>)  specifies the signal-handling function for I<signum>.  "
3982 "This function receives the signal number as its first argument, a pointer to "
3983 "a I<siginfo_t> as its second argument and a pointer to a I<ucontext_t> (cast "
3984 "to I<void\\ *>) as its third argument.  (Commonly, the handler function "
3985 "doesn't make any use of the third argument.  See B<getcontext>(2)  for "
3986 "further information about I<ucontext_t>.)"
3987 msgstr ""
3988 "I<sa_flags> に B<SA_SIGINFO> が指定された場合、 (I<sa_handler> ではなく)  "
3989 "I<sa_sigaction> により I<signum> に対応するシグナルハンドル関数が指定され"
3990 "る。 指定される関数は、最初の引き数としてシグナル番号を、 二番目の引き数とし"
3991 "て I<siginfo_t> へのポインタを、三番目の引き数として (I<void\\ *> にキャスト"
3992 "した)  I<ucontext_t> へのポインタを受けとる。"
3993
3994 #. type: Plain text
3995 #: build/C/man2/sigaction.2:160
3996 msgid ""
3997 "I<sa_mask> specifies a mask of signals which should be blocked (i.e., added "
3998 "to the signal mask of the thread in which the signal handler is invoked)  "
3999 "during execution of the signal handler.  In addition, the signal which "
4000 "triggered the handler will be blocked, unless the B<SA_NODEFER> flag is used."
4001 msgstr ""
4002 "I<sa_mask> は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスク"
4003 "を指定する (ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動された"
4004 "スレッド のシグナルのマスクに追加することで行われる)。 さらに、 "
4005 "B<SA_NODEFER> フラグが指定されていない場合は、ハンドラを起動するきっかけとな"
4006 "る シグナルにも I<sa_mask> が適用される。"
4007
4008 #. type: Plain text
4009 #: build/C/man2/sigaction.2:164
4010 msgid ""
4011 "I<sa_flags> specifies a set of flags which modify the behavior of the "
4012 "signal.  It is formed by the bitwise OR of zero or more of the following:"
4013 msgstr ""
4014 "I<sa_flags> はシグナル・ハンドラの動作を変更するためのフラグの集合を指定す"
4015 "る。 I<sa_flags> には、以下に示すフラグの (0 個以上の) 論理和をとったものを指"
4016 "定する。"
4017
4018 #. type: TP
4019 #: build/C/man2/sigaction.2:165
4020 #, no-wrap
4021 msgid "B<SA_NOCLDSTOP>"
4022 msgstr "B<SA_NOCLDSTOP>"
4023
4024 #. type: Plain text
4025 #: build/C/man2/sigaction.2:182
4026 msgid ""
4027 "If I<signum> is B<SIGCHLD>, do not receive notification when child processes "
4028 "stop (i.e., when they receive one of B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN> or "
4029 "B<SIGTTOU>)  or resume (i.e., they receive B<SIGCONT>)  (see B<wait>(2)).  "
4030 "This flag is only meaningful when establishing a handler for B<SIGCHLD>."
4031 msgstr ""
4032 "I<signum> が B<SIGCHLD> の場合、 子プロセスが停止したり (子プロセスが "
4033 "B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN>, B<SIGTTOU> を受けたとき) 再開したり (子プ"
4034 "ロセスが B<SIGCONT> を受けたとき) したときに B<SIGCHLD> の通知を受けない。 こ"
4035 "のフラグは、 B<SIGCHLD> に対してハンドラを設定する際にのみ意味を持つ。"
4036
4037 #. type: TP
4038 #: build/C/man2/sigaction.2:182
4039 #, fuzzy, no-wrap
4040 #| msgid "B<SA_NOCLDWAIT> (Since Linux 2.6)"
4041 msgid "B<SA_NOCLDWAIT> (since Linux 2.6)"
4042 msgstr "B<SA_NOCLDWAIT> (Linux 2.6 以降)"
4043
4044 #.  To be precise: Linux 2.5.60 -- MTK
4045 #. type: Plain text
4046 #: build/C/man2/sigaction.2:196
4047 msgid ""
4048 "If I<signum> is B<SIGCHLD>, do not transform children into zombies when they "
4049 "terminate.  See also B<waitpid>(2).  This flag is only meaningful when "
4050 "establishing a handler for B<SIGCHLD>, or when setting that signal's "
4051 "disposition to B<SIG_DFL>."
4052 msgstr ""
4053 "(Linux 2.6 以降)  I<signum> が B<SIGCHLD> の場合、子プロセスが終了したときに "
4054 "子プロセスをゾンビプロセスに変化させない (B<waitpid>(2)  も参照)。 このフラグ"
4055 "は、 B<SIGCHLD> に対してハンドラを設定する際、もしくはそのシグナルの処理方法"
4056 "を B<SIG_DFL> に設定する際にのみ意味を持つ。"
4057
4058 #. type: Plain text
4059 #: build/C/man2/sigaction.2:208
4060 msgid ""
4061 "If the B<SA_NOCLDWAIT> flag is set when establishing a handler for "
4062 "B<SIGCHLD>, POSIX.1 leaves it unspecified whether a B<SIGCHLD> signal is "
4063 "generated when a child process terminates.  On Linux, a B<SIGCHLD> signal is "
4064 "generated in this case; on some other implementations, it is not."
4065 msgstr ""
4066 "B<SIGCHLD> に対してハンドラを設定する際に B<SA_NOCLDWAIT> フラグをセットした"
4067 "場合、 子プロセスが終了した際に B<SIGCHLD> シグナルが生成されるかどうかは、 "
4068 "POSIX.1 では規定されていない。 Linux では、この状況で B<SIGCHLD> シグナルは生"
4069 "成される。 いくつかの他の実装では生成されない。"
4070
4071 #. type: TP
4072 #: build/C/man2/sigaction.2:208
4073 #, no-wrap
4074 msgid "B<SA_NODEFER>"
4075 msgstr "B<SA_NODEFER>"
4076
4077 #. type: Plain text
4078 #: build/C/man2/sigaction.2:215
4079 msgid ""
4080 "Do not prevent the signal from being received from within its own signal "
4081 "handler.  This flag is only meaningful when establishing a signal handler.  "
4082 "B<SA_NOMASK> is an obsolete, nonstandard synonym for this flag."
4083 msgstr ""
4084 "それ自身のシグナル・ハンドラーの内部にいる時でも そのシグナルをマスクしないよ"
4085 "うにする。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。 "
4086 "B<SA_NOMASK> はこのフラグと同じ意味だが、廃止されており、非標準である。"
4087
4088 #. type: TP
4089 #: build/C/man2/sigaction.2:215
4090 #, no-wrap
4091 msgid "B<SA_ONSTACK>"
4092 msgstr "B<SA_ONSTACK>"
4093
4094 #. type: Plain text
4095 #: build/C/man2/sigaction.2:221
4096 msgid ""
4097 "Call the signal handler on an alternate signal stack provided by "
4098 "B<sigaltstack>(2).  If an alternate stack is not available, the default "
4099 "stack will be used.  This flag is only meaningful when establishing a signal "
4100 "handler."
4101 msgstr ""
4102 "B<sigaltstack>(2)  で提供される別のシグナル・スタックでシグナルハンドラを呼び"
4103 "出す。 別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが 使"
4104 "用される。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。"
4105
4106 #. type: TP
4107 #: build/C/man2/sigaction.2:221
4108 #, no-wrap
4109 msgid "B<SA_RESETHAND>"
4110 msgstr "B<SA_RESETHAND>"
4111
4112 #. type: Plain text
4113 #: build/C/man2/sigaction.2:228
4114 msgid ""
4115 "Restore the signal action to the default state once the signal handler has "
4116 "been called.  This flag is only meaningful when establishing a signal "
4117 "handler.  B<SA_ONESHOT> is an obsolete, nonstandard synonym for this flag."
4118 msgstr ""
4119 "シグナルハンドラが呼ばれる度に、シグナルの動作をデフォルトに戻す。 このフラグ"
4120 "はシグナルハンドラを設定する際にのみ意味を持つ。 B<SA_ONESHOT> はこのフラグと"
4121 "同じ意味だが、廃止されており、非標準である。"
4122
4123 #. type: TP
4124 #: build/C/man2/sigaction.2:228
4125 #, no-wrap
4126 msgid "B<SA_RESTART>"
4127 msgstr "B<SA_RESTART>"
4128
4129 #. type: Plain text
4130 #: build/C/man2/sigaction.2:236
4131 msgid ""
4132 "Provide behavior compatible with BSD signal semantics by making certain "
4133 "system calls restartable across signals.  This flag is only meaningful when "
4134 "establishing a signal handler.  See B<signal>(7)  for a discussion of system "
4135 "call restarting."
4136 msgstr ""
4137 "いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、 BSD シ"
4138 "グナル方式 (semantics) と互換性のある動作を提供する。 このフラグはシグナルハ"
4139 "ンドラを設定する際にのみ意味を持つ。 B<signal>(7)  に書かれているシステムコー"
4140 "ルの再開に関する議論を参照のこと。"
4141
4142 #. type: TP
4143 #: build/C/man2/sigaction.2:236
4144 #, no-wrap
4145 msgid "B<SA_SIGINFO> (since Linux 2.2)"
4146 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
4147
4148 #.  (The
4149 #.  .I sa_sigaction
4150 #.  field was added in Linux 2.1.86.)
4151 #. type: Plain text
4152 #: build/C/man2/sigaction.2:247
4153 msgid ""
4154 "The signal handler takes 3 arguments, not one.  In this case, "
4155 "I<sa_sigaction> should be set instead of I<sa_handler>.  This flag is only "
4156 "meaningful when establishing a signal handler."
4157 msgstr ""
4158 "シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は I<sa_handler> "
4159 "のかわりに I<sa_sigaction> を設定しなければならない このフラグはシグナルハン"
4160 "ドラを設定する際にのみ意味を持つ。"
4161
4162 #. type: Plain text
4163 #: build/C/man2/sigaction.2:254
4164 msgid ""
4165 "The I<siginfo_t> argument to I<sa_sigaction> is a struct with the following "
4166 "elements:"
4167 msgstr ""
4168 "I<sa_sigaction> のパラメータ I<siginfo_t> は以下の要素を持つ構造体である:"
4169
4170 #.  FIXME
4171 #.  si_trapno seems to be only used on SPARC and Alpha;
4172 #.  this page could use a little more detail on its purpose there.
4173 #.  In the kernel: si_tid
4174 #. type: Plain text
4175 #: build/C/man2/sigaction.2:285
4176 #, fuzzy, no-wrap
4177 #| msgid ""
4178 #| "siginfo_t {\n"
4179 #| "    int      si_signo;    /* Signal number */\n"
4180 #| "    int      si_errno;    /* An errno value */\n"
4181 #| "    int      si_code;     /* Signal code */\n"
4182 #| "    int      si_trapno;   /* Trap number that caused\n"
4183 #| "                             hardware-generated signal\n"
4184 #| "                             (unused on most architectures) */\n"
4185 #| "    pid_t    si_pid;      /* Sending process ID */\n"
4186 #| "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4187 #| "    int      si_status;   /* Exit value or signal */\n"
4188 #| "    clock_t  si_utime;    /* User time consumed */\n"
4189 #| "    clock_t  si_stime;    /* System time consumed */\n"
4190 #| "    sigval_t si_value;    /* Signal value */\n"
4191 #| "    int      si_int;      /* POSIX.1b signal */\n"
4192 #| "    void    *si_ptr;      /* POSIX.1b signal */\n"
4193 #| "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4194 #| "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4195 #| "    void    *si_addr;     /* Memory location which caused fault */\n"
4196 #| "    int      si_band;     /* Band event */\n"
4197 #| "    int      si_fd;       /* File descriptor */\n"
4198 #| "}\n"
4199 msgid ""
4200 "siginfo_t {\n"
4201 "    int      si_signo;    /* Signal number */\n"
4202 "    int      si_errno;    /* An errno value */\n"
4203 "    int      si_code;     /* Signal code */\n"
4204 "    int      si_trapno;   /* Trap number that caused\n"
4205 "                             hardware-generated signal\n"
4206 "                             (unused on most architectures) */\n"
4207 "    pid_t    si_pid;      /* Sending process ID */\n"
4208 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4209 "    int      si_status;   /* Exit value or signal */\n"
4210 "    clock_t  si_utime;    /* User time consumed */\n"
4211 "    clock_t  si_stime;    /* System time consumed */\n"
4212 "    sigval_t si_value;    /* Signal value */\n"
4213 "    int      si_int;      /* POSIX.1b signal */\n"
4214 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4215 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4216 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4217 "    void    *si_addr;     /* Memory location which caused fault */\n"
4218 "    long     si_band;     /* Band event (was I<int> in\n"
4219 "                             glibc 2.3.2 and earlier) */\n"
4220 "    int      si_fd;       /* File descriptor */\n"
4221 "    short    si_addr_lsb; /* Least significant bit of address\n"
4222 "                             (since kernel 2.6.32) */\n"
4223 "}\n"
4224 msgstr ""
4225 "siginfo_t {\n"
4226 "    int      si_signo;    /* Signal number */\n"
4227 "    int      si_errno;    /* An errno value */\n"
4228 "    int      si_code;     /* Signal code */\n"
4229 "    int      si_trapno;   /* Trap number that caused\n"
4230 "                             hardware-generated signal\n"
4231 "                             (unused on most architectures) */\n"
4232 "    pid_t    si_pid;      /* Sending process ID */\n"
4233 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4234 "    int      si_status;   /* Exit value or signal */\n"
4235 "    clock_t  si_utime;    /* User time consumed */\n"
4236 "    clock_t  si_stime;    /* System time consumed */\n"
4237 "    sigval_t si_value;    /* Signal value */\n"
4238 "    int      si_int;      /* POSIX.1b signal */\n"
4239 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4240 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4241 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4242 "    void    *si_addr;     /* Memory location which caused fault */\n"
4243 "    int      si_band;     /* Band event */\n"
4244 "    int      si_fd;       /* File descriptor */\n"
4245 "}\n"
4246
4247 #. type: Plain text
4248 #: build/C/man2/sigaction.2:294
4249 msgid ""
4250 "I<si_signo>, I<si_errno> and I<si_code> are defined for all signals.  "
4251 "(I<si_errno> is generally unused on Linux.)  The rest of the struct may be a "
4252 "union, so that one should only read the fields that are meaningful for the "
4253 "given signal:"
4254 msgstr ""
4255 "I<si_signo>, I<si_errno>, I<si_code> は全てのシグナルに対して定義されている "
4256 "(I<si_errno> は Linux では一般的には使用されない)。 構造体の残りの部分は、共"
4257 "用体 (union) になっているかもしれない。 その場合は該当するシグナルにおいて意"
4258 "味のあるフィールドのみを読み込む ことができる。"
4259
4260 #. type: Plain text
4261 #: build/C/man2/sigaction.2:309
4262 msgid ""
4263 "Signals sent with B<kill>(2)  and B<sigqueue>(3)  fill in I<si_pid> and "
4264 "I<si_uid>.  In addition, signals sent with B<sigqueue>(3)  fill in I<si_int> "
4265 "and I<si_ptr> with the values specified by the sender of the signal; see "
4266 "B<sigqueue>(3)  for more details."
4267 msgstr ""
4268
4269 #. type: Plain text
4270 #: build/C/man2/sigaction.2:325
4271 #, fuzzy
4272 #| msgid ""
4273 #| "POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4274 #| "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the "
4275 #| "kernel to identify the timer; it is not the same as the timer ID returned "
4276 #| "by B<timer_create>(2)."
4277 msgid ""
4278 "Signals sent by POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4279 "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the kernel "
4280 "to identify the timer; it is not the same as the timer ID returned by "
4281 "B<timer_create>(2).  The I<si_overrun> field is the timer overrun count; "
4282 "this is the same information as is obtained by a call to B<timer_getoverrun>"
4283 "(2).  These fields are nonstandard Linux extensions."
4284 msgstr ""
4285 "POSIX.1b タイマ (Linux 2.6 以降) は I<si_overrun> と I<si_timerid> を設定す"
4286 "る。 I<si_timerid> フィールドはカーネルがタイマを特定するのに使用する内部 ID "
4287 "であり、 B<timer_create>(2)  が返すタイマ ID と同じではない。"
4288
4289 #. type: Plain text
4290 #: build/C/man2/sigaction.2:340
4291 msgid ""
4292 "Signals sent for message queue notification (see the description of "
4293 "B<SIGEV_SIGNAL> in B<mq_notify>(3))  fill in I<si_int>/I<si_ptr>, with the "
4294 "I<sigev_value> supplied to B<mq_notify>(3); I<si_pid>, with the process ID "
4295 "of the message sender; and I<si_uid>, with the real user ID of the message "
4296 "sender."
4297 msgstr ""
4298
4299 #.  FIXME .
4300 #.  When si_utime and si_stime where originally implemented, the
4301 #.  measurement unit was HZ, which was the same as clock ticks
4302 #.  (sysconf(_SC_CLK_TCK)).  In 2.6, HZ became configurable, and
4303 #.  was *still* used as the unit to return the info these fields,
4304 #.  with the result that the field values depended on the the
4305 #.  configured HZ.  Of course, the should have been measured in
4306 #.  USER_HZ instead, so that sysconf(_SC_CLK_TCK) could be used to
4307 #.  convert to seconds.  I have a queued patch to fix this:
4308 #.  http://thread.gmane.org/gmane.linux.kernel/698061/ .
4309 #.  This patch made it into 2.6.27.
4310 #.  But note that these fields still don't return the times of
4311 #.  waited-for children (as is done by getrusage() and times()
4312 #.  and wait4()).  Solaris 8 does include child times.
4313 #. type: Plain text
4314 #: build/C/man2/sigaction.2:387
4315 #, fuzzy
4316 #| msgid ""
4317 #| "B<SIGCHLD> fills in I<si_status>, I<si_utime> and I<si_stime>.  The "
4318 #| "I<si_utime> and I<si_stime> fields do not include the times used by "
4319 #| "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels "
4320 #| "up to 2.6, and since 2.6.27, these fields report CPU time in units of "
4321 #| "I<sysconf(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that "
4322 #| "these fields reported time in units of the (configurable) system jiffy "
4323 #| "(see B<time>(7))."
4324 msgid ""
4325 "B<SIGCHLD> fills in I<si_pid>, I<si_uid>, I<si_status>, I<si_utime> and "
4326 "I<si_stime>, providing information about the child.  The I<si_pid> field is "
4327 "the process ID of the child; I<si_uid> is the child's real user ID.  The "
4328 "I<si_status> field contains the exit status of the child (if I<si_code> is "
4329 "B<CLD_EXITED>), or the signal number that caused the process to change "
4330 "state.  The I<si_utime> and I<si_stime> contain the user and system CPU time "
4331 "used by the child process; these fields do not include the times used by "
4332 "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels up "
4333 "to 2.6, and since 2.6.27, these fields report CPU time in units of I<sysconf"
4334 "(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that these fields "
4335 "reported time in units of the (configurable) system jiffy (see B<time>(7))."
4336 msgstr ""
4337 "B<SIGCHLD> は I<si_status>, I<si_utime>, I<si_stime> を設定する。 "
4338 "(B<getrusage>(2)  や B<time>(2)  と異なり) フィールド I<si_utime> と "
4339 "I<si_stime> には wait 待ちの子プロセスにより使用された時間は含まれない。 2.6 "
4340 "より前と 2.6.27 以降のカーネルでは、 これらのフィールドに格納される CPU 時間"
4341 "の単位は I<sysconf(_SC_CLK_TCK)> である。 2.6.27 より前の 2.6 系のカーネルで"
4342 "は、バグがあり、 これらのフィールドの CPU 時間の単位が (カーネルのコンフィグ"
4343 "で指定される) システムの jiffy であった (B<time>(7)  参照)。"
4344
4345 #.  FIXME SIGTRAP also sets the following for ptrace_notify() ?
4346 #.      info.si_code = exit_code;
4347 #.      info.si_pid = task_pid_vnr(current);
4348 #.      info.si_uid = current_uid();  /* Real UID */
4349 #. type: Plain text
4350 #: build/C/man2/sigaction.2:423
4351 msgid ""
4352 "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS>, and B<SIGTRAP> fill in "
4353 "I<si_addr> with the address of the fault.  On some architectures, these "
4354 "signals also fill in the I<si_trapno> filed.  Some suberrors of B<SIGBUS>, "
4355 "in particular B<BUS_MCEERR_AO> and B<BUS_MCEERR_AR>, also fill in "
4356 "I<si_addr_lsb>.  This field indicates the least significant bit of the "
4357 "reported address and therefore the extent of the corruption.  For example, "
4358 "if a full page was corrupted, I<si_addr_lsb> contains I<log2(sysconf"
4359 "(_SC_PAGESIZE))>.  B<BUS_MCERR_*> and I<si_addr_lsb> are Linux-specific "
4360 "extensions."
4361 msgstr ""
4362
4363 #. type: Plain text
4364 #: build/C/man2/sigaction.2:437
4365 msgid ""
4366 "B<SIGIO>/B<SIGPOLL> (the two names are synonyms on Linux)  fills in "
4367 "I<si_band> and I<si_fd>.  The I<si_band> event is a bit mask containing the "
4368 "same values as are filled in the I<revents> field by B<poll>(2).  The "
4369 "I<si_fd> field indicates the file descriptor for which the I/O event "
4370 "occurred."
4371 msgstr ""
4372
4373 #. type: Plain text
4374 #: build/C/man2/sigaction.2:444
4375 msgid ""
4376 "I<si_code> is a value (not a bit mask)  indicating why this signal was "
4377 "sent.  The following list shows the values which can be placed in I<si_code> "
4378 "for any signal, along with reason that the signal was generated."
4379 msgstr ""
4380 "I<si_code> は、そのシグナルが送信された理由を示す値である (ビットマスクではな"
4381 "い)。 以下のリストに、どのシグナルの場合でも I<si_code> に入りうる値を、シグ"
4382 "ナルが生成された理由とともに記載する。"
4383
4384 #. type: TP
4385 #: build/C/man2/sigaction.2:445
4386 #, no-wrap
4387 msgid "B<SI_USER>"
4388 msgstr "B<SI_USER>"
4389
4390 #. type: Plain text
4391 #: build/C/man2/sigaction.2:450
4392 msgid "B<kill>(2)  or B<raise>(3)"
4393 msgstr "B<kill>(2)  または B<raise>(3)"
4394
4395 #. type: TP
4396 #: build/C/man2/sigaction.2:450
4397 #, no-wrap
4398 msgid "B<SI_KERNEL>"
4399 msgstr "B<SI_KERNEL>"
4400
4401 #. type: Plain text
4402 #: build/C/man2/sigaction.2:453
4403 msgid "Sent by the kernel."
4404 msgstr "カーネルにより送信された"
4405
4406 #. type: TP
4407 #: build/C/man2/sigaction.2:453
4408 #, no-wrap
4409 msgid "B<SI_QUEUE>"
4410 msgstr "B<SI_QUEUE>"
4411
4412 #. type: TP
4413 #: build/C/man2/sigaction.2:456 build/C/man7/signal.7:126
4414 #, no-wrap
4415 msgid "B<sigqueue>(3)"
4416 msgstr "B<sigqueue>(3)"
4417
4418 #. type: TP
4419 #: build/C/man2/sigaction.2:456
4420 #, no-wrap
4421 msgid "B<SI_TIMER>"
4422 msgstr "B<SI_TIMER>"
4423
4424 #. type: Plain text
4425 #: build/C/man2/sigaction.2:459
4426 msgid "POSIX timer expired"
4427 msgstr "POSIX タイマが満了した"
4428
4429 #. type: TP
4430 #: build/C/man2/sigaction.2:459
4431 #, no-wrap
4432 msgid "B<SI_MESGQ>"
4433 msgstr "B<SI_MESGQ>"
4434
4435 #. type: Plain text
4436 #: build/C/man2/sigaction.2:463
4437 msgid ""
4438 "POSIX message queue state changed (since Linux 2.6.6); see B<mq_notify>(3)"
4439 msgstr ""
4440 "POSIX メッセージキューの状態が変化した (Linux 2.6.6 以降)。 B<mq_notify>(3)B<"
4441 "参照。>"
4442
4443 #. type: TP
4444 #: build/C/man2/sigaction.2:463
4445 #, no-wrap
4446 msgid "B<SI_ASYNCIO>"
4447 msgstr "B<SI_ASYNCIO>"
4448
4449 #. type: Plain text
4450 #: build/C/man2/sigaction.2:466
4451 msgid "AIO completed"
4452 msgstr "非同期 IO (AIO) が完了した"
4453
4454 #. type: TP
4455 #: build/C/man2/sigaction.2:466
4456 #, no-wrap
4457 msgid "B<SI_SIGIO>"
4458 msgstr "B<SI_SIGIO>"
4459
4460 #. type: Plain text
4461 #: build/C/man2/sigaction.2:475
4462 msgid ""
4463 "Queued B<SIGIO> (only in kernels up to Linux 2.2; from Linux 2.4 onward "
4464 "B<SIGIO>/B<SIGPOLL> fills in I<si_code> as described below)."
4465 msgstr ""
4466
4467 #. type: TP
4468 #: build/C/man2/sigaction.2:475
4469 #, no-wrap
4470 msgid "B<SI_TKILL>"
4471 msgstr "B<SI_TKILL>"
4472
4473 #.  SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
4474 #.  It appears to have been an idea that was tried during 2.5.6
4475 #.  through to 2.5.24 and then was backed out.
4476 #. type: Plain text
4477 #: build/C/man2/sigaction.2:484
4478 msgid "B<tkill>(2)  or B<tgkill>(2)  (since Linux 2.4.19)"
4479 msgstr "B<tkill>(2)  または B<tgkill>(2)  (Linux 2.4.19 以降)"
4480
4481 #. type: Plain text
4482 #: build/C/man2/sigaction.2:491
4483 msgid ""
4484 "The following values can be placed in I<si_code> for a B<SIGILL> signal:"
4485 msgstr "B<SIGILL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4486
4487 #. type: TP
4488 #: build/C/man2/sigaction.2:492
4489 #, no-wrap
4490 msgid "B<ILL_ILLOPC>"
4491 msgstr "B<ILL_ILLOPC>"
4492
4493 #. type: Plain text
4494 #: build/C/man2/sigaction.2:495
4495 msgid "illegal opcode"
4496 msgstr "不正な命令コード (opcode)"
4497
4498 #. type: TP
4499 #: build/C/man2/sigaction.2:495
4500 #, no-wrap
4501 msgid "B<ILL_ILLOPN>"
4502 msgstr "B<ILL_ILLOPN>"
4503
4504 #. type: Plain text
4505 #: build/C/man2/sigaction.2:498
4506 msgid "illegal operand"
4507 msgstr "不正なオペランド"
4508
4509 #. type: TP
4510 #: build/C/man2/sigaction.2:498
4511 #, no-wrap
4512 msgid "B<ILL_ILLADR>"
4513 msgstr "B<ILL_ILLADR>"
4514
4515 #. type: Plain text
4516 #: build/C/man2/sigaction.2:501
4517 msgid "illegal addressing mode"
4518 msgstr "不正なアドレッシングモード"
4519
4520 #. type: TP
4521 #: build/C/man2/sigaction.2:501
4522 #, no-wrap
4523 msgid "B<ILL_ILLTRP>"
4524 msgstr "B<ILL_ILLTRP>"
4525
4526 #. type: Plain text
4527 #: build/C/man2/sigaction.2:504
4528 msgid "illegal trap"
4529 msgstr "不正なトラップ"
4530
4531 #. type: TP
4532 #: build/C/man2/sigaction.2:504
4533 #, no-wrap
4534 msgid "B<ILL_PRVOPC>"
4535 msgstr "B<ILL_PRVOPC>"
4536
4537 #. type: Plain text
4538 #: build/C/man2/sigaction.2:507
4539 msgid "privileged opcode"
4540 msgstr "特権が必要な命令コード (opcode)"
4541
4542 #. type: TP
4543 #: build/C/man2/sigaction.2:507
4544 #, no-wrap
4545 msgid "B<ILL_PRVREG>"
4546 msgstr "B<ILL_PRVREG>"
4547
4548 #. type: Plain text
4549 #: build/C/man2/sigaction.2:510
4550 msgid "privileged register"
4551 msgstr "特権が必要なレジスタ"
4552
4553 #. type: TP
4554 #: build/C/man2/sigaction.2:510
4555 #, no-wrap
4556 msgid "B<ILL_COPROC>"
4557 msgstr "B<ILL_COPROC>"
4558
4559 #. type: Plain text
4560 #: build/C/man2/sigaction.2:513
4561 msgid "coprocessor error"
4562 msgstr "コプロセッサのエラー"
4563
4564 #. type: TP
4565 #: build/C/man2/sigaction.2:513
4566 #, no-wrap
4567 msgid "B<ILL_BADSTK>"
4568 msgstr "B<ILL_BADSTK>"
4569
4570 #. type: Plain text
4571 #: build/C/man2/sigaction.2:516
4572 msgid "internal stack error"
4573 msgstr "内部スタックエラー"
4574
4575 #. type: Plain text
4576 #: build/C/man2/sigaction.2:523
4577 msgid ""
4578 "The following values can be placed in I<si_code> for a B<SIGFPE> signal:"
4579 msgstr "B<SIGFPE> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4580
4581 #. type: TP
4582 #: build/C/man2/sigaction.2:524
4583 #, no-wrap
4584 msgid "B<FPE_INTDIV>"
4585 msgstr "B<FPE_INTDIV>"
4586
4587 #. type: Plain text
4588 #: build/C/man2/sigaction.2:527
4589 msgid "integer divide by zero"
4590 msgstr "整数の 0 による除算"
4591
4592 #. type: TP
4593 #: build/C/man2/sigaction.2:527
4594 #, no-wrap
4595 msgid "B<FPE_INTOVF>"
4596 msgstr "B<FPE_INTOVF>"
4597
4598 #. type: Plain text
4599 #: build/C/man2/sigaction.2:530
4600 msgid "integer overflow"
4601 msgstr "整数のオーバーフロー"
4602
4603 #. type: TP
4604 #: build/C/man2/sigaction.2:530
4605 #, no-wrap
4606 msgid "B<FPE_FLTDIV>"
4607 msgstr "B<FPE_FLTDIV>"
4608
4609 #. type: Plain text
4610 #: build/C/man2/sigaction.2:533
4611 msgid "floating-point divide by zero"
4612 msgstr "浮動小数点の 0 による除算"
4613
4614 #. type: TP
4615 #: build/C/man2/sigaction.2:533
4616 #, no-wrap
4617 msgid "B<FPE_FLTOVF>"
4618 msgstr "B<FPE_FLTOVF>"
4619
4620 #. type: Plain text
4621 #: build/C/man2/sigaction.2:536
4622 msgid "floating-point overflow"
4623 msgstr "浮動小数点のオーバーフロー"
4624
4625 #. type: TP
4626 #: build/C/man2/sigaction.2:536
4627 #, no-wrap
4628 msgid "B<FPE_FLTUND>"
4629 msgstr "B<FPE_FLTUND>"
4630
4631 #. type: Plain text
4632 #: build/C/man2/sigaction.2:539
4633 msgid "floating-point underflow"
4634 msgstr "浮動小数点のアンダーフロー"
4635
4636 #. type: TP
4637 #: build/C/man2/sigaction.2:539
4638 #, no-wrap
4639 msgid "B<FPE_FLTRES>"
4640 msgstr "B<FPE_FLTRES>"
4641
4642 #. type: Plain text
4643 #: build/C/man2/sigaction.2:542
4644 msgid "floating-point inexact result"
4645 msgstr "浮動小数点の不正確な演算結果 (inexact result)"
4646
4647 #. type: TP
4648 #: build/C/man2/sigaction.2:542
4649 #, no-wrap
4650 msgid "B<FPE_FLTINV>"
4651 msgstr "B<FPE_FLTINV>"
4652
4653 #. type: Plain text
4654 #: build/C/man2/sigaction.2:545
4655 msgid "floating-point invalid operation"
4656 msgstr "浮動小数点の不正な操作"
4657
4658 #. type: TP
4659 #: build/C/man2/sigaction.2:545
4660 #, no-wrap
4661 msgid "B<FPE_FLTSUB>"
4662 msgstr "B<FPE_FLTSUB>"
4663
4664 #. type: Plain text
4665 #: build/C/man2/sigaction.2:548
4666 msgid "subscript out of range"
4667 msgstr "範囲外の添字 (subscript)"
4668
4669 #. type: Plain text
4670 #: build/C/man2/sigaction.2:555
4671 msgid ""
4672 "The following values can be placed in I<si_code> for a B<SIGSEGV> signal:"
4673 msgstr "B<SIGSEGV> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4674
4675 #. type: TP
4676 #: build/C/man2/sigaction.2:556
4677 #, no-wrap
4678 msgid "B<SEGV_MAPERR>"
4679 msgstr "B<SEGV_MAPERR>"
4680
4681 #. type: Plain text
4682 #: build/C/man2/sigaction.2:559
4683 msgid "address not mapped to object"
4684 msgstr "オブジェクトにマッピングされていないアドレス"
4685
4686 #. type: TP
4687 #: build/C/man2/sigaction.2:559
4688 #, no-wrap
4689 msgid "B<SEGV_ACCERR>"
4690 msgstr "B<SEGV_ACCERR>"
4691
4692 #. type: Plain text
4693 #: build/C/man2/sigaction.2:562
4694 msgid "invalid permissions for mapped object"
4695 msgstr "マッピングされたオブジェクトに対するアクセス許可がない"
4696
4697 #. type: Plain text
4698 #: build/C/man2/sigaction.2:569
4699 msgid ""
4700 "The following values can be placed in I<si_code> for a B<SIGBUS> signal:"
4701 msgstr "B<SIGBUS> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4702
4703 #. type: TP
4704 #: build/C/man2/sigaction.2:570
4705 #, no-wrap
4706 msgid "B<BUS_ADRALN>"
4707 msgstr "B<BUS_ADRALN>"
4708
4709 #. type: Plain text
4710 #: build/C/man2/sigaction.2:573
4711 msgid "invalid address alignment"
4712 msgstr "不正なアドレス・アライメント (alignment)"
4713
4714 #. type: TP
4715 #: build/C/man2/sigaction.2:573
4716 #, no-wrap
4717 msgid "B<BUS_ADRERR>"
4718 msgstr "B<BUS_ADRERR>"
4719
4720 #. type: Plain text
4721 #: build/C/man2/sigaction.2:576
4722 msgid "nonexistent physical address"
4723 msgstr "存在しない物理アドレス"
4724
4725 #. type: TP
4726 #: build/C/man2/sigaction.2:576
4727 #, no-wrap
4728 msgid "B<BUS_OBJERR>"
4729 msgstr "B<BUS_OBJERR>"
4730
4731 #. type: Plain text
4732 #: build/C/man2/sigaction.2:579
4733 msgid "object-specific hardware error"
4734 msgstr "オブジェクト固有のハードウェアエラー"
4735
4736 #. type: TP
4737 #: build/C/man2/sigaction.2:579
4738 #, fuzzy, no-wrap
4739 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4740 msgid "B<BUS_MCEERR_AR> (since Linux 2.6.32)"
4741 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4742
4743 #. type: Plain text
4744 #: build/C/man2/sigaction.2:582
4745 msgid "Hardware memory error consumed on a machine check; action required."
4746 msgstr ""
4747
4748 #. type: TP
4749 #: build/C/man2/sigaction.2:582
4750 #, fuzzy, no-wrap
4751 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4752 msgid "B<BUS_MCEERR_AO> (since Linux 2.6.32)"
4753 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4754
4755 #. type: Plain text
4756 #: build/C/man2/sigaction.2:585
4757 msgid ""
4758 "Hardware memory error detected in process but not consumed; action optional."
4759 msgstr ""
4760
4761 #. type: Plain text
4762 #: build/C/man2/sigaction.2:592
4763 msgid ""
4764 "The following values can be placed in I<si_code> for a B<SIGTRAP> signal:"
4765 msgstr "B<SIGTRAP> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4766
4767 #. type: TP
4768 #: build/C/man2/sigaction.2:593
4769 #, no-wrap
4770 msgid "B<TRAP_BRKPT>"
4771 msgstr "B<TRAP_BRKPT>"
4772
4773 #. type: Plain text
4774 #: build/C/man2/sigaction.2:596
4775 msgid "process breakpoint"
4776 msgstr "プロセスのブレークポイント"
4777
4778 #. type: TP
4779 #: build/C/man2/sigaction.2:596
4780 #, no-wrap
4781 msgid "B<TRAP_TRACE>"
4782 msgstr "B<TRAP_TRACE>"
4783
4784 #. type: Plain text
4785 #: build/C/man2/sigaction.2:599
4786 msgid "process trace trap"
4787 msgstr "プロセスのトレース・トラップ"
4788
4789 #. type: TP
4790 #: build/C/man2/sigaction.2:599
4791 #, fuzzy, no-wrap
4792 #| msgid "B<__WALL> (since Linux 2.4)"
4793 msgid "B<TRAP_BRANCH> (since Linux 2.4)"
4794 msgstr "B<__WALL> (Linux 2.4 以降)"
4795
4796 #. type: Plain text
4797 #: build/C/man2/sigaction.2:602
4798 #, fuzzy
4799 #| msgid "process trace trap"
4800 msgid "process taken branch trap"
4801 msgstr "プロセスのトレース・トラップ"
4802
4803 #. type: TP
4804 #: build/C/man2/sigaction.2:602
4805 #, fuzzy, no-wrap
4806 #| msgid "B<__WALL> (since Linux 2.4)"
4807 msgid "B<TRAP_HWBKPT> (since Linux 2.4)"
4808 msgstr "B<__WALL> (Linux 2.4 以降)"
4809
4810 #. type: Plain text
4811 #: build/C/man2/sigaction.2:605
4812 msgid "hardware breakpoint/watchpoint"
4813 msgstr ""
4814
4815 #. type: Plain text
4816 #: build/C/man2/sigaction.2:612
4817 msgid ""
4818 "The following values can be placed in I<si_code> for a B<SIGCHLD> signal:"
4819 msgstr "B<SIGCHLD> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4820
4821 #. type: TP
4822 #: build/C/man2/sigaction.2:613
4823 #, no-wrap
4824 msgid "B<CLD_EXITED>"
4825 msgstr "B<CLD_EXITED>"
4826
4827 #. type: Plain text
4828 #: build/C/man2/sigaction.2:616
4829 msgid "child has exited"
4830 msgstr "子プロセスが終了した (exited)"
4831
4832 #. type: TP
4833 #: build/C/man2/sigaction.2:616
4834 #, no-wrap
4835 msgid "B<CLD_KILLED>"
4836 msgstr "B<CLD_KILLED>"
4837
4838 #. type: Plain text
4839 #: build/C/man2/sigaction.2:619
4840 msgid "child was killed"
4841 msgstr "子プロセスが kill された"
4842
4843 #. type: TP
4844 #: build/C/man2/sigaction.2:619
4845 #, no-wrap
4846 msgid "B<CLD_DUMPED>"
4847 msgstr "B<CLD_DUMPED>"
4848
4849 #. type: Plain text
4850 #: build/C/man2/sigaction.2:622
4851 msgid "child terminated abnormally"
4852 msgstr "子プロセスが異常終了した"
4853
4854 #. type: TP
4855 #: build/C/man2/sigaction.2:622
4856 #, no-wrap
4857 msgid "B<CLD_TRAPPED>"
4858 msgstr "B<CLD_TRAPPED>"
4859
4860 #. type: Plain text
4861 #: build/C/man2/sigaction.2:625
4862 msgid "traced child has trapped"
4863 msgstr "トレース対象の子プロセスがトラップを上げた"
4864
4865 #. type: TP
4866 #: build/C/man2/sigaction.2:625
4867 #, no-wrap
4868 msgid "B<CLD_STOPPED>"
4869 msgstr "B<CLD_STOPPED>"
4870
4871 #. type: Plain text
4872 #: build/C/man2/sigaction.2:628
4873 msgid "child has stopped"
4874 msgstr "子プロセスが停止 (stop) した"
4875
4876 #. type: TP
4877 #: build/C/man2/sigaction.2:628
4878 #, no-wrap
4879 msgid "B<CLD_CONTINUED>"
4880 msgstr "B<CLD_CONTINUED>"
4881
4882 #. type: Plain text
4883 #: build/C/man2/sigaction.2:631
4884 msgid "stopped child has continued (since Linux 2.6.9)"
4885 msgstr "停止していた子プロセスが再開した (Linux 2.6.9 以降)"
4886
4887 #. type: Plain text
4888 #: build/C/man2/sigaction.2:638
4889 #, fuzzy
4890 #| msgid ""
4891 #| "The following values can be placed in I<si_code> for a B<SIGPOLL> signal:"
4892 msgid ""
4893 "The following values can be placed in I<si_code> for a B<SIGIO>/B<SIGPOLL> "
4894 "signal:"
4895 msgstr "B<SIGPOLL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4896
4897 #. type: TP
4898 #: build/C/man2/sigaction.2:639
4899 #, no-wrap
4900 msgid "B<POLL_IN>"
4901 msgstr "B<POLL_IN>"
4902
4903 #. type: Plain text
4904 #: build/C/man2/sigaction.2:642
4905 msgid "data input available"
4906 msgstr "入力データが利用可能"
4907
4908 #. type: TP
4909 #: build/C/man2/sigaction.2:642
4910 #, no-wrap
4911 msgid "B<POLL_OUT>"
4912 msgstr "B<POLL_OUT>"
4913
4914 #. type: Plain text
4915 #: build/C/man2/sigaction.2:645
4916 msgid "output buffers available"
4917 msgstr "出力バッファが利用可能"
4918
4919 #. type: TP
4920 #: build/C/man2/sigaction.2:645
4921 #, no-wrap
4922 msgid "B<POLL_MSG>"
4923 msgstr "B<POLL_MSG>"
4924
4925 #. type: Plain text
4926 #: build/C/man2/sigaction.2:648
4927 msgid "input message available"
4928 msgstr "入力メッセージが利用可能"
4929
4930 #. type: TP
4931 #: build/C/man2/sigaction.2:648
4932 #, no-wrap
4933 msgid "B<POLL_ERR>"
4934 msgstr "B<POLL_ERR>"
4935
4936 #. type: Plain text
4937 #: build/C/man2/sigaction.2:651
4938 #, fuzzy
4939 #| msgid "i/o error"
4940 msgid "I/O error"
4941 msgstr "I/O エラー"
4942
4943 #. type: TP
4944 #: build/C/man2/sigaction.2:651
4945 #, no-wrap
4946 msgid "B<POLL_PRI>"
4947 msgstr "B<POLL_PRI>"
4948
4949 #. type: Plain text
4950 #: build/C/man2/sigaction.2:654
4951 msgid "high priority input available"
4952 msgstr "高優先の入力が利用可能"
4953
4954 #. type: TP
4955 #: build/C/man2/sigaction.2:654
4956 #, no-wrap
4957 msgid "B<POLL_HUP>"
4958 msgstr "B<POLL_HUP>"
4959
4960 #. type: Plain text
4961 #: build/C/man2/sigaction.2:657
4962 msgid "device disconnected"
4963 msgstr "デバイスが接続されていない"
4964
4965 #. type: Plain text
4966 #: build/C/man2/sigaction.2:661
4967 msgid "B<sigaction>()  returns 0 on success and -1 on error."
4968 msgstr "B<sigaction>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
4969
4970 #. type: Plain text
4971 #: build/C/man2/sigaction.2:666
4972 msgid ""
4973 "I<act> or I<oldact> points to memory which is not a valid part of the "
4974 "process address space."
4975 msgstr ""
4976 "I<act> か I<oldact> が指しているメモリが正しいプロセスのアドレス空間にない。"
4977
4978 #. type: Plain text
4979 #: build/C/man2/sigaction.2:673
4980 msgid ""
4981 "An invalid signal was specified.  This will also be generated if an attempt "
4982 "is made to change the action for B<SIGKILL> or B<SIGSTOP>, which cannot be "
4983 "caught or ignored."
4984 msgstr ""
4985 "無効なシグナルが指定された。補足 (catch) したり無視したりできない シグナルで"
4986 "ある B<SIGKILL> や B<SIGSTOP> に対する動作を変更しようとした場合にも発生す"
4987 "る。"
4988
4989 #.  SVr4 does not document the EINTR condition.
4990 #. type: Plain text
4991 #: build/C/man2/sigaction.2:676
4992 msgid "POSIX.1-2001, SVr4."
4993 msgstr "POSIX.1-2001, SVr4."
4994
4995 #. type: Plain text
4996 #: build/C/man2/sigaction.2:684 build/C/man7/signal.7:103
4997 msgid ""
4998 "A child created via B<fork>(2)  inherits a copy of its parent's signal "
4999 "dispositions.  During an B<execve>(2), the dispositions of handled signals "
5000 "are reset to the default; the dispositions of ignored signals are left "
5001 "unchanged."
5002 msgstr ""
5003 "B<fork>(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コ"
5004 "ピーを継承する。\n"
5005 "B<execve>(2) の前後で、ハンドラが設定されているシグナルの処理方法はデフォルト"
5006 "にリセットされ、\n"
5007 "無視が設定されているシグナルの処理方法は変更されずそのままとなる。"
5008
5009 #. type: Plain text
5010 #: build/C/man2/sigaction.2:702 build/C/man2/signal.2:129
5011 msgid ""
5012 "According to POSIX, the behavior of a process is undefined after it ignores "
5013 "a B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> signal that was not generated by "
5014 "B<kill>(2)  or B<raise>(3).  Integer division by zero has undefined result.  "
5015 "On some architectures it will generate a B<SIGFPE> signal.  (Also dividing "
5016 "the most negative integer by -1 may generate B<SIGFPE>.)  Ignoring this "
5017 "signal might lead to an endless loop."
5018 msgstr ""
5019 "POSIX では、 B<kill>(2)  や B<raise>(3)  で生成できないシグナル B<SIGFPE>, "
5020 "B<SIGILL>, B<SIGSEGV> を無視 (ignore) した場合、その後の動作は未定義である。 "
5021 "ゼロによる整数割り算の結果は未定義となる。 アーキテクチャーによっては、このと"
5022 "き B<SIGFPE> シグナルが生成される。 (同様に負の最大整数を -1 で割ると "
5023 "B<SIGFPE> が生成されるかもしれない)  このシグナルを無視すると無限ループに陥る"
5024 "かもしれない。"
5025
5026 #. type: Plain text
5027 #: build/C/man2/sigaction.2:719
5028 msgid ""
5029 "POSIX.1-1990 disallowed setting the action for B<SIGCHLD> to B<SIG_IGN>.  "
5030 "POSIX.1-2001 allows this possibility, so that ignoring B<SIGCHLD> can be "
5031 "used to prevent the creation of zombies (see B<wait>(2)).  Nevertheless, the "
5032 "historical BSD and System V behaviors for ignoring B<SIGCHLD> differ, so "
5033 "that the only completely portable method of ensuring that terminated "
5034 "children do not become zombies is to catch the B<SIGCHLD> signal and perform "
5035 "a B<wait>(2)  or similar."
5036 msgstr ""
5037 "POSIX.1-1990 では B<SIGCHLD> に B<SIG_IGN> を設定することを認めていない。 "
5038 "POSIX.1-2001 では認められており、 B<SIGCHLD> を無視することでゾンビプロセスの"
5039 "生成を防止することができる (B<wait>(2)  を参照)。 さらに、BSD と SystemV で"
5040 "は B<SIGCHLD> を無視した際の動作が異なっている。 そのため、完全に移植性がある"
5041 "方法で、終了した子プロセスがゾンビにならないこと を保証するには、 B<SIGCHLD> "
5042 "シグナルを補足し、 B<wait>(2)  などを実行するしかない。"
5043
5044 #. type: Plain text
5045 #: build/C/man2/sigaction.2:732
5046 #, fuzzy
5047 #| msgid ""
5048 #| "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
5049 #| "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use "
5050 #| "of these latter values in I<sa_flags> may be less portable in "
5051 #| "applications intended for older Unix implementations."
5052 msgid ""
5053 "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
5054 "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use of "
5055 "these latter values in I<sa_flags> may be less portable in applications "
5056 "intended for older UNIX implementations."
5057 msgstr ""
5058 "POSIX.1-1990 の仕様では B<SA_NOCLDSTOP> のみが定義されている。 POSIX.1-2001 "
5059 "では B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, B<SA_SIGINFO> が追加さ"
5060 "れた。 Unix の古い実装で動かすアプリケーションで、 他の I<sa_flags> フラグを"
5061 "使用すると移植性が下がる。"
5062
5063 #. type: Plain text
5064 #: build/C/man2/sigaction.2:736
5065 msgid ""
5066 "The B<SA_RESETHAND> flag is compatible with the SVr4 flag of the same name."
5067 msgstr "B<SA_RESETHAND> フラグは SVr4 の同じ名前のフラグと互換性がある。"
5068
5069 #. type: Plain text
5070 #: build/C/man2/sigaction.2:746
5071 msgid ""
5072 "The B<SA_NODEFER> flag is compatible with the SVr4 flag of the same name "
5073 "under kernels 1.3.9 and newer.  On older kernels the Linux implementation "
5074 "allowed the receipt of any signal, not just the one we are installing "
5075 "(effectively overriding any I<sa_mask> settings)."
5076 msgstr ""
5077 "B<SA_NODEFER> フラグは 1.3.9 以降のカーネルでは同じ名前の SVr4 のフラグと互換"
5078 "性がある。 ぞれ以前の Linux カーネルの実装では、このフラグを設定しているシグ"
5079 "ナル だけでなく、どのシグナルでも受けることを許していた (実際には I<sa_mask> "
5080 "の設定により無効にできる)。"
5081
5082 #. type: Plain text
5083 #: build/C/man2/sigaction.2:752
5084 #, fuzzy
5085 #| msgid ""
5086 #| "B<sigaction>()  can be called with a null second argument to query the "
5087 #| "current signal handler.  It can also be used to check whether a given "
5088 #| "signal is valid for the current machine by calling it with null second "
5089 #| "and third arguments."
5090 msgid ""
5091 "B<sigaction>()  can be called with a NULL second argument to query the "
5092 "current signal handler.  It can also be used to check whether a given signal "
5093 "is valid for the current machine by calling it with NULL second and third "
5094 "arguments."
5095 msgstr ""
5096 "B<sigaction>()  の二番目の引き数に NULL を指定して呼び出すと、現在のシグナル"
5097 "ハンドラを確認する ことができる。また、二番目と三番目の引き数を NULL にて呼び"
5098 "出すことで、 指定されたシグナルが現在のマシンで使えるかどうかチェックできる。"
5099
5100 #. type: Plain text
5101 #: build/C/man2/sigaction.2:758
5102 msgid ""
5103 "It is not possible to block B<SIGKILL> or B<SIGSTOP> (by specifying them in "
5104 "I<sa_mask>).  Attempts to do so are silently ignored."
5105 msgstr ""
5106 "B<SIGKILL> や B<SIGSTOP> を (I<sa_mask> に指定して) 禁止することはできない。 "
5107 "禁止しようとしても黙って無視される。"
5108
5109 #. type: Plain text
5110 #: build/C/man2/sigaction.2:762 build/C/man2/sigpending.2:65
5111 #: build/C/man2/sigprocmask.2:139 build/C/man2/sigsuspend.2:104
5112 msgid "See B<sigsetops>(3)  for details on manipulating signal sets."
5113 msgstr "シグナル集合の操作に関する詳細は B<sigsetops>(3)  を参照のこと。"
5114
5115 #. type: Plain text
5116 #: build/C/man2/sigaction.2:767
5117 msgid ""
5118 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
5119 "safely called inside from inside a signal handler."
5120 msgstr ""
5121 "シグナルハンドラ内から安全に呼び出すことができる、 async-signal-safe "
5122 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
5123 "照。"
5124
5125 #. type: SS
5126 #: build/C/man2/sigaction.2:767
5127 #, no-wrap
5128 msgid "Undocumented"
5129 msgstr "非公式"
5130
5131 #. type: Plain text
5132 #: build/C/man2/sigaction.2:777
5133 msgid ""
5134 "Before the introduction of B<SA_SIGINFO> it was also possible to get some "
5135 "additional information, namely by using a I<sa_handler> with second argument "
5136 "of type I<struct sigcontext>.  See the relevant kernel sources for details.  "
5137 "This use is obsolete now."
5138 msgstr ""
5139 "B<SA_SIGINFO> が導入される前は、 I<struct sigcontext> 型の二番目の引き数と一"
5140 "緒に I<sa_handler> を使用することで、 いくつかの追加の情報を入手することがで"
5141 "きた。 詳細についてはカーネルソースの関連部分を見てほしい。 現在はこの使用法"
5142 "は廃止されている。"
5143
5144 #. type: Plain text
5145 #: build/C/man2/sigaction.2:786
5146 msgid ""
5147 "In kernels up to and including 2.6.13, specifying B<SA_NODEFER> in "
5148 "I<sa_flags> prevents not only the delivered signal from being masked during "
5149 "execution of the handler, but also the signals specified in I<sa_mask>.  "
5150 "This bug was fixed in kernel 2.6.14."
5151 msgstr ""
5152 "2.6.13 以前のカーネルでは、 I<sa_flags> に B<SA_NODEFER> を指定した場合、 ハ"
5153 "ンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、 "
5154 "I<sa_mask> に指定されたシグナルもマスクされなくなる。 このバグは、カーネル "
5155 "2.6.14 で修正された。"
5156
5157 #. type: Plain text
5158 #: build/C/man2/sigaction.2:789
5159 msgid "See B<mprotect>(2)."
5160 msgstr "B<mprotect>(2)  参照。"
5161
5162 #. type: Plain text
5163 #: build/C/man2/sigaction.2:807
5164 #, fuzzy
5165 #| msgid ""
5166 #| "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
5167 #| "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
5168 #| "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
5169 #| "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
5170 msgid ""
5171 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
5172 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
5173 "B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>(3), B<sigqueue>"
5174 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
5175 msgstr ""
5176 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
5177 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
5178 "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
5179 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
5180
5181 #. type: TH
5182 #: build/C/man2/sigaltstack.2:25
5183 #, no-wrap
5184 msgid "SIGALTSTACK"
5185 msgstr "SIGALTSTACK"
5186
5187 #. type: TH
5188 #: build/C/man2/sigaltstack.2:25 build/C/man2/wait.2:50
5189 #, no-wrap
5190 msgid "2010-09-26"
5191 msgstr "2010-09-26"
5192
5193 #. type: Plain text
5194 #: build/C/man2/sigaltstack.2:28
5195 msgid "sigaltstack - set and/or get signal stack context"
5196 msgstr "sigaltstack - シグナルスタックのコンテキストを設定・取得する"
5197
5198 #. type: Plain text
5199 #: build/C/man2/sigaltstack.2:32
5200 msgid "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
5201 msgstr "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
5202
5203 #. type: Plain text
5204 #: build/C/man2/sigaltstack.2:39
5205 msgid "B<sigaltstack>():"
5206 msgstr "B<sigaltstack>():"
5207
5208 #. type: Plain text
5209 #: build/C/man2/sigaltstack.2:46 build/C/man3/siginterrupt.3:51
5210 #: build/C/man2/wait.2:79
5211 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5212 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5213
5214 #. type: Plain text
5215 #: build/C/man2/sigaltstack.2:58
5216 msgid ""
5217 "B<sigaltstack>()  allows a process to define a new alternate signal stack "
5218 "and/or retrieve the state of an existing alternate signal stack.  An "
5219 "alternate signal stack is used during the execution of a signal handler if "
5220 "the establishment of that handler (see B<sigaction>(2))  requested it."
5221 msgstr ""
5222 "B<sigaltstack>()  を使うと、 プロセスは新しい代替シグナルスタックを定義した"
5223 "り、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラが代替シ"
5224 "グナルスタックを要求するように設定されていると (B<sigaction>(2)  参照)、ハン"
5225 "ドラの実行中はそのシグナルスタックが使われる。"
5226
5227 #. type: Plain text
5228 #: build/C/man2/sigaltstack.2:61
5229 msgid ""
5230 "The normal sequence of events for using an alternate signal stack is the "
5231 "following:"
5232 msgstr "代替シグナルスタックを使う際の一般的な手順は、以下の通りである:"
5233
5234 #. type: IP
5235 #: build/C/man2/sigaltstack.2:61 build/C/man7/signal.7:383
5236 #, no-wrap
5237 msgid "1."
5238 msgstr "1."
5239
5240 #. type: Plain text
5241 #: build/C/man2/sigaltstack.2:65
5242 msgid "Allocate an area of memory to be used for the alternate signal stack."
5243 msgstr "代替シグナルスタックで使うメモリ領域を確保する。"
5244
5245 #. type: IP
5246 #: build/C/man2/sigaltstack.2:65 build/C/man7/signal.7:387
5247 #, no-wrap
5248 msgid "2."
5249 msgstr "2."
5250
5251 #. type: Plain text
5252 #: build/C/man2/sigaltstack.2:71
5253 msgid ""
5254 "Use B<sigaltstack>()  to inform the system of the existence and location of "
5255 "the alternate signal stack."
5256 msgstr ""
5257 "B<sigaltstack>()  を使って、 代替シグナルスタックの存在と場所をシステムに知ら"
5258 "せる。"
5259
5260 #. type: IP
5261 #: build/C/man2/sigaltstack.2:71 build/C/man7/signal.7:407
5262 #, no-wrap
5263 msgid "3."
5264 msgstr "3."
5265
5266 #. type: Plain text
5267 #: build/C/man2/sigaltstack.2:78
5268 msgid ""
5269 "When establishing a signal handler using B<sigaction>(2), inform the system "
5270 "that the signal handler should be executed on the alternate signal stack by "
5271 "specifying the B<SA_ONSTACK> flag."
5272 msgstr ""
5273 "B<sigaction>(2)  を使ってシグナルハンドラを確立する際、 B<SA_ONSTACK> フラグ"
5274 "を指定することにより、 そのシグナルハンドラを代替シグナルスタック上で実行する"
5275 "ことを システムに知らせる。"
5276
5277 #. type: Plain text
5278 #: build/C/man2/sigaltstack.2:86
5279 msgid ""
5280 "The I<ss> argument is used to specify a new alternate signal stack, while "
5281 "the I<oss> argument is used to retrieve information about the currently "
5282 "established signal stack.  If we are interested in performing just one of "
5283 "these tasks then the other argument can be specified as NULL.  Each of these "
5284 "arguments is a structure of the following type:"
5285 msgstr ""
5286 "I<ss> 引き数は、新しいシグナルスタックを指定するために使う。 また I<oss> 引き"
5287 "数は、現在確立されている シグナルスタックの情報を取得するために使う。 この操"
5288 "作のうち 1 つだけを実行させるには、 使用しない引き数を NULL に指定すればよ"
5289 "い。 引き数となる構造体は、以下のような型である:"
5290
5291 #. type: Plain text
5292 #: build/C/man2/sigaltstack.2:94
5293 #, no-wrap
5294 msgid ""
5295 "typedef struct {\n"
5296 "    void  *ss_sp;     /* Base address of stack */\n"
5297 "    int    ss_flags;  /* Flags */\n"
5298 "    size_t ss_size;   /* Number of bytes in stack */\n"
5299 "} stack_t;\n"
5300 msgstr ""
5301 "typedef struct {\n"
5302 "    void  *ss_sp;     /* スタックのベースアドレス */\n"
5303 "    int    ss_flags;  /* フラグ */\n"
5304 "    size_t ss_size;   /* スタックのバイト数 */\n"
5305 "} stack_t;\n"
5306
5307 #. type: Plain text
5308 #: build/C/man2/sigaltstack.2:105
5309 msgid ""
5310 "To establish a new alternate signal stack, I<ss.ss_flags> is set to zero, "
5311 "and I<ss.ss_sp> and I<ss.ss_size> specify the starting address and size of "
5312 "the stack.  The constant B<SIGSTKSZ> is defined to be large enough to cover "
5313 "the usual size requirements for an alternate signal stack, and the constant "
5314 "B<MINSIGSTKSZ> defines the minimum size required to execute a signal handler."
5315 msgstr ""
5316 "新規の代替シグナルスタックを確立するには、 I<ss.ss_flags> を 0 に設定し、 "
5317 "I<ss.ss_sp> と I<ss.ss_size> に スタックの開始アドレスとスタックサイズを指定"
5318 "する。 定数 B<SIGSTKSZ> は、代替シグナルスタックが通常必要する サイズよりも充"
5319 "分大きく定義されている。 また定数 B<MINSIGSTKSZ> は、 シグナルハンドラの実行"
5320 "に必要な最小サイズに定義されている。"
5321
5322 #. type: Plain text
5323 #: build/C/man2/sigaltstack.2:109
5324 msgid ""
5325 "When a signal handler is invoked on the alternate stack, the kernel "
5326 "automatically aligns the address given in I<ss.ss_sp> to a suitable address "
5327 "boundary for the underlying hardware architecture."
5328 msgstr ""
5329 "代替スタックでシグナルハンドラが起動された場合には、 カーネルにより自動的に、"
5330 "I<ss.ss_sp> で指定されたアドレスは 動作しているハードウェアアーキテクチャに適"
5331 "したアドレス境界に 調整される。"
5332
5333 #. type: Plain text
5334 #: build/C/man2/sigaltstack.2:114
5335 msgid ""
5336 "To disable an existing stack, specify I<ss.ss_flags> as B<SS_DISABLE>.  In "
5337 "this case, the remaining fields in I<ss> are ignored."
5338 msgstr ""
5339 "既存のスタックを無効にするには、 I<ss.ss_flags> を B<SS_DISABLE> に指定す"
5340 "る。 この場合、I<ss> の他のフィールドは無視される。"
5341
5342 #. type: Plain text
5343 #: build/C/man2/sigaltstack.2:122
5344 msgid ""
5345 "If I<oss> is not NULL, then it is used to return information about the "
5346 "alternate signal stack which was in effect prior to the call to "
5347 "B<sigaltstack>().  The I<oss.ss_sp> and I<oss.ss_size> fields return the "
5348 "starting address and size of that stack.  The I<oss.ss_flags> may return "
5349 "either of the following values:"
5350 msgstr ""
5351 "I<oss> が NULL 以外の場合、 I<oss> に代替シグナルスタックの情報が返される。 "
5352 "これは (実質的に)  B<sigaltstack>()  の呼び出しより先に行われる。 I<oss."
5353 "ss_sp> と I<oss.ss_size> フィールドに スタックの開始アドレスとスタックサイズ"
5354 "が返される。 I<oss.ss_flags> には以下のどちらかの値が返される:"
5355
5356 #. type: TP
5357 #: build/C/man2/sigaltstack.2:122
5358 #, no-wrap
5359 msgid "B<SS_ONSTACK>"
5360 msgstr "B<SS_ONSTACK>"
5361
5362 #. type: Plain text
5363 #: build/C/man2/sigaltstack.2:128
5364 msgid ""
5365 "The process is currently executing on the alternate signal stack.  (Note "
5366 "that it is not possible to change the alternate signal stack if the process "
5367 "is currently executing on it.)"
5368 msgstr ""
5369 "プロセスが代替シグナルスタック上で実行されている (プロセスが既にそのシグナル"
5370 "スタック上で実行されている場合は、 それと同じシグナルスタックには変更できない"
5371 "点に注意すること)。"
5372
5373 #. type: TP
5374 #: build/C/man2/sigaltstack.2:128
5375 #, no-wrap
5376 msgid "B<SS_DISABLE>"
5377 msgstr "B<SS_DISABLE>"
5378
5379 #. type: Plain text
5380 #: build/C/man2/sigaltstack.2:131
5381 msgid "The alternate signal stack is currently disabled."
5382 msgstr "代替シグナルスタックが現在無効になっている。"
5383
5384 #. type: Plain text
5385 #: build/C/man2/sigaltstack.2:135
5386 msgid ""
5387 "B<sigaltstack>()  returns 0 on success, or -1 on failure with I<errno> set "
5388 "to indicate the error."
5389 msgstr ""
5390 "B<sigaltstack>()  は成功した場合 0 を返す。 失敗した場合は -1 を返して、 エ"
5391 "ラーを示す値に I<errno> を設定する。"
5392
5393 #. type: Plain text
5394 #: build/C/man2/sigaltstack.2:140
5395 msgid ""
5396 "Either I<ss> or I<oss> is not NULL and points to an area outside of the "
5397 "process's address space."
5398 msgstr ""
5399 "I<ss> または I<oss> のどちらが、NULL 以外で、 かつプロセスのアドレス空間の外"
5400 "を指している。"
5401
5402 #. type: Plain text
5403 #: build/C/man2/sigaltstack.2:145
5404 msgid ""
5405 "I<ss> is not NULL and the I<ss_flags> field contains a nonzero value other "
5406 "than B<SS_DISABLE>."
5407 msgstr ""
5408 "I<ss> が NULL 以外で、I<ss_flags> フィールドが B<SS_DISABLE> 以外の 0 でない"
5409 "値になっている。"
5410
5411 #. type: Plain text
5412 #: build/C/man2/sigaltstack.2:149
5413 msgid ""
5414 "The specified size of the new alternate signal stack (I<ss.ss_size>) was "
5415 "less than B<MINSTKSZ>."
5416 msgstr ""
5417 "新しい代替シグナルスタック (I<ss.ss_size>) に指定したサイズが B<MINSTKSZ> よ"
5418 "り小さい。"
5419
5420 #. type: Plain text
5421 #: build/C/man2/sigaltstack.2:154
5422 msgid ""
5423 "An attempt was made to change the alternate signal stack while it was active "
5424 "(i.e., the process was already executing on the current alternate signal "
5425 "stack)."
5426 msgstr ""
5427 "代替シグナルスタックが有効であるときに変更を行おうとした (つまり、プロセスが"
5428 "既に現在の代替シグナルスタック上で実行されていた)。"
5429
5430 #. type: Plain text
5431 #: build/C/man2/sigaltstack.2:156
5432 msgid "SUSv2, SVr4, POSIX.1-2001."
5433 msgstr "SUSv2, SVr4, POSIX.1-2001."
5434
5435 #. type: Plain text
5436 #: build/C/man2/sigaltstack.2:164
5437 msgid ""
5438 "The most common usage of an alternate signal stack is to handle the "
5439 "B<SIGSEGV> signal that is generated if the space available for the normal "
5440 "process stack is exhausted: in this case, a signal handler for B<SIGSEGV> "
5441 "cannot be invoked on the process stack; if we wish to handle it, we must use "
5442 "an alternate signal stack."
5443 msgstr ""
5444 "代替シグナルスタックを使用する最もよくある場面は、 B<SIGSEGV> シグナルを扱う"
5445 "ときである。 B<SIGSEGV> はプロセスの通常のスタックが利用できる空間が使い果た"
5446 "された際に 生成されるシグナルである。この場合には、 B<SIGSEGV> 用のシグナルハ"
5447 "ンドラをプロセスのスタック上では起動することができない。 そのため、このシグナ"
5448 "ルを扱おうとする場合には、 代替シグナルスタックを使用しなければならない。"
5449
5450 #. type: Plain text
5451 #: build/C/man2/sigaltstack.2:174
5452 msgid ""
5453 "Establishing an alternate signal stack is useful if a process expects that "
5454 "it may exhaust its standard stack.  This may occur, for example, because the "
5455 "stack grows so large that it encounters the upwardly growing heap, or it "
5456 "reaches a limit established by a call to B<setrlimit(RLIMIT_STACK, &rlim)>.  "
5457 "If the standard stack is exhausted, the kernel sends the process a "
5458 "B<SIGSEGV> signal.  In these circumstances the only way to catch this signal "
5459 "is on an alternate signal stack."
5460 msgstr ""
5461 "プロセスが標準のシグナルスタックを使い果たすことが予想される場合は、 代替シグ"
5462 "ナルスタックを確立すると便利である。 例えば、スタックが最上位アドレスから 下"
5463 "位アドレス方向に非常にたくさん積まれてしまうことで、 最下位アドレスから上位ア"
5464 "ドレス方向に積まれるヒープとぶつかってしまう場合や、 B<setrlimit"
5465 "(RLIMIT_STACK, &rlim)> の呼び出しで確立された 制限に達してしまった場合に、こ"
5466 "の様な事が起こる。 標準のスタックを使い果たしてしまうと、 カーネルはプロセス"
5467 "に B<SIGSEGV> シグナルを送る。 このような状況では、代替シグナルスタック上でし"
5468 "かシグナルをキャッチできない。"
5469
5470 #. type: Plain text
5471 #: build/C/man2/sigaltstack.2:180
5472 msgid ""
5473 "On most hardware architectures supported by Linux, stacks grow downward.  "
5474 "B<sigaltstack>()  automatically takes account of the direction of stack "
5475 "growth."
5476 msgstr ""
5477 "Linux がサポートする多くのハードウェアアーキテクチャでは、 スタックは下位アド"
5478 "レス方向に積まれる。 B<sigaltstack>()  はスタックが積まれる方向を自動的に決定"
5479 "する。"
5480
5481 #. type: Plain text
5482 #: build/C/man2/sigaltstack.2:189
5483 msgid ""
5484 "Functions called from a signal handler executing on an alternate signal "
5485 "stack will also use the alternate signal stack.  (This also applies to any "
5486 "handlers invoked for other signals while the process is executing on the "
5487 "alternate signal stack.)  Unlike the standard stack, the system does not "
5488 "automatically extend the alternate signal stack.  Exceeding the allocated "
5489 "size of the alternate signal stack will lead to unpredictable results."
5490 msgstr ""
5491 "代替シグナルスタック上で実行されている シグナルハンドラから呼ばれる関数も、代"
5492 "替シグナルハンドラを使う (プロセスが代替シグナルスタック上で実行されている場"
5493 "合、 他のシグナルで呼び出されるハンドラもこの代替シグナルハンドラを使う)。 標"
5494 "準のスタックとは異なり、 システムは代替シグナルスタックを自動的に拡張しな"
5495 "い。 代替シグナルスタック用に確保したサイズを越えた場合、 結果は予想できな"
5496 "い。"
5497
5498 #. type: Plain text
5499 #: build/C/man2/sigaltstack.2:197
5500 msgid ""
5501 "A successful call to B<execve>(2)  removes any existing alternate signal "
5502 "stack.  A child process created via B<fork>(2)  inherits a copy of its "
5503 "parent's alternate signal stack settings."
5504 msgstr ""
5505 "B<execve>(2)  の呼び出しが成功すると、 既存の全ての代替シグナルスタックが削除"
5506 "される。 B<fork>(2)  経由で作成された子プロセスは、親プロセスの代替シグナルス"
5507 "タックの 設定のコピーを継承する。"
5508
5509 #. type: Plain text
5510 #: build/C/man2/sigaltstack.2:206
5511 msgid ""
5512 "B<sigaltstack>()  supersedes the older B<sigstack>()  call.  For backward "
5513 "compatibility, glibc also provides B<sigstack>().  All new applications "
5514 "should be written using B<sigaltstack>()."
5515 msgstr ""
5516 "B<sigaltstack>()  は以前の B<sigstack>()  を置き換えるものである。 過去プログ"
5517 "ラムとの互換性のため、glibc では B<sigstack>()  も提供している。 新しいのアプ"
5518 "リケーションは全て B<sigaltstack>()  を使って書くべきである。"
5519
5520 #. type: SS
5521 #: build/C/man2/sigaltstack.2:206 build/C/man3/sigpause.3:59
5522 #, no-wrap
5523 msgid "History"
5524 msgstr "歴史"
5525
5526 #. type: Plain text
5527 #: build/C/man2/sigaltstack.2:213
5528 msgid ""
5529 "4.2BSD had a B<sigstack>()  system call.  It used a slightly different "
5530 "struct, and had the major disadvantage that the caller had to know the "
5531 "direction of stack growth."
5532 msgstr ""
5533 "4.2BSD には B<sigstack>()  システムコールがあった。 この関数は少し異なった構"
5534 "造体を使っており、 呼び出した側がスタックの積まれる方向を知っていなければなら"
5535 "ないという 大きな欠点があった。"
5536
5537 #. type: Plain text
5538 #: build/C/man2/sigaltstack.2:216
5539 msgid "The following code segment demonstrates the use of B<sigaltstack>():"
5540 msgstr "以下のコードで B<sigaltstack>()  の使用法の一部を示す:"
5541
5542 #. type: Plain text
5543 #: build/C/man2/sigaltstack.2:220
5544 #, no-wrap
5545 msgid "stack_t ss;\n"
5546 msgstr "stack_t ss;\n"
5547
5548 #. type: Plain text
5549 #: build/C/man2/sigaltstack.2:228
5550 #, no-wrap
5551 msgid ""
5552 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5553 "if (ss.ss_sp == NULL)\n"
5554 "    /* Handle error */;\n"
5555 "ss.ss_size = SIGSTKSZ;\n"
5556 "ss.ss_flags = 0;\n"
5557 "if (sigaltstack(&ss, NULL) == -1)\n"
5558 "    /* Handle error */;\n"
5559 msgstr ""
5560 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5561 "if (ss.ss_sp == NULL)\n"
5562 "    /* ハンドルエラー */;\n"
5563 "ss.ss_size = SIGSTKSZ;\n"
5564 "ss.ss_flags = 0;\n"
5565 "if (sigaltstack(&ss, NULL) == -1)\n"
5566 "    /* ハンドルエラー */;\n"
5567
5568 #. type: Plain text
5569 #: build/C/man2/sigaltstack.2:236
5570 msgid ""
5571 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5572 "B<sigsetjmp>(3), B<signal>(7)"
5573 msgstr ""
5574 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5575 "B<sigsetjmp>(3), B<signal>(7)"
5576
5577 #. type: TH
5578 #: build/C/man7/sigevent.7:24
5579 #, no-wrap
5580 msgid "SIGEVENT"
5581 msgstr "SIGEVENT"
5582
5583 #. type: TH
5584 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
5585 #, no-wrap
5586 msgid "2011-09-09"
5587 msgstr "2011-09-09"
5588
5589 #. type: Plain text
5590 #: build/C/man7/sigevent.7:27
5591 msgid "sigevent - structure for notification from asynchronous routines"
5592 msgstr "sigevent - structure for notification from asynchronous routines"
5593
5594 #. type: Plain text
5595 #: build/C/man7/sigevent.7:34
5596 #, no-wrap
5597 msgid ""
5598 "union sigval {          /* Data passed with notification */\n"
5599 "    int     sival_int;         /* Integer value */\n"
5600 "    void   *sival_ptr;         /* Pointer value */\n"
5601 "};\n"
5602 msgstr ""
5603 "union sigval {          /* Data passed with notification */\n"
5604 "    int     sival_int;         /* Integer value */\n"
5605 "    void   *sival_ptr;         /* Pointer value */\n"
5606 "};\n"
5607
5608 #. type: Plain text
5609 #: build/C/man7/sigevent.7:49
5610 #, no-wrap
5611 msgid ""
5612 "struct sigevent {\n"
5613 "    int          sigev_notify; /* Notification method */\n"
5614 "    int          sigev_signo;  /* Notification signal */\n"
5615 "    union sigval sigev_value;  /* Data passed with\n"
5616 "                                  notification */\n"
5617 "    void       (*sigev_notify_function) (union sigval);\n"
5618 "                     /* Function used for thread\n"
5619 "                        notification (SIGEV_THREAD) */\n"
5620 "    void        *sigev_notify_attributes;\n"
5621 "                     /* Attributes for notification thread\n"
5622 "                        (SIGEV_THREAD) */\n"
5623 "    pid_t        sigev_notify_thread_id;\n"
5624 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5625 "};\n"
5626 msgstr ""
5627 "struct sigevent {\n"
5628 "    int          sigev_notify; /* Notification method */\n"
5629 "    int          sigev_signo;  /* Notification signal */\n"
5630 "    union sigval sigev_value;  /* Data passed with\n"
5631 "                                  notification */\n"
5632 "    void       (*sigev_notify_function) (union sigval);\n"
5633 "                     /* Function used for thread\n"
5634 "                        notification (SIGEV_THREAD) */\n"
5635 "    void        *sigev_notify_attributes;\n"
5636 "                     /* Attributes for notification thread\n"
5637 "                        (SIGEV_THREAD) */\n"
5638 "    pid_t        sigev_notify_thread_id;\n"
5639 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5640 "};\n"
5641
5642 #. type: Plain text
5643 #: build/C/man7/sigevent.7:58
5644 msgid ""
5645 "The I<sigevent> structure is used by various APIs to describe the way a "
5646 "process is to be notified about an event (e.g., completion of an "
5647 "asynchronous request, expiration of a timer, or the arrival of a message)."
5648 msgstr ""
5649 "The I<sigevent> structure is used by various APIs to describe the way a "
5650 "process is to be notified about an event (e.g., completion of an "
5651 "asynchronous request, expiration of a timer, or the arrival of a message)."
5652
5653 #. type: Plain text
5654 #: build/C/man7/sigevent.7:66
5655 msgid ""
5656 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5657 "the I<sigevent> structure may be defined as part of a union.  Programs "
5658 "should only employ those fields relevant to the value specified in "
5659 "I<sigev_notify>."
5660 msgstr ""
5661 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5662 "the I<sigevent> structure may be defined as part of a union.  Programs "
5663 "should only employ those fields relevant to the value specified in "
5664 "I<sigev_notify>."
5665
5666 #. type: Plain text
5667 #: build/C/man7/sigevent.7:71
5668 msgid ""
5669 "The I<sigev_notify> field specifies how notification is to be performed.  "
5670 "This field can have one of the following values:"
5671 msgstr ""
5672 "The I<sigev_notify> field specifies how notification is to be performed.  "
5673 "This field can have one of the following values:"
5674
5675 #. type: TP
5676 #: build/C/man7/sigevent.7:71 build/C/man2/timer_create.2:105
5677 #, no-wrap
5678 msgid "B<SIGEV_NONE>"
5679 msgstr "B<SIGEV_NONE>"
5680
5681 #. type: Plain text
5682 #: build/C/man7/sigevent.7:74
5683 msgid "A \"null\" notification: don't do anything when the event occurs."
5684 msgstr "A \"null\" notification: don't do anything when the event occurs."
5685
5686 #. type: TP
5687 #: build/C/man7/sigevent.7:74 build/C/man2/timer_create.2:110
5688 #, no-wrap
5689 msgid "B<SIGEV_SIGNAL>"
5690 msgstr "B<SIGEV_SIGNAL>"
5691
5692 #. type: Plain text
5693 #: build/C/man7/sigevent.7:78
5694 msgid "Notify the process by sending the signal specified in I<sigev_signo>."
5695 msgstr "Notify the process by sending the signal specified in I<sigev_signo>."
5696
5697 #. type: Plain text
5698 #: build/C/man7/sigevent.7:85
5699 msgid ""
5700 "If the signal is caught with a signal handler that was registered using the "
5701 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5702 "the I<siginfo_t> structure that is passed as the second argument of the "
5703 "handler:"
5704 msgstr ""
5705 "If the signal is caught with a signal handler that was registered using the "
5706 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5707 "the I<siginfo_t> structure that is passed as the second argument of the "
5708 "handler:"
5709
5710 #. type: Plain text
5711 #: build/C/man7/sigevent.7:90
5712 msgid ""
5713 "This field is set to a value that depends on the API delivering the "
5714 "notification."
5715 msgstr ""
5716 "This field is set to a value that depends on the API delivering the "
5717 "notification."
5718
5719 #. type: TP
5720 #: build/C/man7/sigevent.7:90 build/C/man2/wait.2:301
5721 #, no-wrap
5722 msgid "I<si_signo>"
5723 msgstr "I<si_signo>"
5724
5725 #. type: Plain text
5726 #: build/C/man7/sigevent.7:94
5727 msgid ""
5728 "This field is set to the signal number (i.e., the same value as in "
5729 "I<sigev_signo>)."
5730 msgstr ""
5731 "This field is set to the signal number (i.e., the same value as in "
5732 "I<sigev_signo>)."
5733
5734 #. type: Plain text
5735 #: build/C/man7/sigevent.7:98
5736 msgid "This field is set to the value specified in I<sigev_value>."
5737 msgstr "This field is set to the value specified in I<sigev_value>."
5738
5739 #. type: Plain text
5740 #: build/C/man7/sigevent.7:103
5741 msgid ""
5742 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5743 "structure."
5744 msgstr ""
5745 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5746 "structure."
5747
5748 #. type: Plain text
5749 #: build/C/man7/sigevent.7:106
5750 msgid ""
5751 "The same information is also available if the signal is accepted using "
5752 "B<sigwaitinfo>(2)."
5753 msgstr ""
5754 "The same information is also available if the signal is accepted using "
5755 "B<sigwaitinfo>(2)."
5756
5757 #. type: TP
5758 #: build/C/man7/sigevent.7:106 build/C/man2/timer_create.2:128
5759 #, no-wrap
5760 msgid "B<SIGEV_THREAD>"
5761 msgstr "B<SIGEV_THREAD>"
5762
5763 #. type: Plain text
5764 #: build/C/man7/sigevent.7:123
5765 msgid ""
5766 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5767 "the start function of a new thread.  (Among the implementation possibilities "
5768 "here are that each timer notification could result in the creation of a new "
5769 "thread, or that a single thread is created to receive all notifications.)  "
5770 "The function is invoked with I<sigev_value> as its sole argument.  If "
5771 "I<sigev_notify_attributes> is not NULL, it should point to a "
5772 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5773 "B<pthread_attr_init>(3))."
5774 msgstr ""
5775 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5776 "the start function of a new thread.  (Among the implementation possibilities "
5777 "here are that each timer notification could result in the creation of a new "
5778 "thread, or that a single thread is created to receive all notifications.)  "
5779 "The function is invoked with I<sigev_value> as its sole argument.  If "
5780 "I<sigev_notify_attributes> is not NULL, it should point to a "
5781 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5782 "B<pthread_attr_init>(3))."
5783
5784 #. type: TP
5785 #: build/C/man7/sigevent.7:123 build/C/man2/timer_create.2:136
5786 #, no-wrap
5787 msgid "B<SIGEV_THREAD_ID> (Linux-specific)"
5788 msgstr "B<SIGEV_THREAD_ID> (Linux-specific)"
5789
5790 #.  | SIGEV_SIGNAL vs not?
5791 #. type: Plain text
5792 #: build/C/man7/sigevent.7:128
5793 msgid "Currently used only by POSIX timers; see B<timer_create>(2)."
5794 msgstr "Currently used only by POSIX timers; see B<timer_create>(2)."
5795
5796 #. type: Plain text
5797 #: build/C/man7/sigevent.7:130 build/C/man2/sigpending.2:61
5798 #: build/C/man2/sigprocmask.2:109 build/C/man3/sigqueue.3:114
5799 #: build/C/man3/sigsetops.3:128 build/C/man2/sigsuspend.2:82
5800 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
5801 #: build/C/man2/timer_create.2:193 build/C/man2/timer_delete.2:66
5802 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/timer_settime.2:205
5803 msgid "POSIX.1-2001."
5804 msgstr "POSIX.1-2001."
5805
5806 #. type: Plain text
5807 #: build/C/man7/sigevent.7:139
5808 msgid ""
5809 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5810 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5811 "B<pthreads>(7)"
5812 msgstr ""
5813 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5814 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5815 "B<pthreads>(7)"
5816
5817 #. type: TH
5818 #: build/C/man3/siginterrupt.3:29
5819 #, no-wrap
5820 msgid "SIGINTERRUPT"
5821 msgstr "SIGINTERRUPT"
5822
5823 #. type: Plain text
5824 #: build/C/man3/siginterrupt.3:32
5825 msgid "siginterrupt - allow signals to interrupt system calls"
5826 msgstr "siginterrupt - シグナルでシステム・コールに割り込むことを許す"
5827
5828 #. type: Plain text
5829 #: build/C/man3/siginterrupt.3:37
5830 #, no-wrap
5831 msgid "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5832 msgstr "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5833
5834 #. type: Plain text
5835 #: build/C/man3/siginterrupt.3:45
5836 msgid "B<siginterrupt>():"
5837 msgstr "B<siginterrupt>():"
5838
5839 #. type: Plain text
5840 #: build/C/man3/siginterrupt.3:62
5841 msgid ""
5842 "The B<siginterrupt>()  function changes the restart behavior when a system "
5843 "call is interrupted by the signal I<sig>.  If the I<flag> argument is false "
5844 "(0), then system calls will be restarted if interrupted by the specified "
5845 "signal I<sig>.  This is the default behavior in Linux."
5846 msgstr ""
5847 "B<siginterrupt>()  関数は、システム・コールがシグナル I<sig> によって割り込ま"
5848 "れた後、再実行の際の振る舞いを変更する。 I<flag> 引き数が偽 (0) ならば、シス"
5849 "テム・コールが指定した シグナル I<sig> によって割り込まれた後に、そのシステ"
5850 "ム・コールは 再実行される。これは Linux においてデフォルトの動作である。"
5851
5852 #. type: Plain text
5853 #: build/C/man3/siginterrupt.3:67
5854 msgid ""
5855 "If the I<flag> argument is true (1) and no data has been transferred, then a "
5856 "system call interrupted by the signal I<sig> will return -1 and I<errno> "
5857 "will be set to B<EINTR>."
5858 msgstr ""
5859 "I<flag> 引き数が真 (1) でデータの転送が全く行なわれていないならば、 シグナル "
5860 "I<sig> でシステム・コールは中断されて、-1 が返され、 I<errno> に B<EINTR> が"
5861 "設定される。"
5862
5863 #. type: Plain text
5864 #: build/C/man3/siginterrupt.3:71
5865 msgid ""
5866 "If the I<flag> argument is true (1) and data transfer has started, then the "
5867 "system call will be interrupted and will return the actual amount of data "
5868 "transferred."
5869 msgstr ""
5870 "I<flag> 引き数が真 (1) でデータの転送が開始されていれば、 システム・コールは"
5871 "中断され、それまでに実際に転送されたデータ の量が返される。"
5872
5873 #. type: Plain text
5874 #: build/C/man3/siginterrupt.3:76
5875 msgid ""
5876 "The B<siginterrupt>()  function returns 0 on success, or -1 if the signal "
5877 "number I<sig> is invalid."
5878 msgstr ""
5879 "B<siginterrupt>()  関数は成功した場合 0 を返す。 シグナル番号 I<sig> が不正な"
5880 "場合は -1 を返す。"
5881
5882 #. type: Plain text
5883 #: build/C/man3/siginterrupt.3:80
5884 msgid "The specified signal number is invalid."
5885 msgstr "指定したシグナル番号が不正である。"
5886
5887 #. type: Plain text
5888 #: build/C/man3/siginterrupt.3:89
5889 msgid ""
5890 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<siginterrupt>()  as obsolete, "
5891 "recommending the use of B<sigaction>(2)  with the B<SA_RESTART> flag instead."
5892 msgstr ""
5893 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 は、 B<siginterrupt>()  を廃止予定として"
5894 "いる。 代わりに、 B<sigaction>(2)  に B<SA_RESTART> フラグを指定して使うこと"
5895 "を推奨している。"
5896
5897 #. type: Plain text
5898 #: build/C/man3/siginterrupt.3:90
5899 msgid "B<signal>(2)"
5900 msgstr "B<signal>(2)"
5901
5902 #. type: TH
5903 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
5904 #, no-wrap
5905 msgid "SIGNAL"
5906 msgstr "SIGNAL"
5907
5908 #. type: TH
5909 #: build/C/man2/signal.2:34
5910 #, no-wrap
5911 msgid "2008-07-11"
5912 msgstr "2008-07-11"
5913
5914 #. type: Plain text
5915 #: build/C/man2/signal.2:37
5916 msgid "signal - ANSI C signal handling"
5917 msgstr "signal - ANSI C シグナル操作"
5918
5919 #. type: Plain text
5920 #: build/C/man2/signal.2:43
5921 msgid "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
5922 msgstr ""
5923 "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<sighandler>B<);>"
5924
5925 #. type: Plain text
5926 #: build/C/man2/signal.2:52
5927 msgid ""
5928 "The behavior of B<signal>()  varies across UNIX versions, and has also "
5929 "varied historically across different versions of Linux.  B<Avoid its use>: "
5930 "use B<sigaction>(2)  instead.  See I<Portability> below."
5931 msgstr ""
5932 "B<signal>()  の動作は UNIX のバージョンにより異なる。 また、歴史的に見て "
5933 "Linux のバージョンによっても異なっている。 B<このシステムコールの使用は避け、"
5934 "> 代わりに B<sigaction>(2)  を使用すること。 下記の「移植性」を参照。"
5935
5936 #. type: Plain text
5937 #: build/C/man2/signal.2:62
5938 msgid ""
5939 "B<signal>()  sets the disposition of the signal I<signum> to I<handler>, "
5940 "which is either B<SIG_IGN>, B<SIG_DFL>, or the address of a programmer-"
5941 "defined function (a \"signal handler\")."
5942 msgstr ""
5943 "B<signal>()  はシグナル I<signum> の処理方法を I<handler> に設定する。 "
5944 "I<handler> には、 B<SIG_IGN>、 B<SIG_DFL>、 プログラマが定義した関数 (「シグ"
5945 "ナル・ハンドラ」) のアドレスの いずれかを指定する。"
5946
5947 #. type: Plain text
5948 #: build/C/man2/signal.2:66
5949 msgid ""
5950 "If the signal I<signum> is delivered to the process, then one of the "
5951 "following happens:"
5952 msgstr ""
5953 "シグナル I<signum> がプロセスに配送されると、以下のいずれかが発生する。"
5954
5955 #. type: Plain text
5956 #: build/C/man2/signal.2:71
5957 msgid "If the disposition is set to B<SIG_IGN>, then the signal is ignored."
5958 msgstr "処理方法が B<SIG_IGN> に設定されている場合、そのシグナルは無視される。"
5959
5960 #. type: Plain text
5961 #: build/C/man2/signal.2:78
5962 msgid ""
5963 "If the disposition is set to B<SIG_DFL>, then the default action associated "
5964 "with the signal (see B<signal>(7))  occurs."
5965 msgstr ""
5966 "処理方法が B<SIG_DFL> に設定されている場合、シグナルに関連づけられた デフォル"
5967 "トの動作が行われる (B<signal>(7)  参照)。"
5968
5969 #. type: Plain text
5970 #: build/C/man2/signal.2:89
5971 msgid ""
5972 "If the disposition is set to a function, then first either the disposition "
5973 "is reset to B<SIG_DFL>, or the signal is blocked (see I<Portability> below), "
5974 "and then I<handler> is called with argument I<signum>.  If invocation of the "
5975 "handler caused the signal to be blocked, then the signal is unblocked upon "
5976 "return from the handler."
5977 msgstr ""
5978 "処理方法として関数が設定されている場合、 まず最初に処理方法が B<SIG_DFL> にリ"
5979 "セットされるかそのシグナルのブロックが実行された後、 I<signum> を引き数とし"
5980 "て I<handler> が呼び出される。 ハンドラが起動される際にシグナルがブロックされ"
5981 "た場合、 ハンドラが返る際にそのシグナルのブロックが解除される。"
5982
5983 #. type: Plain text
5984 #: build/C/man2/signal.2:95
5985 msgid "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught or ignored."
5986 msgstr ""
5987 "シグナル B<SIGKILL> と B<SIGSTOP> は捕捉できず、無視することもできない。"
5988
5989 #. type: Plain text
5990 #: build/C/man2/signal.2:100
5991 msgid ""
5992 "B<signal>()  returns the previous value of the signal handler, or B<SIG_ERR> "
5993 "on error."
5994 msgstr ""
5995 "B<signal>()  は、今までのシグナル・ハンドラの値を返す。エラーの場合は "
5996 "B<SIG_ERR> を返す。"
5997
5998 #. type: Plain text
5999 #: build/C/man2/signal.2:105
6000 msgid "I<signum> is invalid."
6001 msgstr "I<signum> が不正である。"
6002
6003 #. type: Plain text
6004 #: build/C/man2/signal.2:111
6005 msgid "The effects of B<signal>()  in a multithreaded process are unspecified."
6006 msgstr ""
6007 "マルチスレッドプロセスにおける B<signal>()  の結果は、指定されていない。"
6008
6009 #. type: Plain text
6010 #: build/C/man2/signal.2:136
6011 msgid ""
6012 "See B<sigaction>(2)  for details on what happens when B<SIGCHLD> is set to "
6013 "B<SIG_IGN>."
6014 msgstr ""
6015 "B<SIGCHLD> の動作として B<SIG_IGN> を設定した場合の詳細な動作については、 "
6016 "B<sigaction>(2)  を参照すること。"
6017
6018 #. type: Plain text
6019 #: build/C/man2/signal.2:141
6020 msgid ""
6021 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
6022 "safely called from inside a signal handler."
6023 msgstr ""
6024 "シグナル・ハンドラ内から安全に呼び出すことができる、 async-signal-safe "
6025 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
6026 "照。"
6027
6028 #. type: Plain text
6029 #: build/C/man2/signal.2:156
6030 msgid ""
6031 "The use of I<sighandler_t> is a GNU extension.  Various versions of libc "
6032 "predefine this type; libc4 and libc5 define I<SignalHandler>; glibc defines "
6033 "I<sig_t> and, when B<_GNU_SOURCE> is defined, also I<sighandler_t>.  Without "
6034 "use of such a type, the declaration of B<signal>()  is the somewhat harder "
6035 "to read:"
6036 msgstr ""
6037 "I<sighandler_t> の使用は GNU 拡張である。 各種バージョンの libc でこの型は定"
6038 "義済みである; libc4 と libc5 では I<SignalHandler> を定義している。 glibc で"
6039 "は I<sig_t> を定義しており、 B<_GNU_SOURCE> が定義されている場合には "
6040 "I<sighandler_t> も定義されている。 このような型を使用しないと、 B<signal>()  "
6041 "の宣言は読みにくいものとなる。"
6042
6043 #. type: Plain text
6044 #: build/C/man2/signal.2:160
6045 #, no-wrap
6046 msgid "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
6047 msgstr "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
6048
6049 #. type: SS
6050 #: build/C/man2/signal.2:162
6051 #, no-wrap
6052 msgid "Portability"
6053 msgstr "移植性"
6054
6055 #. type: Plain text
6056 #: build/C/man2/signal.2:174
6057 msgid ""
6058 "The only portable use of B<signal>()  is to set a signal's disposition to "
6059 "B<SIG_DFL> or B<SIG_IGN>.  The semantics when using B<signal>()  to "
6060 "establish a signal handler vary across systems (and POSIX.1 explicitly "
6061 "permits this variation); B<do not use it for this purpose.>"
6062 msgstr ""
6063 "移植性のある B<signal>()  の使い方は、シグナルの処理方法を B<SIG_DFL> か "
6064 "B<SIG_IGN> に設定する方法だけである。 シグナル・ハンドラを設定するのに "
6065 "B<signal>()  を使ったときの動作はシステムにより異なる (POSIX.1 は明示的にこの"
6066 "違いを認めている)。 B<移植性が必要なときはこのシステムコールを使用しないこ"
6067 "と。>"
6068
6069 #. type: Plain text
6070 #: build/C/man2/signal.2:180
6071 msgid ""
6072 "POSIX.1 solved the portability mess by specifying B<sigaction>(2), which "
6073 "provides explicit control of the semantics when a signal handler is invoked; "
6074 "use that interface instead of B<signal>()."
6075 msgstr ""
6076 "POSIX.1 は、 B<sigaction>(2)  を規定することで移植性に関する混乱を解決した。 "
6077 "B<sigaction>(2)  はシグナル・ハンドラが起動される際の挙動を明示的に制御でき"
6078 "る。 B<signal>()  の代わりにこのインターフェイスを使うこと。"
6079
6080 #. type: Plain text
6081 #: build/C/man2/signal.2:193
6082 msgid ""
6083 "In the original UNIX systems, when a handler that was established using "
6084 "B<signal>()  was invoked by the delivery of a signal, the disposition of the "
6085 "signal would be reset to B<SIG_DFL>, and the system did not block delivery "
6086 "of further instances of the signal.  System V also provides these semantics "
6087 "for B<signal>().  This was bad because the signal might be delivered again "
6088 "before the handler had a chance to reestablish itself.  Furthermore, rapid "
6089 "deliveries of the same signal could result in recursive invocations of the "
6090 "handler."
6091 msgstr ""
6092 "オリジナルの UNIX システムでは、 B<signal>()  を使って設定されたハンドラがシ"
6093 "グナルの配送により起動されると、 そのシグナルの処理方法は B<SIG_DFL> にリセッ"
6094 "トされ、システムは同じシグナルがさらに生成されても シグナルの配送をブロックし"
6095 "なかった。 System V でも、 B<signal>()  に対してこれらの挙動を規定している。 "
6096 "こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が 来るより前に、"
6097 "同じシグナルがまた配送される可能性がある。 さらに、同じシグナルが立て続けに配"
6098 "送されると、同じシグナルが ハンドラを繰り返し起動されることになる。"
6099
6100 #. type: Plain text
6101 #: build/C/man2/signal.2:203
6102 msgid ""
6103 "BSD improved on this situation by changing the semantics of signal handling "
6104 "(but, unfortunately, silently changed the semantics when establishing a "
6105 "handler with B<signal>()).  On BSD, when a signal handler is invoked, the "
6106 "signal disposition is not reset, and further instances of the signal are "
6107 "blocked from being delivered while the handler is executing."
6108 msgstr ""
6109 "BSD では、シグナル処理の挙動を変更することで、この状況を改善した (しかし、残"
6110 "念なことに、 B<signal>()  を使ってハンドラを設定する際に挙動が黙って変更され"
6111 "る)。 BSD では、シグナルハンドラが起動された際、 シグナルの処理方法はリセット"
6112 "されず、 ハンドラの実行中は、同じシグナルのさらなる生成は配送がブロックされ"
6113 "る。"
6114
6115 #. type: Plain text
6116 #: build/C/man2/signal.2:205
6117 msgid "The situation on Linux is as follows:"
6118 msgstr "Linux での状況は以下の通りである。"
6119
6120 #. type: Plain text
6121 #: build/C/man2/signal.2:209
6122 msgid "The kernel's B<signal>()  system call provides System V semantics."
6123 msgstr "カーネルの B<signal>()  システムコールは System V 方式を提供している。"
6124
6125 #. type: Plain text
6126 #: build/C/man2/signal.2:225
6127 msgid ""
6128 "By default, in glibc 2 and later, the B<signal>()  wrapper function does not "
6129 "invoke the kernel system call.  Instead, it calls B<sigaction>(2)  using "
6130 "flags that supply BSD semantics.  This default behavior is provided as long "
6131 "as the B<_BSD_SOURCE> feature test macro is defined.  By default, "
6132 "B<_BSD_SOURCE> is defined; it is also implicitly defined if one defines "
6133 "B<_GNU_SOURCE>, and can of course be explicitly defined."
6134 msgstr ""
6135 "デフォルトでは、glibc 2 以降では、 B<signal>()  ラッパー関数はカーネルのシス"
6136 "テムコールを起動しない。 代わりに、ラッパー関数は BSD 方式を示すフラグを使っ"
6137 "て B<sigaction>(2)  を呼び出す。 機能検査マクロ B<_BSD_SOURCE> を定義していれ"
6138 "ば、このデフォルトの動作となる。 デフォルトでは、 B<_BSD_SOURCE> が定義され"
6139 "る。 B<_BSD_SOURCE> は B<_GNU_SOURCE> が定義された場合には暗黙のうちに定義さ"
6140 "れ、 もちろん明示的に定義することもできる。"
6141
6142 #.  System V semantics are also provided if one uses the separate
6143 #.  .BR sysv_signal (3)
6144 #.  function.
6145 #. type: Plain text
6146 #: build/C/man2/signal.2:248
6147 msgid ""
6148 "On glibc 2 and later, if the B<_BSD_SOURCE> feature test macro is not "
6149 "defined, then B<signal>()  provides System V semantics.  (The default "
6150 "implicit definition of B<_BSD_SOURCE> is not provided if one invokes B<gcc>"
6151 "(1)  in one of its standard modes (I<-std=xxx> or I<-ansi>)  or defines "
6152 "various other feature test macros such as B<_POSIX_SOURCE>, "
6153 "B<_XOPEN_SOURCE>, or B<_SVID_SOURCE>; see B<feature_test_macros>(7).)"
6154 msgstr ""
6155 "glibc 2 以降では、機能検査マクロ B<_BSD_SOURCE> が定義されていなければ、 "
6156 "B<signal>()  は System V 方式となる。 (B<gcc>(1)  が標準指定モード (I<-"
6157 "std=xxx> or I<-ansi>)  で起動された場合、もしくは B<_POSIX_SOURCE>, "
6158 "B<_XOPEN_SOURCE>, B<_SVID_SOURCE> といった他の様々な機能検査マクロが定義され"
6159 "た場合、 デフォルトの B<_BSD_SOURCE> の暗黙の定義は行われない。 "
6160 "B<feature_test_macros>(7)  を参照のこと。)"
6161
6162 #. type: Plain text
6163 #: build/C/man2/signal.2:259
6164 msgid ""
6165 "The B<signal>()  function in Linux libc4 and libc5 provide System V "
6166 "semantics.  If one on a libc5 system includes I<E<lt>bsd/signal.hE<gt>> "
6167 "instead of I<E<lt>signal.hE<gt>>, then B<signal>()  provides BSD semantics."
6168 msgstr ""
6169 "Linux の libc4 と libc5 の B<signal>()  関数は System V 方式である。 libc5 シ"
6170 "ステムにおいて I<E<lt>signal.hE<gt>> のかわりに I<E<lt>bsd/signal.hE<gt>> を"
6171 "インクルードすると、 B<signal>()  は B<__bsd_signal>()  に再定義され、 "
6172 "B<signal>()  は BSD 方式となる。"
6173
6174 #. type: Plain text
6175 #: build/C/man2/signal.2:277
6176 msgid ""
6177 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
6178 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
6179 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
6180 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
6181 msgstr ""
6182 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
6183 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
6184 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
6185 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
6186
6187 #. type: Plain text
6188 #: build/C/man7/signal.7:47
6189 msgid "signal - overview of signals"
6190 msgstr "signal - シグナルの概要"
6191
6192 #. type: Plain text
6193 #: build/C/man7/signal.7:50
6194 msgid ""
6195 "Linux supports both POSIX reliable signals (hereinafter \"standard signals"
6196 "\") and POSIX real-time signals."
6197 msgstr ""
6198 "Linux は POSIX 信頼シグナル (reliable signal; 以後 \"標準シグナル\"と表記)  "
6199 "と POSIX リアルタイムシグナルの両方に対応している。"
6200
6201 #. type: SS
6202 #: build/C/man7/signal.7:50
6203 #, no-wrap
6204 msgid "Signal Dispositions"
6205 msgstr "シグナル処理方法"
6206
6207 #. type: Plain text
6208 #: build/C/man7/signal.7:55
6209 msgid ""
6210 "Each signal has a current I<disposition>, which determines how the process "
6211 "behaves when it is delivered the signal."
6212 msgstr ""
6213 "シグナルはそれぞれ現在の「処理方法 (disposition)」を保持しており、 この処理方"
6214 "法によりシグナルが配送された際にプロセスが どのような振舞いをするかが決まる。"
6215
6216 #. type: Plain text
6217 #: build/C/man7/signal.7:58
6218 msgid ""
6219 "The entries in the \"Action\" column of the tables below specify the default "
6220 "disposition for each signal, as follows:"
6221 msgstr ""
6222 "後述の表の \"動作\" の欄のエントリは各シグナルのデフォルトの 処理方法を示して"
6223 "おり、以下のような意味を持つ。"
6224
6225 #. type: IP
6226 #: build/C/man7/signal.7:58
6227 #, no-wrap
6228 msgid "Term"
6229 msgstr "Term"
6230
6231 #. type: Plain text
6232 #: build/C/man7/signal.7:60
6233 msgid "Default action is to terminate the process."
6234 msgstr "デフォルトの動作はプロセス終了。"
6235
6236 #. type: IP
6237 #: build/C/man7/signal.7:60
6238 #, no-wrap
6239 msgid "Ign"
6240 msgstr "Ign"
6241
6242 #. type: Plain text
6243 #: build/C/man7/signal.7:62
6244 msgid "Default action is to ignore the signal."
6245 msgstr "デフォルトの動作はこのシグナルの無視。"
6246
6247 #. type: IP
6248 #: build/C/man7/signal.7:62
6249 #, no-wrap
6250 msgid "Core"
6251 msgstr "Core"
6252
6253 #. type: Plain text
6254 #: build/C/man7/signal.7:65
6255 msgid ""
6256 "Default action is to terminate the process and dump core (see B<core>(5))."
6257 msgstr "デフォルトの動作はプロセス終了とコアダンプ出力 (B<core>(5)  参照)。"
6258
6259 #. type: IP
6260 #: build/C/man7/signal.7:65
6261 #, no-wrap
6262 msgid "Stop"
6263 msgstr "Stop"
6264
6265 #. type: Plain text
6266 #: build/C/man7/signal.7:67
6267 msgid "Default action is to stop the process."
6268 msgstr "デフォルトの動作はプロセスの一時停止。"
6269
6270 #. type: IP
6271 #: build/C/man7/signal.7:67
6272 #, no-wrap
6273 msgid "Cont"
6274 msgstr "Cont"
6275
6276 #. type: Plain text
6277 #: build/C/man7/signal.7:69
6278 msgid "Default action is to continue the process if it is currently stopped."
6279 msgstr "デフォルトの動作は、プロセスが停止中の場合にその実行の再開。"
6280
6281 #. type: Plain text
6282 #: build/C/man7/signal.7:91
6283 msgid ""
6284 "A process can change the disposition of a signal using B<sigaction>(2)  or "
6285 "B<signal>(2).  (The latter is less portable when establishing a signal "
6286 "handler; see B<signal>(2)  for details.)  Using these system calls, a "
6287 "process can elect one of the following behaviors to occur on delivery of the "
6288 "signal: perform the default action; ignore the signal; or catch the signal "
6289 "with a I<signal handler>, a programmer-defined function that is "
6290 "automatically invoked when the signal is delivered.  (By default, the signal "
6291 "handler is invoked on the normal process stack.  It is possible to arrange "
6292 "that the signal handler uses an alternate stack; see B<sigaltstack>(2)  for "
6293 "a discussion of how to do this and when it might be useful.)"
6294 msgstr ""
6295 "プロセスは、 B<sigaction>(2)  や B<signal>(2)  を使って、シグナルの処理方法を"
6296 "変更することができる (B<signal>(2)  の方がシグナルハンドラを設定する際の移植"
6297 "性が低い; 詳細は B<signal>(2)  を参照)。 シグナルの配送時に起こる動作として "
6298 "プロセスが選択できるのは、次のいずれか一つである。 デフォルトの動作を実行す"
6299 "る、シグナルを無視する、 I<シグナルハンドラ (signal handler)> でシグナルを捕"
6300 "捉する。シグナルハンドラとは、シグナル配送時に 自動的に起動されるプログラマ定"
6301 "義の関数である。 (デフォルトでは、シグナルハンドラは通常のプロセスのスタック"
6302 "上で起動される。 シグナルハンドラが代替スタック (alternate stack) を使用する"
6303 "ように設定する こともできる。代替スタックを使用するように設定する方法と、どの"
6304 "ような際に 代替スタックが役に立つかについての議論については B<sigaltstack>"
6305 "(2)  を参照のこと。"
6306
6307 #. type: Plain text
6308 #: build/C/man7/signal.7:95
6309 msgid ""
6310 "The signal disposition is a per-process attribute: in a multithreaded "
6311 "application, the disposition of a particular signal is the same for all "
6312 "threads."
6313 msgstr ""
6314 "シグナルの処理方法はプロセス単位の属性である。 マルチスレッドのアプリケーショ"
6315 "ンでは、あるシグナルの処理方法は 全てのスレッドで同じである。"
6316
6317 #. type: SS
6318 #: build/C/man7/signal.7:103
6319 #, no-wrap
6320 msgid "Sending a Signal"
6321 msgstr "シグナルの送信"
6322
6323 #. type: Plain text
6324 #: build/C/man7/signal.7:106
6325 msgid ""
6326 "The following system calls and library functions allow the caller to send a "
6327 "signal:"
6328 msgstr ""
6329 "以下のシステムコールとライブラリ関数を使って、 呼び出し者はシグナルを送信する"
6330 "ことができる。"
6331
6332 #. type: TP
6333 #: build/C/man7/signal.7:106
6334 #, no-wrap
6335 msgid "B<raise>(3)"
6336 msgstr "B<raise>(3)"
6337
6338 #. type: Plain text
6339 #: build/C/man7/signal.7:109
6340 msgid "Sends a signal to the calling thread."
6341 msgstr "呼び出したスレッドにシグナルを送る。"
6342
6343 #. type: TP
6344 #: build/C/man7/signal.7:109
6345 #, no-wrap
6346 msgid "B<kill>(2)"
6347 msgstr "B<kill>(2)"
6348
6349 #. type: Plain text
6350 #: build/C/man7/signal.7:114
6351 msgid ""
6352 "Sends a signal to a specified process, to all members of a specified process "
6353 "group, or to all processes on the system."
6354 msgstr ""
6355 "指定されたプロセスや、指定されたプロセスグループの全メンバー、 システムの全プ"
6356 "ロセスにシグナルを送る。"
6357
6358 #. type: TP
6359 #: build/C/man7/signal.7:114
6360 #, no-wrap
6361 msgid "B<killpg>(2)"
6362 msgstr "B<killpg>(2)"
6363
6364 #. type: Plain text
6365 #: build/C/man7/signal.7:117
6366 msgid "Sends a signal to all of the members of a specified process group."
6367 msgstr "指定されたプロセスグループの全メンバーにシグナルを送る。"
6368
6369 #. type: TP
6370 #: build/C/man7/signal.7:117
6371 #, no-wrap
6372 msgid "B<pthread_kill>(3)"
6373 msgstr "B<pthread_kill>(3)"
6374
6375 #. type: Plain text
6376 #: build/C/man7/signal.7:121
6377 msgid ""
6378 "Sends a signal to a specified POSIX thread in the same process as the caller."
6379 msgstr ""
6380 "呼び出し者と同じプロセス内の指定された POSIX スレッドにシグナルを送る。"
6381
6382 #. type: TP
6383 #: build/C/man7/signal.7:121
6384 #, no-wrap
6385 msgid "B<tgkill>(2)"
6386 msgstr "B<tgkill>(2)"
6387
6388 #. type: Plain text
6389 #: build/C/man7/signal.7:126
6390 msgid ""
6391 "Sends a signal to a specified thread within a specific process.  (This is "
6392 "the system call used to implement B<pthread_kill>(3).)"
6393 msgstr ""
6394 "指定されたプロセス内の指定されたスレッドにシグナルを送る (このシステムコール"
6395 "を使って B<pthread_kill>(3)  は実装されている)。"
6396
6397 #. type: Plain text
6398 #: build/C/man7/signal.7:129
6399 msgid "Sends a real-time signal with accompanying data to a specified process."
6400 msgstr "指定されたプロセスに付属データとともにリアルタイムシグナルを送る。"
6401
6402 #. type: SS
6403 #: build/C/man7/signal.7:129
6404 #, no-wrap
6405 msgid "Waiting for a Signal to be Caught"
6406 msgstr "シグナルが捕捉されるのを待つ"
6407
6408 #. type: Plain text
6409 #: build/C/man7/signal.7:133
6410 msgid ""
6411 "The following system calls suspend execution of the calling process or "
6412 "thread until a signal is caught (or an unhandled signal terminates the "
6413 "process):"
6414 msgstr ""
6415 "以下のシステムコールを使って、シグナルが捕捉されるまで 呼び出したプロセスやス"
6416 "レッドの実行を中断 (suspend) することができる (ハンドラが設定されていないシグ"
6417 "ナルによりそのプロセスが終了した 場合にも実行の停止は終了する)。"
6418
6419 #. type: TP
6420 #: build/C/man7/signal.7:133
6421 #, no-wrap
6422 msgid "B<pause>(2)"
6423 msgstr "B<pause>(2)"
6424
6425 #. type: Plain text
6426 #: build/C/man7/signal.7:136
6427 msgid "Suspends execution until any signal is caught."
6428 msgstr "何かシグナルが捕捉されるまで実行を停止する。"
6429
6430 #. type: TP
6431 #: build/C/man7/signal.7:136
6432 #, no-wrap
6433 msgid "B<sigsuspend>(2)"
6434 msgstr "B<sigsuspend>(2)"
6435
6436 #. type: Plain text
6437 #: build/C/man7/signal.7:140
6438 msgid ""
6439 "Temporarily changes the signal mask (see below) and suspends execution until "
6440 "one of the unmasked signals is caught."
6441 msgstr ""
6442 "一時的にシグナルマスク (下記参照) を変更し、 マスクされていないシグナルのいず"
6443 "れかが捕捉されるまで 実行を中断する。"
6444
6445 #. type: SS
6446 #: build/C/man7/signal.7:140
6447 #, no-wrap
6448 msgid "Synchronously Accepting a Signal"
6449 msgstr "シグナルの同期受信"
6450
6451 #. type: Plain text
6452 #: build/C/man7/signal.7:147
6453 msgid ""
6454 "Rather than asynchronously catching a signal via a signal handler, it is "
6455 "possible to synchronously accept the signal, that is, to block execution "
6456 "until the signal is delivered, at which point the kernel returns information "
6457 "about the signal to the caller.  There are two general ways to do this:"
6458 msgstr ""
6459 "シグナルハンドラ経由でシグナルを非同期 (asynchronously) で捕捉する以外にも、 "
6460 "シグナルを同期 (synchronously) して受け付けることもできる。 同期して受け付け"
6461 "るとは、シグナルが配送されるまで実行を停止 (block)  するということである。シ"
6462 "グナルを受け付けた際に、カーネルは そのシグナルに関する情報を呼び出し者に返"
6463 "す。 これを行う一般的な方法が二つある。"
6464
6465 #. type: Plain text
6466 #: build/C/man7/signal.7:155
6467 msgid ""
6468 "B<sigwaitinfo>(2), B<sigtimedwait>(2), and B<sigwait>(3)  suspend execution "
6469 "until one of the signals in a specified set is delivered.  Each of these "
6470 "calls returns information about the delivered signal."
6471 msgstr ""
6472 "B<sigwaitinfo>(2), B<sigtimedwait>(2), B<sigwait>(3)  は、指定されたシグナル"
6473 "集合のシグナルの一つが配送されるまで実行を中断する。 どのシステムコールや関数"
6474 "でも、配送されたシグナルに関する情報が返される。"
6475
6476 #. type: Plain text
6477 #: build/C/man7/signal.7:168
6478 msgid ""
6479 "B<signalfd>(2)  returns a file descriptor that can be used to read "
6480 "information about signals that are delivered to the caller.  Each B<read>"
6481 "(2)  from this file descriptor blocks until one of the signals in the set "
6482 "specified in the B<signalfd>(2)  call is delivered to the caller.  The "
6483 "buffer returned by B<read>(2)  contains a structure describing the signal."
6484 msgstr ""
6485 "B<signalfd>(2)  が返すファイルディスクリプタを使うと、呼び出し元に配送された "
6486 "シグナルに関する情報を読み出すことができる。 このファイルディスクリプタから"
6487 "の B<read>(2)  は、 B<signalfd>(2)  の呼び出し時に指定されたシグナル集合のシ"
6488 "グナルの一つが呼び出し元に 配送されるまで停止 (block) する。 B<read>(2)  が返"
6489 "すバッファにはシグナルに関する情報を格納した構造体が入っている。"
6490
6491 #. type: SS
6492 #: build/C/man7/signal.7:168
6493 #, no-wrap
6494 msgid "Signal Mask and Pending Signals"
6495 msgstr "シグナルマスクと処理待ちシグナル"
6496
6497 #. type: Plain text
6498 #: build/C/man7/signal.7:175
6499 msgid ""
6500 "A signal may be I<blocked>, which means that it will not be delivered until "
6501 "it is later unblocked.  Between the time when it is generated and when it is "
6502 "delivered a signal is said to be I<pending>."
6503 msgstr ""
6504 "シグナルは I<ブロック (block)> されることがある。ブロックされると、そのシグナ"
6505 "ルは その後ブロックを解除されるまで配送されなくなる。 シグナルが生成されてか"
6506 "ら配送されるまでの間、そのシグナルは I<処理待ち (pending)> であると呼ばれる。"
6507
6508 #. type: Plain text
6509 #: build/C/man7/signal.7:184
6510 msgid ""
6511 "Each thread in a process has an independent I<signal mask>, which indicates "
6512 "the set of signals that the thread is currently blocking.  A thread can "
6513 "manipulate its signal mask using B<pthread_sigmask>(3).  In a traditional "
6514 "single-threaded application, B<sigprocmask>(2)  can be used to manipulate "
6515 "the signal mask."
6516 msgstr ""
6517 "プロセス内の各スレッドは、それぞれ独立な I<シグナルマスク (signal mask)> を持"
6518 "つ。シグナルマスクはそのスレッドが現在ブロックしている シグナル集合を示すもの"
6519 "である。 スレッドは、 B<pthread_sigmask>(3)  を使って自分のシグナルマスクを操"
6520 "作できる。 伝統的なシングルスレッドのアプリケーションでは、 B<sigprocmask>"
6521 "(2)  を使って、シグナルマスクを操作できる。"
6522
6523 #. type: Plain text
6524 #: build/C/man7/signal.7:190 build/C/man2/sigprocmask.2:121
6525 msgid ""
6526 "A child created via B<fork>(2)  inherits a copy of its parent's signal mask; "
6527 "the signal mask is preserved across B<execve>(2)."
6528 msgstr ""
6529 "B<fork>(2)  経由で作成された子プロセスは親プロセスのシグナルマスクのコピーを"
6530 "継承する。 B<execve>(2)  の前後でシグナルマスクは保持される。"
6531
6532 #. type: Plain text
6533 #: build/C/man7/signal.7:207
6534 msgid ""
6535 "A signal may be generated (and thus pending)  for a process as a whole (e."
6536 "g., when sent using B<kill>(2))  or for a specific thread (e.g., certain "
6537 "signals, such as B<SIGSEGV> and B<SIGFPE>, generated as a consequence of "
6538 "executing a specific machine-language instruction are thread directed, as "
6539 "are signals targeted at a specific thread using B<pthread_kill>(3)).  A "
6540 "process-directed signal may be delivered to any one of the threads that does "
6541 "not currently have the signal blocked.  If more than one of the threads has "
6542 "the signal unblocked, then the kernel chooses an arbitrary thread to which "
6543 "to deliver the signal."
6544 msgstr ""
6545 "生成されるシグナル (したがって処理待ちとなるシグナル) には、 プロセス全体宛て"
6546 "と特定のスレッド宛てがある。 例えば、プロセス全体宛てのシグナルは B<kill>"
6547 "(2)  を使って送信される。 特定のマシン語の命令の実行の結果として生成される、 "
6548 "B<SIGSEGV> や B<SIGFPE> などのシグナルは、スレッド宛てとなる。 また、 "
6549 "B<pthread_kill>(3)  を使って特定のスレッド宛てに生成されたシグナルも スレッド"
6550 "宛てとなる。 プロセス宛てのシグナルは、そのシグナルをブロックしていないスレッ"
6551 "ドのうち いずれかの一つに配送することができる。そのシグナルをブロックしていな"
6552 "い スレッドが複数ある場合、シグナルを配送するスレッドはカーネルが 無作為に選"
6553 "択する。"
6554
6555 #. type: Plain text
6556 #: build/C/man7/signal.7:214
6557 msgid ""
6558 "A thread can obtain the set of signals that it currently has pending using "
6559 "B<sigpending>(2).  This set will consist of the union of the set of pending "
6560 "process-directed signals and the set of signals pending for the calling "
6561 "thread."
6562 msgstr ""
6563 "スレッドは、 B<sigpending>(2)  を使って、現在処理待ちのシグナル集合を取得する"
6564 "ことができる。 この集合は、プロセス宛ての処理待ちシグナルと 呼び出したスレッ"
6565 "ド宛てのシグナルの両方から構成される。"
6566
6567 #. type: Plain text
6568 #: build/C/man7/signal.7:220 build/C/man2/sigpending.2:76
6569 msgid ""
6570 "A child created via B<fork>(2)  initially has an empty pending signal set; "
6571 "the pending signal set is preserved across an B<execve>(2)."
6572 msgstr ""
6573 "B<fork>(2)  経由で作成された子プロセスでは、処理待ちのシグナル集合は空の集合"
6574 "で初期化される。 B<execve>(2)  の前後で、処理待ちのシグナル集合は保持される。"
6575
6576 #. type: SS
6577 #: build/C/man7/signal.7:220
6578 #, no-wrap
6579 msgid "Standard Signals"
6580 msgstr "標準シグナル"
6581
6582 #.  parisc is a law unto itself
6583 #. type: Plain text
6584 #: build/C/man7/signal.7:230
6585 msgid ""
6586 "Linux supports the standard signals listed below.  Several signal numbers "
6587 "are architecture-dependent, as indicated in the \"Value\" column.  (Where "
6588 "three values are given, the first one is usually valid for alpha and sparc, "
6589 "the middle one for ix86, ia64, ppc, s390, arm and sh, and the last one for "
6590 "mips.  A - denotes that a signal is absent on the corresponding "
6591 "architecture.)"
6592 msgstr ""
6593 "Linux は以下に示す標準シグナルに対応している。 シグナル番号の一部はアーキテク"
6594 "チャ依存であり、\"値\" 欄に示す通りである。 (3つの値が書かれているものは、 1"
6595 "つ目が alpha と sparc で通常有効な値、 真ん中が ix86, ia64, ppc, s390, arm, "
6596 "sh での値、最後が mips での値である。 - はそのアーキテクチャにおいて対応する"
6597 "シグナルがないことを示す。)"
6598
6599 #. type: Plain text
6600 #: build/C/man7/signal.7:232
6601 msgid "First the signals described in the original POSIX.1-1990 standard."
6602 msgstr "最初に、POSIX.1-1990 に定義されているシグナルを示す。"
6603
6604 #. type: tbl table
6605 #: build/C/man7/signal.7:236 build/C/man7/signal.7:272
6606 #: build/C/man7/signal.7:301
6607 #, no-wrap
6608 msgid "Signal\tValue\tAction\tComment\n"
6609 msgstr "シグナル\t値\t動作\tコメント\n"
6610
6611 #. type: tbl table
6612 #: build/C/man7/signal.7:237
6613 #, no-wrap
6614 msgid "SIGHUP\t\\01\tTerm\tHangup detected on controlling terminal\n"
6615 msgstr "SIGHUP\t\\01\tTerm\t制御端末(controlling terminal)のハングアップ検出、\n"
6616
6617 #. type: tbl table
6618 #: build/C/man7/signal.7:238
6619 #, no-wrap
6620 msgid "\t\t\tor death of controlling process\n"
6621 msgstr "\t\t\tまたは制御しているプロセスの死\n"
6622
6623 #. type: tbl table
6624 #: build/C/man7/signal.7:239
6625 #, no-wrap
6626 msgid "SIGINT\t\\02\tTerm\tInterrupt from keyboard\n"
6627 msgstr "SIGINT\t\\02\tTerm\tキーボードからの割り込み (Interrupt)\n"
6628
6629 #. type: tbl table
6630 #: build/C/man7/signal.7:240
6631 #, no-wrap
6632 msgid "SIGQUIT\t\\03\tCore\tQuit from keyboard\n"
6633 msgstr "SIGQUIT\t\\03\tCore\tキーボードによる中止 (Quit)\n"
6634
6635 #. type: tbl table
6636 #: build/C/man7/signal.7:241
6637 #, no-wrap
6638 msgid "SIGILL\t\\04\tCore\tIllegal Instruction\n"
6639 msgstr "SIGILL\t\\04\tCore\t不正な命令\n"
6640
6641 #. type: tbl table
6642 #: build/C/man7/signal.7:242
6643 #, no-wrap
6644 msgid "SIGABRT\t\\06\tCore\tAbort signal from B<abort>(3)\n"
6645 msgstr "SIGABRT\t\\06\tCore\tB<abort>(3) からの中断 (Abort) シグナル\n"
6646
6647 #. type: tbl table
6648 #: build/C/man7/signal.7:243
6649 #, no-wrap
6650 msgid "SIGFPE\t\\08\tCore\tFloating point exception\n"
6651 msgstr "SIGFPE\t\\08\tCore\t浮動小数点例外\n"
6652
6653 #. type: tbl table
6654 #: build/C/man7/signal.7:244
6655 #, no-wrap
6656 msgid "SIGKILL\t\\09\tTerm\tKill signal\n"
6657 msgstr "SIGKILL\t\\09\tTerm\tKill シグナル\n"
6658
6659 #. type: tbl table
6660 #: build/C/man7/signal.7:245
6661 #, no-wrap
6662 msgid "SIGSEGV\t11\tCore\tInvalid memory reference\n"
6663 msgstr "SIGSEGV\t11\tCore\t不正なメモリ参照\n"
6664
6665 #. type: tbl table
6666 #: build/C/man7/signal.7:246
6667 #, no-wrap
6668 msgid "SIGPIPE\t13\tTerm\tBroken pipe: write to pipe with no\n"
6669 msgstr "SIGPIPE\t13\tTerm\tパイプ破壊:\n"
6670
6671 #. type: tbl table
6672 #: build/C/man7/signal.7:247
6673 #, no-wrap
6674 msgid "\t\t\treaders\n"
6675 msgstr "\t\t\t読み手の無いパイプへの書き出し\n"
6676
6677 #. type: tbl table
6678 #: build/C/man7/signal.7:248
6679 #, no-wrap
6680 msgid "SIGALRM\t14\tTerm\tTimer signal from B<alarm>(2)\n"
6681 msgstr "SIGALRM\t14\tTerm\tB<alarm>(2) からのタイマーシグナル\n"
6682
6683 #. type: tbl table
6684 #: build/C/man7/signal.7:249
6685 #, no-wrap
6686 msgid "SIGTERM\t15\tTerm\tTermination signal\n"
6687 msgstr "SIGTERM\t15\tTerm\t終了 (termination) シグナル\n"
6688
6689 #. type: tbl table
6690 #: build/C/man7/signal.7:250
6691 #, no-wrap
6692 msgid "SIGUSR1\t30,10,16\tTerm\tUser-defined signal 1\n"
6693 msgstr "SIGUSR1\t30,10,16\tTerm\tユーザ定義シグナル 1\n"
6694
6695 #. type: tbl table
6696 #: build/C/man7/signal.7:251
6697 #, no-wrap
6698 msgid "SIGUSR2\t31,12,17\tTerm\tUser-defined signal 2\n"
6699 msgstr "SIGUSR2\t31,12,17\tTerm\tユーザ定義シグナル 2\n"
6700
6701 #. type: tbl table
6702 #: build/C/man7/signal.7:252
6703 #, no-wrap
6704 msgid "SIGCHLD\t20,17,18\tIgn\tChild stopped or terminated\n"
6705 msgstr "SIGCHLD\t20,17,18\tIgn\t子プロセスの一時停止 (stop) または終了\n"
6706
6707 #. type: tbl table
6708 #: build/C/man7/signal.7:253
6709 #, no-wrap
6710 msgid "SIGCONT\t19,18,25\tCont\tContinue if stopped\n"
6711 msgstr "SIGCONT\t19,18,25\tCont\t一時停止 (stop) からの再開\n"
6712
6713 #. type: tbl table
6714 #: build/C/man7/signal.7:254
6715 #, no-wrap
6716 msgid "SIGSTOP\t17,19,23\tStop\tStop process\n"
6717 msgstr "SIGSTOP\t17,19,23\tStop\tプロセスの一時停止 (stop)\n"
6718
6719 #. type: tbl table
6720 #: build/C/man7/signal.7:255
6721 #, no-wrap
6722 msgid "SIGTSTP\t18,20,24\tStop\tStop typed at tty\n"
6723 msgstr "SIGTSTP\t18,20,24\tStop\t端末 (tty) より入力された一時停止 (stop)\n"
6724
6725 #. type: tbl table
6726 #: build/C/man7/signal.7:256
6727 #, no-wrap
6728 msgid "SIGTTIN\t21,21,26\tStop\ttty input for background process\n"
6729 msgstr "SIGTTIN\t21,21,26\tStop\tバックグランドプロセスの tty 入力\n"
6730
6731 #. type: tbl table
6732 #: build/C/man7/signal.7:257
6733 #, no-wrap
6734 msgid "SIGTTOU\t22,22,27\tStop\ttty output for background process\n"
6735 msgstr "SIGTTOU\t22,22,27\tStop\tバックグランドプロセスの tty 出力\n"
6736
6737 #. type: Plain text
6738 #: build/C/man7/signal.7:265
6739 msgid ""
6740 "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught, blocked, or ignored."
6741 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> はキャッチ、ブロック、無視できない。"
6742
6743 #. type: Plain text
6744 #: build/C/man7/signal.7:268
6745 msgid ""
6746 "Next the signals not in the POSIX.1-1990 standard but described in SUSv2 and "
6747 "POSIX.1-2001."
6748 msgstr ""
6749 "次に、 POSIX.1-1990 標準にはないが、 SUSv2 と POSIX.1-2001 に記述されているシ"
6750 "グナルを示す。"
6751
6752 #. type: tbl table
6753 #: build/C/man7/signal.7:273
6754 #, no-wrap
6755 msgid "SIGBUS\t10,7,10\tCore\tBus error (bad memory access)\n"
6756 msgstr "SIGBUS\t10,7,10\tCore\tバスエラー (不正なメモリアクセス)\n"
6757
6758 #. type: tbl table
6759 #: build/C/man7/signal.7:274
6760 #, no-wrap
6761 msgid "SIGPOLL\t\tTerm\tPollable event (Sys V).\n"
6762 msgstr "SIGPOLL\t\tTerm\tポーリング可能なイベント (Sys V)。\n"
6763
6764 #. type: tbl table
6765 #: build/C/man7/signal.7:275
6766 #, no-wrap
6767 msgid "\t\t\tSynonym for B<SIGIO>\n"
6768 msgstr "\t\t\tB<SIGIO> と同義\n"
6769
6770 #. type: tbl table
6771 #: build/C/man7/signal.7:276
6772 #, no-wrap
6773 msgid "SIGPROF\t27,27,29\tTerm\tProfiling timer expired\n"
6774 msgstr "SIGPROF\t27,27,29\tTerm\tprofiling タイマの時間切れ\n"
6775
6776 #. type: tbl table
6777 #: build/C/man7/signal.7:277
6778 #, no-wrap
6779 msgid "SIGSYS\t12,31,12\tCore\tBad argument to routine (SVr4)\n"
6780 msgstr "SIGSYS\t12,31,12\tCore\tルーチンへの引き数が不正 (SVr4)\n"
6781
6782 #. type: tbl table
6783 #: build/C/man7/signal.7:278
6784 #, no-wrap
6785 msgid "SIGTRAP\t5\tCore\tTrace/breakpoint trap\n"
6786 msgstr "SIGTRAP\t5\tCore\tトレース/ブレークポイント トラップ\n"
6787
6788 #. type: tbl table
6789 #: build/C/man7/signal.7:279
6790 #, no-wrap
6791 msgid "SIGURG\t16,23,21\tIgn\tUrgent condition on socket (4.2BSD)\n"
6792 msgstr "SIGURG\t16,23,21\tIgn\tソケットの緊急事態 (urgent condition) (4.2BSD)\n"
6793
6794 #. type: tbl table
6795 #: build/C/man7/signal.7:280
6796 #, no-wrap
6797 msgid "SIGVTALRM\t26,26,28\tTerm\tVirtual alarm clock (4.2BSD)\n"
6798 msgstr "SIGVTALRM\t26,26,28\tTerm\t仮想アラームクロック (4.2BSD)\n"
6799
6800 #. type: tbl table
6801 #: build/C/man7/signal.7:281
6802 #, no-wrap
6803 msgid "SIGXCPU\t24,24,30\tCore\tCPU time limit exceeded (4.2BSD)\n"
6804 msgstr "SIGXCPU\t24,24,30\tCore\tCPU時間制限超過 (4.2BSD)\n"
6805
6806 #. type: tbl table
6807 #: build/C/man7/signal.7:282
6808 #, no-wrap
6809 msgid "SIGXFSZ\t25,25,31\tCore\tFile size limit exceeded (4.2BSD)\n"
6810 msgstr "SIGXFSZ\t25,25,31\tCore\tファイルサイズ制限の超過 (4.2BSD)\n"
6811
6812 #. type: Plain text
6813 #: build/C/man7/signal.7:295
6814 msgid ""
6815 "Up to and including Linux 2.2, the default behavior for B<SIGSYS>, "
6816 "B<SIGXCPU>, B<SIGXFSZ>, and (on architectures other than SPARC and MIPS)  "
6817 "B<SIGBUS> was to terminate the process (without a core dump).  (On some "
6818 "other UNIX systems the default action for B<SIGXCPU> and B<SIGXFSZ> is to "
6819 "terminate the process without a core dump.)  Linux 2.4 conforms to the "
6820 "POSIX.1-2001 requirements for these signals, terminating the process with a "
6821 "core dump."
6822 msgstr ""
6823 "Linux 2.2 以前では、 B<SIGSYS>, B<SIGXCPU>, B<SIGXFSZ> および SPARC と MIPS "
6824 "以外のアーキテクチャでの B<SIGBUS> のデフォルトの振る舞いは (コアダンプ出力な"
6825 "しの) プロセス終了であった。 (他の UNIX システムにも B<SIGXCPU> と "
6826 "B<SIGXFSZ> のデフォルトの動作がコアダンプなしのプロセス終了のものがある。)  "
6827 "Linux 2.4 では、POSIX.1-2001 での要求仕様に準拠して、 これらのシグナルで、プ"
6828 "ロセスを終了させ、コアダンプを出力する ようになっている。"
6829
6830 #. type: Plain text
6831 #: build/C/man7/signal.7:297
6832 msgid "Next various other signals."
6833 msgstr "次にその他の各種シグナルを示す。"
6834
6835 #. type: tbl table
6836 #: build/C/man7/signal.7:302
6837 #, no-wrap
6838 msgid "SIGIOT\t6\tCore\tIOT trap. A synonym for B<SIGABRT>\n"
6839 msgstr "SIGIOT\t6\tCore\tIOT トラップ。B<SIGABRT> と同義\n"
6840
6841 #. type: tbl table
6842 #: build/C/man7/signal.7:303
6843 #, no-wrap
6844 msgid "SIGEMT\t7,-,7\tTerm\n"
6845 msgstr "SIGEMT\t7,-,7\tTerm\n"
6846
6847 #. type: tbl table
6848 #: build/C/man7/signal.7:304
6849 #, no-wrap
6850 msgid "SIGSTKFLT\t-,16,-\tTerm\tStack fault on coprocessor (unused)\n"
6851 msgstr "SIGSTKFLT\t-,16,-\tA\t数値演算プロセッサにおけるスタックフォルト (未使用)\n"
6852
6853 #. type: tbl table
6854 #: build/C/man7/signal.7:305
6855 #, no-wrap
6856 msgid "SIGIO\t23,29,22\tTerm\tI/O now possible (4.2BSD)\n"
6857 msgstr "SIGIO\t23,29,22\tTerm\t入出力が可能になった (4.2BSD)\n"
6858
6859 #. type: tbl table
6860 #: build/C/man7/signal.7:306
6861 #, no-wrap
6862 msgid "SIGCLD\t-,-,18\tIgn\tA synonym for B<SIGCHLD>\n"
6863 msgstr "SIGCLD\t-,-,18\tIgn\tB<SIGCHLD> と同義\n"
6864
6865 #. type: tbl table
6866 #: build/C/man7/signal.7:307
6867 #, no-wrap
6868 msgid "SIGPWR\t29,30,19\tTerm\tPower failure (System V)\n"
6869 msgstr "SIGPWR\t29,30,19\tTerm\t電源喪失 (Power failure) (System V)\n"
6870
6871 #. type: tbl table
6872 #: build/C/man7/signal.7:308
6873 #, no-wrap
6874 msgid "SIGINFO\t29,-,-\t\tA synonym for B<SIGPWR>\n"
6875 msgstr "SIGINFO\t29,-,-\t \tB<SIGPWR> と同義\n"
6876
6877 #. type: tbl table
6878 #: build/C/man7/signal.7:309
6879 #, no-wrap
6880 msgid "SIGLOST\t-,-,-\tTerm\tFile lock lost\n"
6881 msgstr "SIGLOST\t-,-,-\tTerm\tファイルロックが失われた\n"
6882
6883 #. type: tbl table
6884 #: build/C/man7/signal.7:310
6885 #, no-wrap
6886 msgid "SIGWINCH\t28,28,20\tIgn\tWindow resize signal (4.3BSD, Sun)\n"
6887 msgstr "SIGWINCH\t28,28,20\tIgn\tウィンドウ リサイズ シグナル (4.3BSD, Sun)\n"
6888
6889 #. type: tbl table
6890 #: build/C/man7/signal.7:311
6891 #, no-wrap
6892 msgid "SIGUNUSED\t-,31,-\tCore\tSynonymous with B<SIGSYS>\n"
6893 msgstr "SIGUNUSED\t-,31,-\tCore\tB<SIGSYS> と同義\n"
6894
6895 #. type: Plain text
6896 #: build/C/man7/signal.7:321
6897 msgid ""
6898 "(Signal 29 is B<SIGINFO> / B<SIGPWR> on an alpha but B<SIGLOST> on a sparc.)"
6899 msgstr ""
6900 "(シグナル 29 は alpha では B<SIGINFO> / B<SIGPWR> だが、sparc では "
6901 "B<SIGLOST> である。)"
6902
6903 #. type: Plain text
6904 #: build/C/man7/signal.7:327
6905 msgid ""
6906 "B<SIGEMT> is not specified in POSIX.1-2001, but nevertheless appears on most "
6907 "other UNIX systems, where its default action is typically to terminate the "
6908 "process with a core dump."
6909 msgstr ""
6910 "B<SIGEMT> は POSIX.1-2001 に規定されていないが、 その他の多くの UNIX システム"
6911 "に存在する。 デフォルトの動作は多くの場合、コアダンプ出力を伴うプロセスの終了"
6912 "である。"
6913
6914 #. type: Plain text
6915 #: build/C/man7/signal.7:331
6916 msgid ""
6917 "B<SIGPWR> (which is not specified in POSIX.1-2001) is typically ignored by "
6918 "default on those other UNIX systems where it appears."
6919 msgstr ""
6920 "B<SIGPWR> は (POSIX.1-2001 に規定されていないが) このシグナルが存在する 他の "
6921 "UNIX システムでは多くの場合、デフォルト動作は無視である。"
6922
6923 #. type: Plain text
6924 #: build/C/man7/signal.7:335
6925 msgid ""
6926 "B<SIGIO> (which is not specified in POSIX.1-2001) is ignored by default on "
6927 "several other UNIX systems."
6928 msgstr ""
6929 "B<SIGIO> は (POSIX.1-2001 に規定されていないが) いくつかの他の UNIX システム"
6930 "では デフォルト動作は無視である。"
6931
6932 #.  parisc is the only exception: SIGSYS is 12, SIGUNUSED is 31
6933 #. type: Plain text
6934 #: build/C/man7/signal.7:342
6935 msgid ""
6936 "Where defined, B<SIGUNUSED> is synonymous with B<SIGSYS> on most "
6937 "architectures."
6938 msgstr ""
6939 "B<SIGUNUSED> が定義されている場合には、ほとんどのアーキテクチャで B<SIGSYS> "
6940 "の同義語となっている。"
6941
6942 #. type: SS
6943 #: build/C/man7/signal.7:342
6944 #, no-wrap
6945 msgid "Real-time Signals"
6946 msgstr "リアルタイムシグナル"
6947
6948 #. type: Plain text
6949 #: build/C/man7/signal.7:352
6950 msgid ""
6951 "Linux supports real-time signals as originally defined in the POSIX.1b real-"
6952 "time extensions (and now included in POSIX.1-2001).  The range of supported "
6953 "real-time signals is defined by the macros B<SIGRTMIN> and B<SIGRTMAX>.  "
6954 "POSIX.1-2001 requires that an implementation support at least "
6955 "B<_POSIX_RTSIG_MAX> (8) real-time signals."
6956 msgstr ""
6957 "Linux はリアルタイムシグナルをサポートしている。 リアルタイムシグナルは元々 "
6958 "POSIX.1b のリアルタイム拡張で定義されて いるものであり、現在では "
6959 "POSIX.1-2001 に含まれている。 対応しているリアルタイムシグナルの範囲は、マク"
6960 "ロ B<SIGRTMIN> と B<SIGRTMAX> で定義される。 POSIX.1-2001 では、少なくとも "
6961 "B<_POSIX_RTSIG_MAX> (8) 個のリアルタイムシグナルに対応した実装が要求されてい"
6962 "る。"
6963
6964 #. type: Plain text
6965 #: build/C/man7/signal.7:374
6966 msgid ""
6967 "The Linux kernel supports a range of 32 different real-time signals, "
6968 "numbered 33 to 64.  However, the glibc POSIX threads implementation "
6969 "internally uses two (for NPTL) or three (for LinuxThreads) real-time signals "
6970 "(see B<pthreads>(7)), and adjusts the value of B<SIGRTMIN> suitably (to 34 "
6971 "or 35).  Because the range of available real-time signals varies according "
6972 "to the glibc threading implementation (and this variation can occur at run "
6973 "time according to the available kernel and glibc), and indeed the range of "
6974 "real-time signals varies across UNIX systems, programs should I<never refer "
6975 "to real-time signals using hard-coded numbers>, but instead should always "
6976 "refer to real-time signals using the notation B<SIGRTMIN>+n, and include "
6977 "suitable (run-time) checks that B<SIGRTMIN>+n does not exceed B<SIGRTMAX>."
6978 msgstr ""
6979 "Linux は、32 個の異なるリアルタイムシグナルに対応しており、 その番号は 33 か"
6980 "ら 64 である。 しかしながら、glibc の POSIX スレッド実装は、 内部で 2個 "
6981 "(NPTL の場合) か 3個 (LinuxThreads の場合) の リアルタイムシグナルを使用して"
6982 "おり (B<pthreads>(7)  参照)、 B<SIGRTMIN> の値を適切に (34 か 35 に) 調整す"
6983 "る。 利用可能なリアルタイムシグナルの範囲は glibc のスレッド実装により 異なる"
6984 "し (使用するカーネルと glibc により実行時にも変化する)、 UNIX システムの種類"
6985 "によっても異なる。したがって、 プログラムでは「ハードコーディングした数字を"
6986 "使ってのリアルタイムシグナルの 参照は決してすべきではなく」、代わりに "
6987 "B<SIGRTMIN>+n の形で参照すべきである。また、 B<SIGRTMIN>+n が B<SIGRTMAX> を"
6988 "超えていないかのチェックを (実行時に) 適切に行うべきである。"
6989
6990 #. type: Plain text
6991 #: build/C/man7/signal.7:378
6992 msgid ""
6993 "Unlike standard signals, real-time signals have no predefined meanings: the "
6994 "entire set of real-time signals can be used for application-defined purposes."
6995 msgstr ""
6996 "標準シグナルと異なり、リアルタイムシグナルには 事前に定義された意味はない。 "
6997 "リアルタイムシグナルの全部をアプリケーションで定義した用途に使える。"
6998
6999 #. type: Plain text
7000 #: build/C/man7/signal.7:381
7001 msgid ""
7002 "The default action for an unhandled real-time signal is to terminate the "
7003 "receiving process."
7004 msgstr ""
7005 "ハンドリングしないリアルタイムシグナルのデフォルトの動作は 受信したプロセスの"
7006 "終了である。"
7007
7008 #. type: Plain text
7009 #: build/C/man7/signal.7:383
7010 msgid "Real-time signals are distinguished by the following:"
7011 msgstr "リアルタイムシグナルは以下の特徴がある:"
7012
7013 #. type: Plain text
7014 #: build/C/man7/signal.7:387
7015 msgid ""
7016 "Multiple instances of real-time signals can be queued.  By contrast, if "
7017 "multiple instances of a standard signal are delivered while that signal is "
7018 "currently blocked, then only one instance is queued."
7019 msgstr ""
7020 "リアルタイムシグナルは複数の実体をキューに入れることができる。 一方、標準シグ"
7021 "ナルの場合、そのシグナルがブロックされている間に 同じシグナルの複数のインスタ"
7022 "ンスが配送されても、 1 つだけがキューに入れられる。"
7023
7024 #. type: Plain text
7025 #: build/C/man7/signal.7:407
7026 msgid ""
7027 "If the signal is sent using B<sigqueue>(3), an accompanying value (either an "
7028 "integer or a pointer) can be sent with the signal.  If the receiving process "
7029 "establishes a handler for this signal using the B<SA_SIGINFO> flag to "
7030 "B<sigaction>(2)  then it can obtain this data via the I<si_value> field of "
7031 "the I<siginfo_t> structure passed as the second argument to the handler.  "
7032 "Furthermore, the I<si_pid> and I<si_uid> fields of this structure can be "
7033 "used to obtain the PID and real user ID of the process sending the signal."
7034 msgstr ""
7035 "シグナルが B<sigqueue>(3)  を用いて送信された場合、 付属データ (整数かポイン"
7036 "タ) をシグナルと共に送信できる。 受信側プロセスが B<sigaction>(2)  に "
7037 "B<SA_SIGINFO> フラグを指定してシグナルハンドラを設定した場合、 このデータは "
7038 "I<siginfo_t> 構造体の I<si_value> フィールド経由でハンドラの第 2 引き数として"
7039 "渡され、 利用することができる。 さらに、この構造体の I<si_pid> と I<si_uid> "
7040 "フィールドでシグナルを送信したプロセスの PID と実ユーザ ID を 得ることができ"
7041 "る。"
7042
7043 #. type: Plain text
7044 #: build/C/man7/signal.7:416
7045 msgid ""
7046 "Real-time signals are delivered in a guaranteed order.  Multiple real-time "
7047 "signals of the same type are delivered in the order they were sent.  If "
7048 "different real-time signals are sent to a process, they are delivered "
7049 "starting with the lowest-numbered signal.  (I.e., low-numbered signals have "
7050 "highest priority.)  By contrast, if multiple standard signals are pending "
7051 "for a process, the order in which they are delivered is unspecified."
7052 msgstr ""
7053 "リアルタイムシグナルでは配送される順序が保証される。 同じタイプのリアルタイム"
7054 "シグナルは送信された順番に到着する。 異なるリアルタイムシグナルが一つのプロセ"
7055 "スに送信された場合、 番号の小さいシグナルから先に到着する。 (つまり小さい番号"
7056 "のシグナルが高い優先順位を持つ。)  対照的に、一つのプロセスに対して複数の標準"
7057 "シグナルが処理待ちとなった場合、 これらのシグナルが配送される順序は不定であ"
7058 "る。"
7059
7060 #. type: Plain text
7061 #: build/C/man7/signal.7:421
7062 msgid ""
7063 "If both standard and real-time signals are pending for a process, POSIX "
7064 "leaves it unspecified which is delivered first.  Linux, like many other "
7065 "implementations, gives priority to standard signals in this case."
7066 msgstr ""
7067 "一つのプロセスに対して標準シグナルとリアルタイムシグナルの両方が 処理待ちの場"
7068 "合、POSIX はどちらが先に配送されるかを規定していない。 Linux では、他の多くの"
7069 "実装と同様、このような場合には 標準シグナルが優先される。"
7070
7071 #. type: Plain text
7072 #: build/C/man7/signal.7:444
7073 msgid ""
7074 "According to POSIX, an implementation should permit at least "
7075 "B<_POSIX_SIGQUEUE_MAX> (32) real-time signals to be queued to a process.  "
7076 "However, Linux does things differently.  In kernels up to and including "
7077 "2.6.7, Linux imposes a system-wide limit on the number of queued real-time "
7078 "signals for all processes.  This limit can be viewed and (with privilege) "
7079 "changed via the I</proc/sys/kernel/rtsig-max> file.  A related file, I</proc/"
7080 "sys/kernel/rtsig-nr>, can be used to find out how many real-time signals are "
7081 "currently queued.  In Linux 2.6.8, these I</proc> interfaces were replaced "
7082 "by the B<RLIMIT_SIGPENDING> resource limit, which specifies a per-user limit "
7083 "for queued signals; see B<setrlimit>(2)  for further details."
7084 msgstr ""
7085 "POSIX によれば、1 プロセス毎に最低 B<_POSIX_SIGQUEUE_MAX> (32) 個のリアルタイ"
7086 "ムシグナルをキューに入れられるべきとしている。 しかし、 Linux では違った実装"
7087 "になっている。カーネル 2.6.7 までは (2.6.7 を含む)、全プロセスでキューに入っ"
7088 "ているリアルタイムシグナル の数の合計についてシステム全体での制限がある。 こ"
7089 "の制限は I</proc/sys/kernel/rtsig-max> ファイルで見ることができ、 (権限があれ"
7090 "ば) 変更もできる。 関係するファイルとして、 I</proc/sys/kernel/rtsig-nr> を見"
7091 "ることで、いくつのリアルタイムシグナルが現在キューに入っているかを 知ることが"
7092 "できる。 Linux 2.6.8 で、これらの I</proc> 経由のインターフェースは、 "
7093 "B<RLIMIT_SIGPENDING> リソース制限に置き換えられた。 これは、キューに入るシグ"
7094 "ナル数に関してユーザ単位に 上限を指定するものである。 詳しくは B<setrlimit>"
7095 "(2)  を参照。"
7096
7097 #. type: SS
7098 #: build/C/man7/signal.7:444
7099 #, no-wrap
7100 msgid "Async-signal-safe functions"
7101 msgstr "非同期シグナルで安全な関数 (async-signal-safe functions)"
7102
7103 #. type: Plain text
7104 #: build/C/man7/signal.7:453
7105 msgid ""
7106 "A signal handler function must be very careful, since processing elsewhere "
7107 "may be interrupted at some arbitrary point in the execution of the program.  "
7108 "POSIX has the concept of \"safe function\".  If a signal interrupts the "
7109 "execution of an unsafe function, and I<handler> calls an unsafe function, "
7110 "then the behavior of the program is undefined."
7111 msgstr ""
7112 "シグナルハンドラ関数には非常に注意しなければならない。 他の場所の処理はプログ"
7113 "ラム実行の任意の箇所で中断される可能性があるためである。 POSIX には「安全な関"
7114 "数 (safe function)」という概念がある。 シグナルが安全でない関数の実行を中断"
7115 "し、かつ I<handler> が安全でない関数を呼び出した場合、プログラムの挙動は未定"
7116 "義である。"
7117
7118 #. type: Plain text
7119 #: build/C/man7/signal.7:457
7120 msgid ""
7121 "POSIX.1-2004 (also known as POSIX.1-2001 Technical Corrigendum 2)  requires "
7122 "an implementation to guarantee that the following functions can be safely "
7123 "called inside a signal handler:"
7124 msgstr ""
7125 "POSIX.1-2004 (POSIX.1-2001 Technical Corrigendum (正誤表) 2 とも言う) では、 "
7126 "シグナルハンドラ内での安全な呼び出しを保証することが必須の関数として 以下が規"
7127 "定されている。"
7128
7129 #. type: Plain text
7130 #: build/C/man7/signal.7:578
7131 #, no-wrap
7132 msgid ""
7133 "_Exit()\n"
7134 "_exit()\n"
7135 "abort()\n"
7136 "accept()\n"
7137 "access()\n"
7138 "aio_error()\n"
7139 "aio_return()\n"
7140 "aio_suspend()\n"
7141 "alarm()\n"
7142 "bind()\n"
7143 "cfgetispeed()\n"
7144 "cfgetospeed()\n"
7145 "cfsetispeed()\n"
7146 "cfsetospeed()\n"
7147 "chdir()\n"
7148 "chmod()\n"
7149 "chown()\n"
7150 "clock_gettime()\n"
7151 "close()\n"
7152 "connect()\n"
7153 "creat()\n"
7154 "dup()\n"
7155 "dup2()\n"
7156 "execle()\n"
7157 "execve()\n"
7158 "fchmod()\n"
7159 "fchown()\n"
7160 "fcntl()\n"
7161 "fdatasync()\n"
7162 "fork()\n"
7163 "fpathconf()\n"
7164 "fstat()\n"
7165 "fsync()\n"
7166 "ftruncate()\n"
7167 "getegid()\n"
7168 "geteuid()\n"
7169 "getgid()\n"
7170 "getgroups()\n"
7171 "getpeername()\n"
7172 "getpgrp()\n"
7173 "getpid()\n"
7174 "getppid()\n"
7175 "getsockname()\n"
7176 "getsockopt()\n"
7177 "getuid()\n"
7178 "kill()\n"
7179 "link()\n"
7180 "listen()\n"
7181 "lseek()\n"
7182 "lstat()\n"
7183 "mkdir()\n"
7184 "mkfifo()\n"
7185 "open()\n"
7186 "pathconf()\n"
7187 "pause()\n"
7188 "pipe()\n"
7189 "poll()\n"
7190 "posix_trace_event()\n"
7191 "pselect()\n"
7192 "raise()\n"
7193 "read()\n"
7194 "readlink()\n"
7195 "recv()\n"
7196 "recvfrom()\n"
7197 "recvmsg()\n"
7198 "rename()\n"
7199 "rmdir()\n"
7200 "select()\n"
7201 "sem_post()\n"
7202 "send()\n"
7203 "sendmsg()\n"
7204 "sendto()\n"
7205 "setgid()\n"
7206 "setpgid()\n"
7207 "setsid()\n"
7208 "setsockopt()\n"
7209 "setuid()\n"
7210 "shutdown()\n"
7211 "sigaction()\n"
7212 "sigaddset()\n"
7213 "sigdelset()\n"
7214 "sigemptyset()\n"
7215 "sigfillset()\n"
7216 "sigismember()\n"
7217 "signal()\n"
7218 "sigpause()\n"
7219 "sigpending()\n"
7220 "sigprocmask()\n"
7221 "sigqueue()\n"
7222 "sigset()\n"
7223 "sigsuspend()\n"
7224 "sleep()\n"
7225 "sockatmark()\n"
7226 "socket()\n"
7227 "socketpair()\n"
7228 "stat()\n"
7229 "symlink()\n"
7230 "sysconf()\n"
7231 "tcdrain()\n"
7232 "tcflow()\n"
7233 "tcflush()\n"
7234 "tcgetattr()\n"
7235 "tcgetpgrp()\n"
7236 "tcsendbreak()\n"
7237 "tcsetattr()\n"
7238 "tcsetpgrp()\n"
7239 "time()\n"
7240 "timer_getoverrun()\n"
7241 "timer_gettime()\n"
7242 "timer_settime()\n"
7243 "times()\n"
7244 "umask()\n"
7245 "uname()\n"
7246 "unlink()\n"
7247 "utime()\n"
7248 "wait()\n"
7249 "waitpid()\n"
7250 "write()\n"
7251 msgstr ""
7252 "_Exit()\n"
7253 "_exit()\n"
7254 "abort()\n"
7255 "accept()\n"
7256 "access()\n"
7257 "aio_error()\n"
7258 "aio_return()\n"
7259 "aio_suspend()\n"
7260 "alarm()\n"
7261 "bind()\n"
7262 "cfgetispeed()\n"
7263 "cfgetospeed()\n"
7264 "cfsetispeed()\n"
7265 "cfsetospeed()\n"
7266 "chdir()\n"
7267 "chmod()\n"
7268 "chown()\n"
7269 "clock_gettime()\n"
7270 "close()\n"
7271 "connect()\n"
7272 "creat()\n"
7273 "dup()\n"
7274 "dup2()\n"
7275 "execle()\n"
7276 "execve()\n"
7277 "fchmod()\n"
7278 "fchown()\n"
7279 "fcntl()\n"
7280 "fdatasync()\n"
7281 "fork()\n"
7282 "fpathconf()\n"
7283 "fstat()\n"
7284 "fsync()\n"
7285 "ftruncate()\n"
7286 "getegid()\n"
7287 "geteuid()\n"
7288 "getgid()\n"
7289 "getgroups()\n"
7290 "getpeername()\n"
7291 "getpgrp()\n"
7292 "getpid()\n"
7293 "getppid()\n"
7294 "getsockname()\n"
7295 "getsockopt()\n"
7296 "getuid()\n"
7297 "kill()\n"
7298 "link()\n"
7299 "listen()\n"
7300 "lseek()\n"
7301 "lstat()\n"
7302 "mkdir()\n"
7303 "mkfifo()\n"
7304 "open()\n"
7305 "pathconf()\n"
7306 "pause()\n"
7307 "pipe()\n"
7308 "poll()\n"
7309 "posix_trace_event()\n"
7310 "pselect()\n"
7311 "raise()\n"
7312 "read()\n"
7313 "readlink()\n"
7314 "recv()\n"
7315 "recvfrom()\n"
7316 "recvmsg()\n"
7317 "rename()\n"
7318 "rmdir()\n"
7319 "select()\n"
7320 "sem_post()\n"
7321 "send()\n"
7322 "sendmsg()\n"
7323 "sendto()\n"
7324 "setgid()\n"
7325 "setpgid()\n"
7326 "setsid()\n"
7327 "setsockopt()\n"
7328 "setuid()\n"
7329 "shutdown()\n"
7330 "sigaction()\n"
7331 "sigaddset()\n"
7332 "sigdelset()\n"
7333 "sigemptyset()\n"
7334 "sigfillset()\n"
7335 "sigismember()\n"
7336 "signal()\n"
7337 "sigpause()\n"
7338 "sigpending()\n"
7339 "sigprocmask()\n"
7340 "sigqueue()\n"
7341 "sigset()\n"
7342 "sigsuspend()\n"
7343 "sleep()\n"
7344 "sockatmark()\n"
7345 "socket()\n"
7346 "socketpair()\n"
7347 "stat()\n"
7348 "symlink()\n"
7349 "sysconf()\n"
7350 "tcdrain()\n"
7351 "tcflow()\n"
7352 "tcflush()\n"
7353 "tcgetattr()\n"
7354 "tcgetpgrp()\n"
7355 "tcsendbreak()\n"
7356 "tcsetattr()\n"
7357 "tcsetpgrp()\n"
7358 "time()\n"
7359 "timer_getoverrun()\n"
7360 "timer_gettime()\n"
7361 "timer_settime()\n"
7362 "times()\n"
7363 "umask()\n"
7364 "uname()\n"
7365 "unlink()\n"
7366 "utime()\n"
7367 "wait()\n"
7368 "waitpid()\n"
7369 "write()\n"
7370
7371 #. type: Plain text
7372 #: build/C/man7/signal.7:583
7373 msgid ""
7374 "POSIX.1-2008 removes fpathconf(), pathconf(), and sysconf()  from the above "
7375 "list, and adds the following functions:"
7376 msgstr ""
7377 "POSIX.1-2008 では、上記のリストのうち fpathconf(), pathconf(), sysconf()  が"
7378 "削除され、以下の関数が追加された。"
7379
7380 #. type: Plain text
7381 #: build/C/man7/signal.7:606
7382 #, no-wrap
7383 msgid ""
7384 "execl()\n"
7385 "execv()\n"
7386 "faccessat()\n"
7387 "fchmodat()\n"
7388 "fchownat()\n"
7389 "fexecve()\n"
7390 "fstatat()\n"
7391 "futimens()\n"
7392 "linkat()\n"
7393 "mkdirat()\n"
7394 "mkfifoat()\n"
7395 "mknod()\n"
7396 "mknodat()\n"
7397 "openat()\n"
7398 "readlinkat()\n"
7399 "renameat()\n"
7400 "symlinkat()\n"
7401 "unlinkat()\n"
7402 "utimensat()\n"
7403 "utimes()\n"
7404 msgstr ""
7405 "execl()\n"
7406 "execv()\n"
7407 "faccessat()\n"
7408 "fchmodat()\n"
7409 "fchownat()\n"
7410 "fexecve()\n"
7411 "fstatat()\n"
7412 "futimens()\n"
7413 "linkat()\n"
7414 "mkdirat()\n"
7415 "mkfifoat()\n"
7416 "mknod()\n"
7417 "mknodat()\n"
7418 "openat()\n"
7419 "readlinkat()\n"
7420 "renameat()\n"
7421 "symlinkat()\n"
7422 "unlinkat()\n"
7423 "utimensat()\n"
7424 "utimes()\n"
7425
7426 #. type: SS
7427 #: build/C/man7/signal.7:608
7428 #, no-wrap
7429 msgid "Interruption of System Calls and Library Functions by Signal Handlers"
7430 msgstr "シグナルハンドラによるシステムコールやライブラリ関数への割り込み"
7431
7432 #. type: Plain text
7433 #: build/C/man7/signal.7:611
7434 msgid ""
7435 "If a signal handler is invoked while a system call or library function call "
7436 "is blocked, then either:"
7437 msgstr ""
7438 "システムコールやライブラリが停止 (block) している間にシグナルハンドラが 起動"
7439 "されると、以下のどちらかとなる。"
7440
7441 #. type: Plain text
7442 #: build/C/man7/signal.7:613
7443 msgid ""
7444 "the call is automatically restarted after the signal handler returns; or"
7445 msgstr "シグナルが返った後、呼び出しは自動的に再スタートされる。"
7446
7447 #. type: Plain text
7448 #: build/C/man7/signal.7:616
7449 msgid "the call fails with the error B<EINTR>."
7450 msgstr "呼び出しはエラー B<EINTR> で失敗する。"
7451
7452 #. type: Plain text
7453 #: build/C/man7/signal.7:624
7454 msgid ""
7455 "Which of these two behaviors occurs depends on the interface and whether or "
7456 "not the signal handler was established using the B<SA_RESTART> flag (see "
7457 "B<sigaction>(2)).  The details vary across UNIX systems; below, the details "
7458 "for Linux."
7459 msgstr ""
7460 "これらの二つの挙動のうちどちらが起こるかは、インターフェイスにより依存し、 シ"
7461 "グナルハンドラが B<SA_RESTART> フラグ (B<sigaction>(2)  参照) を使って設定さ"
7462 "れていたかにも依存する。 詳細は UNIX システムによって異なる。 Linux における"
7463 "詳細を以下で説明する。"
7464
7465 #.  The following system calls use ERESTARTSYS,
7466 #.  so that they are restartable
7467 #. type: Plain text
7468 #: build/C/man7/signal.7:633
7469 msgid ""
7470 "If a blocked call to one of the following interfaces is interrupted by a "
7471 "signal handler, then the call will be automatically restarted after the "
7472 "signal handler returns if the B<SA_RESTART> flag was used; otherwise the "
7473 "call will fail with the error B<EINTR>:"
7474 msgstr ""
7475 "以下のインターフェイスのいずれかの呼び出しが停止している間に シグナルハンドラ"
7476 "により割り込まれた場合、 B<SA_RESTART> フラグが使用されていれば、シグナルハン"
7477 "ドラが返った後に その呼び出しは自動的に再スタートされることになる。 それ以外"
7478 "の場合は、その呼び出しはエラー B<EINTR> で失敗することになる。"
7479
7480 #. type: Plain text
7481 #: build/C/man7/signal.7:649
7482 msgid ""
7483 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), and B<ioctl>(2)  calls "
7484 "on \"slow\" devices.  A \"slow\" device is one where the I/O call may block "
7485 "for an indefinite time, for example, a terminal, pipe, or socket.  (A disk "
7486 "is not a slow device according to this definition.)  If an I/O call on a "
7487 "slow device has already transferred some data by the time it is interrupted "
7488 "by a signal handler, then the call will return a success status (normally, "
7489 "the number of bytes transferred)."
7490 msgstr ""
7491 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), B<ioctl>(2)  の「遅い "
7492 "(slow)」デバイスに対する呼び出し。 ここでいう「遅い」デバイスとは、I/O 呼び出"
7493 "しが無期限に停止 (block) する 可能性のあるデバイスのことで、例としては端末、"
7494 "パイプ、ソケットがある (この定義では、ディスクは遅いデバイスではない)。 遅い"
7495 "デバイスに対する I/O 呼び出しが、 シグナルハンドラにより割り込まれた時点まで"
7496 "に何らかのデータを すでに転送していれば、呼び出しは成功ステータス (通常は、転"
7497 "送されたバイト数) を返すことだろう。"
7498
7499 #. type: Plain text
7500 #: build/C/man7/signal.7:653
7501 msgid ""
7502 "B<open>(2), if it can block (e.g., when opening a FIFO; see B<fifo>(7))."
7503 msgstr ""
7504 "停止 (block) する可能性のある B<open>(2)  (例えば、FIFO のオープン時; B<fifo>"
7505 "(7)  参照)。"
7506
7507 #. type: Plain text
7508 #: build/C/man7/signal.7:660
7509 msgid "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), and B<waitpid>(2)."
7510 msgstr "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), B<waitpid>(2)."
7511
7512 #.  If a timeout (setsockopt()) is in effect on the socket, then these
7513 #.  system calls switch to using EINTR.  Consequently, they and are not
7514 #.  automatically restarted, and they show the stop/cont behavior
7515 #.  described below.  (Verified from 2.6.26 source, and by experiment; mtk)
7516 #. type: Plain text
7517 #: build/C/man7/signal.7:676
7518 msgid ""
7519 "Socket interfaces: B<accept>(2), B<connect>(2), B<recv>(2), B<recvfrom>(2), "
7520 "B<recvmsg>(2), B<send>(2), B<sendto>(2), and B<sendmsg>(2), unless a timeout "
7521 "has been set on the socket (see below)."
7522 msgstr ""
7523 "ソケットインターフェイス: B<accept>(2), B<connect>(2), B<recv>(2), "
7524 "B<recvfrom>(2), B<recvmsg>(2), B<send>(2), B<sendto>(2), B<sendmsg>(2).  但"
7525 "し、ソケットにタイムアウトが設定されていない場合 (下記参照)。"
7526
7527 #. type: Plain text
7528 #: build/C/man7/signal.7:682
7529 msgid "File locking interfaces: B<flock>(2)  and B<fcntl>(2)  B<F_SETLKW>."
7530 msgstr ""
7531 "ファイルロック用インターフェイス: B<flock>(2), B<fcntl>(2)  B<F_SETLKW>."
7532
7533 #. type: Plain text
7534 #: build/C/man7/signal.7:689
7535 msgid ""
7536 "POSIX message queue interfaces: B<mq_receive>(3), B<mq_timedreceive>(3), "
7537 "B<mq_send>(3), and B<mq_timedsend>(3)."
7538 msgstr ""
7539 "POSIX メッセージキューインターフェイス: B<mq_receive>(3), B<mq_timedreceive>"
7540 "(3), B<mq_send>(3), B<mq_timedsend>(3)."
7541
7542 #. type: Plain text
7543 #: build/C/man7/signal.7:694
7544 msgid ""
7545 "B<futex>(2)  B<FUTEX_WAIT> (since Linux 2.6.22; beforehand, always failed "
7546 "with B<EINTR>)."
7547 msgstr ""
7548 "B<futex>(2)  B<FUTEX_WAIT> (Linux 2.6.22 以降; それ以前は常に B<EINTR> で失敗"
7549 "していた)。"
7550
7551 #. type: Plain text
7552 #: build/C/man7/signal.7:701
7553 msgid ""
7554 "POSIX semaphore interfaces: B<sem_wait>(3)  and B<sem_timedwait>(3)  (since "
7555 "Linux 2.6.22; beforehand, always failed with B<EINTR>)."
7556 msgstr ""
7557 "POSIX セマフォインターフェイス: B<sem_wait>(3), B<sem_timedwait>(3)  (Linux "
7558 "2.6.22 以降; それ以前は常に B<EINTR> で失敗していた)。"
7559
7560 #.  These are the system calls that give EINTR or ERESTARTNOHAND
7561 #.  on interruption by a signal handler.
7562 #. type: Plain text
7563 #: build/C/man7/signal.7:712
7564 msgid ""
7565 "The following interfaces are never restarted after being interrupted by a "
7566 "signal handler, regardless of the use of B<SA_RESTART>; they always fail "
7567 "with the error B<EINTR> when interrupted by a signal handler:"
7568 msgstr ""
7569 "以下のインターフェイスは、 B<SA_RESTART> を使っているどうかに関わらず、シグナ"
7570 "ルハンドラにより割り込まれた後、 再スタートすることは決してない。 これらは、"
7571 "シグナルハンドラにより割り込まれると、常にエラー B<EINTR> で失敗する。"
7572
7573 #. type: Plain text
7574 #: build/C/man7/signal.7:732 build/C/man7/signal.7:806
7575 msgid ""
7576 "Socket interfaces, when a timeout has been set on the socket using "
7577 "B<setsockopt>(2): B<accept>(2), B<recv>(2), B<recvfrom>(2), and B<recvmsg>"
7578 "(2), if a receive timeout (B<SO_RCVTIMEO>)  has been set; B<connect>(2), "
7579 "B<send>(2), B<sendto>(2), and B<sendmsg>(2), if a send timeout "
7580 "(B<SO_SNDTIMEO>)  has been set."
7581 msgstr ""
7582 "B<setsockopt>(2)  を使ってタイムアウトが設定されているソケットインターフェー"
7583 "ス: B<accept>(2), B<recv>(2), B<recvfrom>(2), B<recvmsg>(2)  で受信タイムアウ"
7584 "ト (B<SO_RCVTIMEO>)  が設定されている場合と、 B<connect>(2), B<send>(2), "
7585 "B<sendto>(2), B<sendmsg>(2)  で送信タイムアウト (B<SO_SNDTIMEO>)  が設定され"
7586 "ている場合。"
7587
7588 #. type: Plain text
7589 #: build/C/man7/signal.7:739
7590 msgid ""
7591 "Interfaces used to wait for signals: B<pause>(2), B<sigsuspend>(2), "
7592 "B<sigtimedwait>(2), and B<sigwaitinfo>(2)."
7593 msgstr ""
7594 "シグナル待ちに使われるインターフェイス: B<pause>(2), B<sigsuspend>(2), "
7595 "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7596
7597 #. type: Plain text
7598 #: build/C/man7/signal.7:748
7599 msgid ""
7600 "File descriptor multiplexing interfaces: B<epoll_wait>(2), B<epoll_pwait>"
7601 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), and B<pselect>(2)."
7602 msgstr ""
7603 "ファイルディスクリプタ多重インターフェイス: B<epoll_wait>(2), B<epoll_pwait>"
7604 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), B<pselect>(2)."
7605
7606 #.  On some other systems, SA_RESTART does restart these system calls
7607 #. type: Plain text
7608 #: build/C/man7/signal.7:756
7609 msgid ""
7610 "System V IPC interfaces: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), and "
7611 "B<semtimedop>(2)."
7612 msgstr ""
7613 "System V IPC インターフェイス: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), "
7614 "B<semtimedop>(2)."
7615
7616 #. type: Plain text
7617 #: build/C/man7/signal.7:762
7618 msgid ""
7619 "Sleep interfaces: B<clock_nanosleep>(2), B<nanosleep>(2), and B<usleep>(3)."
7620 msgstr ""
7621 "スリープ用のインターフェイス: B<clock_nanosleep>(2), B<nanosleep>(2), "
7622 "B<usleep>(3)."
7623
7624 #. type: Plain text
7625 #: build/C/man7/signal.7:767 build/C/man7/signal.7:820
7626 msgid "B<read>(2)  from an B<inotify>(7)  file descriptor."
7627 msgstr "B<inotify>(7)  ファイルディスクリプタからの B<read>(2)."
7628
7629 #. type: Plain text
7630 #: build/C/man7/signal.7:769
7631 msgid "B<io_getevents>(2)."
7632 msgstr "B<io_getevents>(2)."
7633
7634 #. type: Plain text
7635 #: build/C/man7/signal.7:775
7636 msgid ""
7637 "The B<sleep>(3)  function is also never restarted if interrupted by a "
7638 "handler, but gives a success return: the number of seconds remaining to "
7639 "sleep."
7640 msgstr ""
7641 "B<sleep>(3)  関数も、ハンドラにより割り込まれた場合、決して再スタートされるこ"
7642 "とはない。 しかし、成功となり、残っている停止時間を返す。"
7643
7644 #. type: SS
7645 #: build/C/man7/signal.7:775
7646 #, no-wrap
7647 msgid "Interruption of System Calls and Library Functions by Stop Signals"
7648 msgstr "一時停止シグナルによるシステムコールやライブラリ関数への割り込み"
7649
7650 #. type: Plain text
7651 #: build/C/man7/signal.7:784
7652 msgid ""
7653 "On Linux, even in the absence of signal handlers, certain blocking "
7654 "interfaces can fail with the error B<EINTR> after the process is stopped by "
7655 "one of the stop signals and then resumed via B<SIGCONT>.  This behavior is "
7656 "not sanctioned by POSIX.1, and doesn't occur on other systems."
7657 msgstr ""
7658 "Linux では、シグナルハンドラが設定されていない場合でも、 いくつかのブロッキン"
7659 "グ型のインターフェイスは、 プロセスが一時停止 (stop) シグナルの一つにより停止"
7660 "され、 B<SIGCONT> により再開された後に、エラー B<EINTR> で失敗する可能性があ"
7661 "る。 この挙動は POSIX.1 で認められておらず、他のシステムでは起こらない。"
7662
7663 #. type: Plain text
7664 #: build/C/man7/signal.7:786
7665 msgid "The Linux interfaces that display this behavior are:"
7666 msgstr "この挙動を示す Linux のインターフェイスは以下の通りである。"
7667
7668 #. type: Plain text
7669 #: build/C/man7/signal.7:809
7670 msgid "B<epoll_wait>(2), B<epoll_pwait>(2)."
7671 msgstr "B<epoll_wait>(2), B<epoll_pwait>(2)."
7672
7673 #. type: Plain text
7674 #: build/C/man7/signal.7:812
7675 msgid "B<semop>(2), B<semtimedop>(2)."
7676 msgstr "B<semop>(2), B<semtimedop>(2)."
7677
7678 #. type: Plain text
7679 #: build/C/man7/signal.7:815
7680 msgid "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7681 msgstr "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7682
7683 #. type: Plain text
7684 #: build/C/man7/signal.7:826
7685 msgid ""
7686 "Linux 2.6.21 and earlier: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7687 "B<sem_wait>(3)."
7688 msgstr ""
7689 "Linux 2.6.21 以前: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7690 "B<sem_wait>(3)."
7691
7692 #. type: Plain text
7693 #: build/C/man7/signal.7:830
7694 msgid "Linux 2.6.8 and earlier: B<msgrcv>(2), B<msgsnd>(2)."
7695 msgstr "Linux 2.6.8 以前: B<msgrcv>(2), B<msgsnd>(2)."
7696
7697 #. type: Plain text
7698 #: build/C/man7/signal.7:833
7699 msgid "Linux 2.4 and earlier: B<nanosleep>(2)."
7700 msgstr "Linux 2.4 以前: B<nanosleep>(2)."
7701
7702 #. type: Plain text
7703 #: build/C/man7/signal.7:836
7704 msgid "POSIX.1, except as noted."
7705 msgstr "POSIX.1 (注記した内容以外)。"
7706
7707 #. type: Plain text
7708 #: build/C/man7/signal.7:845
7709 msgid ""
7710 "B<SIGIO> and B<SIGLOST> have the same value.  The latter is commented out in "
7711 "the kernel source, but the build process of some software still thinks that "
7712 "signal 29 is B<SIGLOST>."
7713 msgstr ""
7714 "B<SIGIO> と B<SIGLOST> は同じ値を持っている。 B<SIGLOST> はカーネルのソースで"
7715 "はコメントアウトされている。 しかし、ソフトウェアによってはビルドの過程でシグ"
7716 "ナル 29 を B<SIGLOST> とみなしてしまうものがある。"
7717
7718 #. type: Plain text
7719 #: build/C/man7/signal.7:877
7720 msgid ""
7721 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7722 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7723 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7724 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7725 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7726 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7727 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7728 "B<sigevent>(7)"
7729 msgstr ""
7730 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7731 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7732 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7733 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7734 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7735 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7736 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7737 "B<sigevent>(7)"
7738
7739 #. type: TH
7740 #: build/C/man2/signalfd.2:19
7741 #, no-wrap
7742 msgid "SIGNALFD"
7743 msgstr "SIGNALFD"
7744
7745 #. type: TH
7746 #: build/C/man2/signalfd.2:19
7747 #, no-wrap
7748 msgid "2009-01-13"
7749 msgstr "2009-01-13"
7750
7751 #. type: Plain text
7752 #: build/C/man2/signalfd.2:22
7753 msgid "signalfd - create a file descriptor for accepting signals"
7754 msgstr "signalfd - シグナル受け付け用のファイルディスクリプタを生成する"
7755
7756 #. type: Plain text
7757 #: build/C/man2/signalfd.2:24
7758 msgid "B<#include E<lt>sys/signalfd.hE<gt>>"
7759 msgstr "B<#include E<lt>sys/signalfd.hE<gt>>"
7760
7761 #. type: Plain text
7762 #: build/C/man2/signalfd.2:26
7763 msgid ""
7764 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7765 msgstr ""
7766 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7767
7768 #. type: Plain text
7769 #: build/C/man2/signalfd.2:37
7770 msgid ""
7771 "B<signalfd>()  creates a file descriptor that can be used to accept signals "
7772 "targeted at the caller.  This provides an alternative to the use of a signal "
7773 "handler or B<sigwaitinfo>(2), and has the advantage that the file descriptor "
7774 "may be monitored by B<select>(2), B<poll>(2), and B<epoll>(7)."
7775 msgstr ""
7776 "B<signalfd>()  は、呼び出し元宛てのシグナルを受け付けるために使用されるファイ"
7777 "ル ディスクリプタを生成する。 この方法はシグナルハンドラや B<sigwaitinfo>"
7778 "(2)  を用いる方法の代わりとなるものであり、このファイルディスクリプタを "
7779 "B<select>(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
7780
7781 #. type: Plain text
7782 #: build/C/man2/signalfd.2:57
7783 msgid ""
7784 "The I<mask> argument specifies the set of signals that the caller wishes to "
7785 "accept via the file descriptor.  This argument is a signal set whose "
7786 "contents can be initialized using the macros described in B<sigsetops>(3).  "
7787 "Normally, the set of signals to be received via the file descriptor should "
7788 "be blocked using B<sigprocmask>(2), to prevent the signals being handled "
7789 "according to their default dispositions.  It is not possible to receive "
7790 "B<SIGKILL> or B<SIGSTOP> signals via a signalfd file descriptor; these "
7791 "signals are silently ignored if specified in I<mask>."
7792 msgstr ""
7793 "I<mask> 引き数には、呼び出し元がこのファイルディスクリプタ経由で受け付けたい "
7794 "シグナル集合を指定する。この引き数で指定するシグナル集合の内容は、 "
7795 "B<sigsetops>(3)  で説明されているマクロを使って初期化することができる。 通"
7796 "常、ファイルディスクリプタ経由で受信するシグナル集合は、 そのシグナルがデフォ"
7797 "ルトの配送方法に基いて処理されるのを防ぐために、 B<sigprocmask>(2)  を使って"
7798 "ブロックしておくべきである。 シグナル B<SIGKILL> と B<SIGSTOP> を signalfd "
7799 "ファイルディスクリプタ経由で受信することはできない。 これらのシグナルが "
7800 "I<mask> で指定された場合には黙って無視される。"
7801
7802 #. type: Plain text
7803 #: build/C/man2/signalfd.2:71
7804 msgid ""
7805 "If the I<fd> argument is -1, then the call creates a new file descriptor and "
7806 "associates the signal set specified in I<mask> with that descriptor.  If "
7807 "I<fd> is not -1, then it must specify a valid existing signalfd file "
7808 "descriptor, and I<mask> is used to replace the signal set associated with "
7809 "that descriptor."
7810 msgstr ""
7811 "I<fd> 引き数が -1 の場合、 B<signalfd>()  は新しいファイルディスクリプタを生"
7812 "成し、 I<mask> で指定されたシグナル集合をそのファイルディスクリプタに関連付け"
7813 "る。 I<fd> 引き数が -1 以外の場合、 I<fd> には有効な既存の signalfd ファイル"
7814 "ディスクリプタを指定しなければならず、 そのディスクリプタに関連付けられている"
7815 "シグナル集合は I<mask> を使って置き換えられる。"
7816
7817 #. type: Plain text
7818 #: build/C/man2/signalfd.2:76
7819 msgid ""
7820 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
7821 "I<flags> to change the behaviour of B<signalfd>():"
7822 msgstr ""
7823 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
7824 "ることで、 B<signalfd>()  の振舞いを変更することができる。"
7825
7826 #. type: TP
7827 #: build/C/man2/signalfd.2:76
7828 #, no-wrap
7829 msgid "B<SFD_NONBLOCK>"
7830 msgstr "B<SFD_NONBLOCK>"
7831
7832 #. type: TP
7833 #: build/C/man2/signalfd.2:84
7834 #, no-wrap
7835 msgid "B<SFD_CLOEXEC>"
7836 msgstr "B<SFD_CLOEXEC>"
7837
7838 #. type: Plain text
7839 #: build/C/man2/signalfd.2:101
7840 msgid ""
7841 "B<signalfd>()  returns a file descriptor that supports the following "
7842 "operations:"
7843 msgstr ""
7844 "B<signalfd>()  が返すファイルディスクリプタは以下の操作をサポートしている。"
7845
7846 #. type: Plain text
7847 #: build/C/man2/signalfd.2:120
7848 msgid ""
7849 "If one or more of the signals specified in I<mask> is pending for the "
7850 "process, then the buffer supplied to B<read>(2)  is used to return one or "
7851 "more I<signalfd_siginfo> structures (see below) that describe the signals.  "
7852 "The B<read>(2)  returns information for as many signals as are pending and "
7853 "will fit in the supplied buffer.  The buffer must be at least I<sizeof"
7854 "(struct signalfd_siginfo)> bytes.  The return value of the B<read>(2)  is "
7855 "the total number of bytes read."
7856 msgstr ""
7857 "I<mask> に指定されているシグナルのうち一つ以上がそのプロセスに対して 処理待"
7858 "ち (pending) であれば、それらのシグナルの情報が B<read>(2)  に渡されたバッ"
7859 "ファを使って、 I<signalfd_siginfo> 構造体に格納されて返される。 B<read>(2)  "
7860 "は、バッファに格納可能な範囲でできるだけ多くの処理待ちのシグナルに ついての情"
7861 "報を返す。 バッファは最低でも I<sizeof(struct signalfd_siginfo)> バイトの大き"
7862 "さがなければならない。 B<read>(2)  の返り値は読み出されたトータルのバイト数で"
7863 "ある。"
7864
7865 #. type: Plain text
7866 #: build/C/man2/signalfd.2:128
7867 msgid ""
7868 "As a consequence of the B<read>(2), the signals are consumed, so that they "
7869 "are no longer pending for the process (i.e., will not be caught by signal "
7870 "handlers, and cannot be accepted using B<sigwaitinfo>(2))."
7871 msgstr ""
7872 "B<read>(2)  が行われた結果、シグナルは消費され、 これらのシグナルはそのプロセ"
7873 "スに対しては処理待ちではなくなる (つまり、シグナルハンドラで捕捉されることも"
7874 "なく、 B<sigwaitinfo>(2)  を使って受け取ることもできなくなる)。"
7875
7876 #. type: Plain text
7877 #: build/C/man2/signalfd.2:139
7878 msgid ""
7879 "If none of the signals in I<mask> is pending for the process, then the "
7880 "B<read>(2)  either blocks until one of the signals in I<mask> is generated "
7881 "for the process, or fails with the error B<EAGAIN> if the file descriptor "
7882 "has been made nonblocking."
7883 msgstr ""
7884 "I<mask> に指定されているシグナルがそのプロセスに対して一つも処理待ちでなけれ"
7885 "ば、 B<read>(2)  は、 I<mask> で指定されたシグナルのうちいずれか一つがそのプ"
7886 "ロセスに対して発生するまで 停止 (block) する、もしくはファイルディスクリプタ"
7887 "が非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
7888
7889 #. type: Plain text
7890 #: build/C/man2/signalfd.2:152
7891 msgid ""
7892 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
7893 "B<poll>(2)  B<POLLIN> flag)  if one or more of the signals in I<mask> is "
7894 "pending for the process."
7895 msgstr ""
7896 "I<mask> に指定されたシグナルのうち一つ以上がそのプロセスに対して処理待ちであ"
7897 "れば、 ファイルディスクリプタは読み出し可能となる (B<select>(2)  の "
7898 "I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
7899
7900 #. type: Plain text
7901 #: build/C/man2/signalfd.2:159
7902 msgid ""
7903 "The signalfd file descriptor also supports the other file-descriptor "
7904 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
7905 msgstr ""
7906 "signalfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
7907 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
7908
7909 #. type: Plain text
7910 #: build/C/man2/signalfd.2:164
7911 msgid ""
7912 "When the file descriptor is no longer required it should be closed.  When "
7913 "all file descriptors associated with the same signalfd object have been "
7914 "closed, the resources for object are freed by the kernel."
7915 msgstr ""
7916 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
7917 "る。 同じ signalfd オブジェクトに関連付けられたファイルディスクリプタが全て "
7918 "クローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
7919
7920 #. type: SS
7921 #: build/C/man2/signalfd.2:164
7922 #, no-wrap
7923 msgid "The signalfd_siginfo structure"
7924 msgstr "signalfd_siginfo 構造体"
7925
7926 #. type: Plain text
7927 #: build/C/man2/signalfd.2:170
7928 msgid ""
7929 "The format of the I<signalfd_siginfo> structure(s) returned by B<read>(2)s "
7930 "from a signalfd file descriptor is as follows:"
7931 msgstr ""
7932 "signalfd ファイルディスクリプタからの B<read>(2)  で返される "
7933 "I<signalfd_siginfo> 構造体のフォーマットは以下の通りである。"
7934
7935 #.  ssi_trapno is unused on most arches
7936 #. type: Plain text
7937 #: build/C/man2/signalfd.2:195
7938 #, no-wrap
7939 msgid ""
7940 "struct signalfd_siginfo {\n"
7941 "    uint32_t ssi_signo;   /* Signal number */\n"
7942 "    int32_t  ssi_errno;   /* Error number (unused) */\n"
7943 "    int32_t  ssi_code;    /* Signal code */\n"
7944 "    uint32_t ssi_pid;     /* PID of sender */\n"
7945 "    uint32_t ssi_uid;     /* Real UID of sender */\n"
7946 "    int32_t  ssi_fd;      /* File descriptor (SIGIO) */\n"
7947 "    uint32_t ssi_tid;     /* Kernel timer ID (POSIX timers)\n"
7948 "    uint32_t ssi_band;    /* Band event (SIGIO) */\n"
7949 "    uint32_t ssi_overrun; /* POSIX timer overrun count */\n"
7950 "    uint32_t ssi_trapno;  /* Trap number that caused signal */\n"
7951 "    int32_t  ssi_status;  /* Exit status or signal (SIGCHLD) */\n"
7952 "    int32_t  ssi_int;     /* Integer sent by sigqueue(3) */\n"
7953 "    uint64_t ssi_ptr;     /* Pointer sent by sigqueue(3) */\n"
7954 "    uint64_t ssi_utime;   /* User CPU time consumed (SIGCHLD) */\n"
7955 "    uint64_t ssi_stime;   /* System CPU time consumed (SIGCHLD) */\n"
7956 "    uint64_t ssi_addr;    /* Address that generated signal\n"
7957 "                             (for hardware-generated signals) */\n"
7958 "    uint8_t  pad[I<X>];      /* Pad size to 128 bytes (allow for\n"
7959 "                              additional fields in the future) */\n"
7960 "};\n"
7961 msgstr ""
7962 "struct signalfd_siginfo {\n"
7963 "struct signalfd_siginfo {\n"
7964 "    uint32_t ssi_signo;   /* シグナル番号 */\n"
7965 "    int32_t  ssi_errno;   /* エラー番号 (未使用) */\n"
7966 "    int32_t  ssi_code;    /* シグナルコード */\n"
7967 "    uint32_t ssi_pid;     /* 送信元の PID */\n"
7968 "    uint32_t ssi_uid;     /* 送信元の実 UID */\n"
7969 "    int32_t  ssi_fd;      /* ファイルディスクリプタ (SIGIO) */\n"
7970 "    uint32_t ssi_tid;     /* カーネルタイマ ID (POSIX タイマ)\n"
7971 "    uint32_t ssi_band;    /* Band イベント (SIGIO) */\n"
7972 "    uint32_t ssi_overrun; /* POSIX タイマのオーバーラン回数 */\n"
7973 "    uint32_t ssi_trapno;  /* シグナルの原因となったトラップ番号 */\n"
7974 "    int32_t  ssi_status;  /* 終了ステータスかシグナル (SIGCHLD) */\n"
7975 "    int32_t  ssi_int;     /* sigqueue(3) から送られた整数 */\n"
7976 "    uint64_t ssi_ptr;     /* sigqueue(3) から送られたポインタ */\n"
7977 "    uint64_t ssi_utime;   /* 消費したユーザ CPU 時間 (SIGCHLD) */\n"
7978 "    uint64_t ssi_stime;   /* 消費したシステム CPU 時間 (SIGCHLD) */\n"
7979 "    uint64_t ssi_addr;    /* シグナルを生成したアドレス\n"
7980 "                             (ハードウェアが生成したシグナルの場合) */\n"
7981 "    uint8_t  pad[I<X>];      /* pad の大きさは 128 バイト\n"
7982 "                             (将来のフィールド追加用の場所の確保) */\n"
7983 "};\n"
7984
7985 #. type: Plain text
7986 #: build/C/man2/signalfd.2:218
7987 msgid ""
7988 "Each of the fields in this structure is analogous to the similarly named "
7989 "field in the I<siginfo_t> structure.  The I<siginfo_t> structure is "
7990 "described in B<sigaction>(2).  Not all fields in the returned "
7991 "I<signalfd_siginfo> structure will be valid for a specific signal; the set "
7992 "of valid fields can be determined from the value returned in the I<ssi_code> "
7993 "field.  This field is the analog of the I<siginfo_t> I<si_code> field; see "
7994 "B<sigaction>(2)  for details."
7995 msgstr ""
7996 "I<signalfd_siginfo> 構造体の各フィールドは、 I<siginfo_t> 構造体の同じような"
7997 "名前のフィールドと同様である。 I<siginfo_t> 構造体については B<sigaction>"
7998 "(2)  に説明がある。 返された I<signalfd_siginfo> 構造体の全てのフィールドがあ"
7999 "るシグナルに対して有効なわけではない。 どのフィールドが有効かは、 "
8000 "I<ssi_code> フィールドで返される値から判定することができる。 このフィールド"
8001 "は I<siginfo_t> の I<si_code> フィールドと同様である。詳細は B<sigaction>"
8002 "(2)  を参照。"
8003
8004 #. type: SS
8005 #: build/C/man2/signalfd.2:218 build/C/man2/timerfd_create.2:268
8006 #, no-wrap
8007 msgid "fork(2) semantics"
8008 msgstr "fork(2) での扱い"
8009
8010 #. type: Plain text
8011 #: build/C/man2/signalfd.2:226
8012 msgid ""
8013 "After a B<fork>(2), the child inherits a copy of the signalfd file "
8014 "descriptor.  A B<read>(2)  from the file descriptor in the child will return "
8015 "information about signals queued to the child."
8016 msgstr ""
8017 "B<fork>(2)  が行われると、子プロセスは signalfd ファイルディスクリプタのコ"
8018 "ピーを 継承する。 子プロセスでこのファイルディスクリプタから B<read>(2)  を行"
8019 "うと、子プロセスに対するキューに入っているシグナルに関する 情報が返される。"
8020
8021 #. type: SS
8022 #: build/C/man2/signalfd.2:226 build/C/man2/timerfd_create.2:280
8023 #, no-wrap
8024 msgid "execve(2) semantics"
8025 msgstr "execve(2) での扱い"
8026
8027 #. type: Plain text
8028 #: build/C/man2/signalfd.2:238
8029 msgid ""
8030 "Just like any other file descriptor, a signalfd file descriptor remains open "
8031 "across an B<execve>(2), unless it has been marked for close-on-exec (see "
8032 "B<fcntl>(2)).  Any signals that were available for reading before the "
8033 "B<execve>(2)  remain available to the newly loaded program.  (This is "
8034 "analogous to traditional signal semantics, where a blocked signal that is "
8035 "pending remains pending across an B<execve>(2).)"
8036 msgstr ""
8037 "他のファイルディスクリプタと全く同様に、 signalfd ファイルディスクリプタも "
8038 "B<execve>(2)  の前後でオープンされたままとなる。但し、そのファイルディスクリ"
8039 "プタに close-on-exec のマーク (B<fcntl>(2)  参照) が付いている場合はクローズ"
8040 "される。 B<execve>(2)  の前に読み出し可能となっていた全てのシグナルは新しく起"
8041 "動されたプログラム でも引き続き読み出し可能である (これは伝統的なシグナルの扱"
8042 "いと同じであり、 処理待ちのブロックされたシグナルは B<execve>(2)  の前後で処"
8043 "理待ちのままとなる)。"
8044
8045 #. type: SS
8046 #: build/C/man2/signalfd.2:238
8047 #, no-wrap
8048 msgid "Thread semantics"
8049 msgstr "スレッドでの扱い"
8050
8051 #. type: Plain text
8052 #: build/C/man2/signalfd.2:248
8053 msgid ""
8054 "The semantics of signalfd file descriptors in a multithreaded program mirror "
8055 "the standard semantics for signals.  In other words, when a thread reads "
8056 "from a signalfd file descriptor, it will read the signals that are directed "
8057 "to the thread itself and the signals that are directed to the process (i.e., "
8058 "the entire thread group).  (A thread will not be able to read signals that "
8059 "are directed to other threads in the process.)"
8060 msgstr ""
8061 "マルチスレッドプログラムにおける signalfd ファイルディスクリプタの扱いは シグ"
8062 "ナルの標準的な扱いと全く同じである。 言い換えると、あるスレッドが signalfd "
8063 "ファイルディスクリプタから 読み出しを行うと、そのスレッド自身宛てのシグナルと"
8064 "プロセス (すなわち スレッドグループ全体) 宛てのシグナルが読み出される。 (ス"
8065 "レッドは同じプロセスの他のスレッド宛てのシグナルを読み出すことはできない。)"
8066
8067 #. type: Plain text
8068 #: build/C/man2/signalfd.2:262
8069 msgid ""
8070 "On success, B<signalfd>()  returns a signalfd file descriptor; this is "
8071 "either a new file descriptor (if I<fd> was -1), or I<fd> if I<fd> was a "
8072 "valid signalfd file descriptor.  On error, -1 is returned and I<errno> is "
8073 "set to indicate the error."
8074 msgstr ""
8075 "成功すると、 B<signalfd>()  は signalfd ファイルディスクリプタを返す。 返され"
8076 "るファイルディスクリプタは、 I<fd> が -1 の場合は新規のファイルディスクリプタ"
8077 "であり、 I<fd> が有効な signalfd ファイルディスクリプタだった場合は I<fd> 自"
8078 "身である。 エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
8079
8080 #. type: TP
8081 #: build/C/man2/signalfd.2:263 build/C/man2/timerfd_create.2:337
8082 #, no-wrap
8083 msgid "B<EBADF>"
8084 msgstr "B<EBADF>"
8085
8086 #. type: Plain text
8087 #: build/C/man2/signalfd.2:268
8088 msgid "The I<fd> file descriptor is not a valid file descriptor."
8089 msgstr "ファイルディスクリプタ I<fd> が有効なファイルディスクリプタでない。"
8090
8091 #.  or, the
8092 #.  .I sizemask
8093 #.  argument is not equal to
8094 #.  .IR sizeof(sigset_t) ;
8095 #. type: Plain text
8096 #: build/C/man2/signalfd.2:276
8097 msgid "I<fd> is not a valid signalfd file descriptor."
8098 msgstr "I<fd> が有効な signalfd ファイルディスクリプタではない。"
8099
8100 #. type: Plain text
8101 #: build/C/man2/signalfd.2:283 build/C/man2/timerfd_create.2:319
8102 msgid ""
8103 "I<flags> is invalid; or, in Linux 2.6.26 or earlier, I<flags> is nonzero."
8104 msgstr ""
8105 "I<flags> が無効である。もしくは、Linux 2.6.26 以前の場合には I<flags> が 0 以"
8106 "外である。"
8107
8108 #. type: Plain text
8109 #: build/C/man2/signalfd.2:286 build/C/man2/timerfd_create.2:322
8110 msgid "The per-process limit of open file descriptors has been reached."
8111 msgstr ""
8112 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
8113
8114 #. type: Plain text
8115 #: build/C/man2/signalfd.2:296
8116 msgid "There was insufficient memory to create a new signalfd file descriptor."
8117 msgstr ""
8118 "新しい signalfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
8119
8120 #.  signalfd() is in glibc 2.7, but reportedly does not build
8121 #. type: Plain text
8122 #: build/C/man2/signalfd.2:304
8123 msgid ""
8124 "B<signalfd>()  is available on Linux since kernel 2.6.22.  Working support "
8125 "is provided in glibc since version 2.8.  The B<signalfd4>()  system call "
8126 "(see NOTES) is available on Linux since kernel 2.6.27."
8127 msgstr ""
8128 "B<signalfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
8129 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<signalfd4>()  "
8130 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
8131 "る。"
8132
8133 #. type: Plain text
8134 #: build/C/man2/signalfd.2:309
8135 msgid "B<signalfd>()  and B<signalfd4>()  are Linux-specific."
8136 msgstr "B<signalfd>()  と B<signalfd4>()  は Linux 固有である。"
8137
8138 #. type: Plain text
8139 #: build/C/man2/signalfd.2:319
8140 msgid ""
8141 "The underlying Linux system call requires an additional argument, I<size_t "
8142 "sizemask>, which specifies the size of the I<mask> argument.  The glibc "
8143 "B<signalfd>()  wrapper function does not include this argument, since it "
8144 "provides the required value for the underlying system call."
8145 msgstr ""
8146 "実際の Linux のシステムコールでは I<size_t sizemask> という引き数が追加で必要"
8147 "である。この引き数で I<mask> のサイズを指定する。 glibc の B<signalfd>()  "
8148 "ラッパー関数にはこの引き数は含まれず、 ラッパー関数が必要な値を計算して内部で"
8149 "呼び出すシステムコールに提供する。"
8150
8151 #. type: Plain text
8152 #: build/C/man2/signalfd.2:333
8153 msgid ""
8154 "A process can create multiple signalfd file descriptors.  This makes it "
8155 "possible to accept different signals on different file descriptors.  (This "
8156 "may be useful if monitoring the file descriptors using B<select>(2), B<poll>"
8157 "(2), or B<epoll>(7): the arrival of different signals will make different "
8158 "descriptors ready.)  If a signal appears in the I<mask> of more than one of "
8159 "the file descriptors, then occurrences of that signal can be read (once) "
8160 "from any one of the descriptors."
8161 msgstr ""
8162 "一つのプロセスは複数の signalfd ファイルディスクリプタを生成することができ"
8163 "る。 これにより、異なるファイルディスクリプタで異なるシグナルを受け取ること"
8164 "が できる (この機能は B<select>(2), B<poll>(2), B<epoll>(7)  を使ってファイル"
8165 "ディスクリプタを監視する場合に有用かもしれない。 異なるシグナルが到着すると、"
8166 "異なるファイルディスクリプタが利用可能に なるからだ)。 一つのシグナルが二つ以"
8167 "上のファイルディスクリプタの I<mask> に含まれている場合、そのシグナルの発生は"
8168 "そのシグナルを I<mask> に含むファイルディスクリプタのうちいずれか一つから読み"
8169 "出すことができる。"
8170
8171 #. type: Plain text
8172 #: build/C/man2/signalfd.2:349
8173 msgid ""
8174 "There are two underlying Linux system calls: B<signalfd>()  and the more "
8175 "recent B<signalfd4>().  The former system call does not implement a I<flags> "
8176 "argument.  The latter system call implements the I<flags> values described "
8177 "above.  Starting with glibc 2.9, the B<signalfd>()  wrapper function will "
8178 "use B<signalfd4>()  where it is available."
8179 msgstr ""
8180 "下層にある Linux システムコールは二種類あり、 B<signalfd>()  と、もっと新し"
8181 "い B<signalfd4>()  である。 B<signalfd>()  は I<flags> 引き数を実装していな"
8182 "い。 B<signalfd4>()  では上記の値の I<flags> が実装されている。 glibc 2.9 以"
8183 "降では、 B<signalfd>()  のラッパー関数は、 B<signalfd4>()  が利用可能であれ"
8184 "ば、これを使用する。"
8185
8186 #.  The fix also was put into 2.6.24.5
8187 #. type: Plain text
8188 #: build/C/man2/signalfd.2:357
8189 msgid ""
8190 "In kernels before 2.6.25, the I<ssi_ptr> and I<ssi_int> fields are not "
8191 "filled in with the data accompanying a signal sent by B<sigqueue>(3)."
8192 msgstr ""
8193 "カーネル 2.6.25 より前では、 B<sigqueue>(3)  により送信されたシグナルと一緒に"
8194 "渡されるデータでは、フィールド I<ssi_ptr> と I<ssi_int> は設定されない。"
8195
8196 #. type: Plain text
8197 #: build/C/man2/signalfd.2:367
8198 msgid ""
8199 "The program below accepts the signals B<SIGINT> and B<SIGQUIT> via a "
8200 "signalfd file descriptor.  The program terminates after accepting a "
8201 "B<SIGQUIT> signal.  The following shell session demonstrates the use of the "
8202 "program:"
8203 msgstr ""
8204 "下記のプログラムは、シグナル B<SIGINT> と B<SIGQUIT> を signalfd ファイルディ"
8205 "スクリプタ経由で受信する。 シグナル B<SIGQUIT> 受信後にプログラムは終了す"
8206 "る。 以下に示すシェルセッションにこのプログラムの使い方を示す。"
8207
8208 #. type: Plain text
8209 #: build/C/man2/signalfd.2:378
8210 #, no-wrap
8211 msgid ""
8212 "$B< ./signalfd_demo>\n"
8213 "B<^C>                   # Control-C generates SIGINT\n"
8214 "Got SIGINT\n"
8215 "B<^C>\n"
8216 "Got SIGINT\n"
8217 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
8218 "Got SIGQUIT\n"
8219 "$\n"
8220 msgstr ""
8221 "$B< ./signalfd_demo>\n"
8222 "B<^C>                   # Control-C generates SIGINT\n"
8223 "Got SIGINT\n"
8224 "B<^C>\n"
8225 "Got SIGINT\n"
8226 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
8227 "Got SIGQUIT\n"
8228 "$\n"
8229
8230 #. type: Plain text
8231 #: build/C/man2/signalfd.2:388
8232 #, no-wrap
8233 msgid ""
8234 "#include E<lt>sys/signalfd.hE<gt>\n"
8235 "#include E<lt>signal.hE<gt>\n"
8236 "#include E<lt>unistd.hE<gt>\n"
8237 "#include E<lt>stdlib.hE<gt>\n"
8238 "#include E<lt>stdio.hE<gt>\n"
8239 msgstr ""
8240 "#include E<lt>sys/signalfd.hE<gt>\n"
8241 "#include E<lt>signal.hE<gt>\n"
8242 "#include E<lt>unistd.hE<gt>\n"
8243 "#include E<lt>stdlib.hE<gt>\n"
8244 "#include E<lt>stdio.hE<gt>\n"
8245
8246 #. type: Plain text
8247 #: build/C/man2/signalfd.2:399
8248 #, no-wrap
8249 msgid ""
8250 "int\n"
8251 "main(int argc, char *argv[])\n"
8252 "{\n"
8253 "    sigset_t mask;\n"
8254 "    int sfd;\n"
8255 "    struct signalfd_siginfo fdsi;\n"
8256 "    ssize_t s;\n"
8257 msgstr ""
8258 "int\n"
8259 "main(int argc, char *argv[])\n"
8260 "{\n"
8261 "    sigset_t mask;\n"
8262 "    int sfd;\n"
8263 "    struct signalfd_siginfo fdsi;\n"
8264 "    ssize_t s;\n"
8265
8266 #. type: Plain text
8267 #: build/C/man2/signalfd.2:403
8268 #, no-wrap
8269 msgid ""
8270 "    sigemptyset(&mask);\n"
8271 "    sigaddset(&mask, SIGINT);\n"
8272 "    sigaddset(&mask, SIGQUIT);\n"
8273 msgstr ""
8274 "    sigemptyset(&mask);\n"
8275 "    sigaddset(&mask, SIGINT);\n"
8276 "    sigaddset(&mask, SIGQUIT);\n"
8277
8278 #. type: Plain text
8279 #: build/C/man2/signalfd.2:406
8280 #, no-wrap
8281 msgid ""
8282 "    /* Block signals so that they aren\\(aqt handled\n"
8283 "       according to their default dispositions */\n"
8284 msgstr ""
8285 "    /* Block signals so that they aren\\(aqt handled\n"
8286 "       according to their default dispositions */\n"
8287
8288 #. type: Plain text
8289 #: build/C/man2/signalfd.2:409
8290 #, no-wrap
8291 msgid ""
8292 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8293 "        handle_error(\"sigprocmask\");\n"
8294 msgstr ""
8295 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8296 "        handle_error(\"sigprocmask\");\n"
8297
8298 #. type: Plain text
8299 #: build/C/man2/signalfd.2:413
8300 #, no-wrap
8301 msgid ""
8302 "    sfd = signalfd(-1, &mask, 0);\n"
8303 "    if (sfd == -1)\n"
8304 "        handle_error(\"signalfd\");\n"
8305 msgstr ""
8306 "    sfd = signalfd(-1, &mask, 0);\n"
8307 "    if (sfd == -1)\n"
8308 "        handle_error(\"signalfd\");\n"
8309
8310 #. type: Plain text
8311 #: build/C/man2/signalfd.2:418
8312 #, no-wrap
8313 msgid ""
8314 "    for (;;) {\n"
8315 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8316 "        if (s != sizeof(struct signalfd_siginfo))\n"
8317 "            handle_error(\"read\");\n"
8318 msgstr ""
8319 "    for (;;) {\n"
8320 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8321 "        if (s != sizeof(struct signalfd_siginfo))\n"
8322 "            handle_error(\"read\");\n"
8323
8324 #. type: Plain text
8325 #: build/C/man2/signalfd.2:429
8326 #, no-wrap
8327 msgid ""
8328 "        if (fdsi.ssi_signo == SIGINT) {\n"
8329 "            printf(\"Got SIGINT\\en\");\n"
8330 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8331 "            printf(\"Got SIGQUIT\\en\");\n"
8332 "            exit(EXIT_SUCCESS);\n"
8333 "        } else {\n"
8334 "            printf(\"Read unexpected signal\\en\");\n"
8335 "        }\n"
8336 "    }\n"
8337 "}\n"
8338 msgstr ""
8339 "        if (fdsi.ssi_signo == SIGINT) {\n"
8340 "            printf(\"Got SIGINT\\en\");\n"
8341 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8342 "            printf(\"Got SIGQUIT\\en\");\n"
8343 "            exit(EXIT_SUCCESS);\n"
8344 "        } else {\n"
8345 "            printf(\"Read unexpected signal\\en\");\n"
8346 "        }\n"
8347 "    }\n"
8348 "}\n"
8349
8350 #. type: Plain text
8351 #: build/C/man2/signalfd.2:442
8352 msgid ""
8353 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8354 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8355 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8356 msgstr ""
8357 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8358 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8359 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8360
8361 #. type: TH
8362 #: build/C/man3/sigpause.3:23
8363 #, no-wrap
8364 msgid "SIGPAUSE"
8365 msgstr "SIGPAUSE"
8366
8367 #. type: TH
8368 #: build/C/man3/sigpause.3:23
8369 #, no-wrap
8370 msgid "2010-09-12"
8371 msgstr "2010-09-12"
8372
8373 #. type: Plain text
8374 #: build/C/man3/sigpause.3:26
8375 msgid "sigpause - atomically release blocked signals and wait for interrupt"
8376 msgstr "sigpause - ブロックされたシグナルをアトミックに解放して割り込みを待つ"
8377
8378 #. type: Plain text
8379 #: build/C/man3/sigpause.3:31
8380 #, no-wrap
8381 msgid "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8382 msgstr "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8383
8384 #. type: Plain text
8385 #: build/C/man3/sigpause.3:33
8386 #, no-wrap
8387 msgid "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8388 msgstr "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8389
8390 #. type: Plain text
8391 #: build/C/man3/sigpause.3:39
8392 msgid "Don't use this function.  Use B<sigsuspend>(2)  instead."
8393 msgstr "この関数を使わないこと。 代わりに B<sigsuspend>(2)  を使うこと。"
8394
8395 #. type: Plain text
8396 #: build/C/man3/sigpause.3:46
8397 msgid ""
8398 "The function B<sigpause>()  is designed to wait for some signal.  It changes "
8399 "the process's signal mask (set of blocked signals), and then waits for a "
8400 "signal to arrive.  Upon arrival of a signal, the original signal mask is "
8401 "restored."
8402 msgstr ""
8403 "関数 B<sigpause>()  はシグナルを待つように設計されている。 この関数はプロセス"
8404 "のシグナルマスク (ブロックされたシグナルのセット) を変更し、 シグナルが到着す"
8405 "るのを待つ。 シグナルが到着すると、シグナルマスクは元に戻される。"
8406
8407 #. type: Plain text
8408 #: build/C/man3/sigpause.3:54
8409 msgid ""
8410 "If B<sigpause>()  returns, it was interrupted by a signal and the return "
8411 "value is -1 with I<errno> set to B<EINTR>."
8412 msgstr ""
8413 "B<sigpause>()  が返った場合、この関数はシグナルによって割り込まれている。 返"
8414 "り値は -1 で、 I<errno> は B<EINTR> に設定される。"
8415
8416 #. type: Plain text
8417 #: build/C/man3/sigpause.3:58
8418 msgid "The System V version of B<sigpause>()  is standardized in POSIX.1-2001."
8419 msgstr "System V 版の B<sigpause>()  は POSIX.1-2001 で標準化されている。"
8420
8421 #.  __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
8422 #. type: Plain text
8423 #: build/C/man3/sigpause.3:75
8424 msgid ""
8425 "The classical BSD version of this function appeared in 4.2BSD.  It sets the "
8426 "process's signal mask to I<sigmask>.  UNIX 95 standardized the incompatible "
8427 "System V version of this function, which removes only the specified signal "
8428 "I<sig> from the process's signal mask.  The unfortunate situation with two "
8429 "incompatible functions with the same name was solved by the B<\\%sigsuspend>"
8430 "(2)  function, that takes a I<sigset_t *> argument (instead of an I<int>)."
8431 msgstr ""
8432 "この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナル"
8433 "マスクを I<sigmask> に設定する。 UNIX 95 では BSD 版と互換性のない System V "
8434 "版のこの関数が標準化された。 UNIX 95 版は、指定されたシグナル I<sig> をプロセ"
8435 "スのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2 つの関数"
8436 "があるという不幸な事態は、 B<\\%sigsuspend>(2)  関数によって解消された。 この"
8437 "関数は (I<int> の代わりに)  B<sigset_t *> 引き数をとる。"
8438
8439 #. type: Plain text
8440 #: build/C/man3/sigpause.3:78
8441 msgid ""
8442 "On Linux, this routine is a system call only on the Sparc (sparc64)  "
8443 "architecture."
8444 msgstr ""
8445 "Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコー"
8446 "ルとなっている。"
8447
8448 #. type: Plain text
8449 #: build/C/man3/sigpause.3:80
8450 msgid "Libc4 and libc5 only know about the BSD version."
8451 msgstr "libc4 と libc5 には BSD 版しかない。"
8452
8453 #.  For the BSD version, one usually uses a zero
8454 #.  .I sigmask
8455 #.  to indicate that no signals are to be blocked.
8456 #. type: Plain text
8457 #: build/C/man3/sigpause.3:96
8458 msgid ""
8459 "Glibc uses the BSD version if the B<_BSD_SOURCE> feature test macro is "
8460 "defined and none of B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, "
8461 "B<_GNU_SOURCE>, or B<_SVID_SOURCE> is defined.  Otherwise, the System V "
8462 "version is used."
8463 msgstr ""
8464 "機能検査マクロ B<_BSD_SOURCE> が定義され、 B<_POSIX_SOURCE>, "
8465 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, B<_SVID_SOURCE> のいず"
8466 "れも定義されていない場合、 glibc は BSD 版を使う。 それ以外の場合には、"
8467 "System V 版を使用する。"
8468
8469 #. type: Plain text
8470 #: build/C/man3/sigpause.3:103
8471 msgid ""
8472 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8473 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8474 msgstr ""
8475 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8476 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8477
8478 #. type: TH
8479 #: build/C/man2/sigpending.2:27
8480 #, no-wrap
8481 msgid "SIGPENDING"
8482 msgstr "SIGPENDING"
8483
8484 #. type: TH
8485 #: build/C/man2/sigpending.2:27
8486 #, no-wrap
8487 msgid "2008-10-04"
8488 msgstr "2008-10-04"
8489
8490 #. type: Plain text
8491 #: build/C/man2/sigpending.2:30
8492 msgid "sigpending - examine pending signals"
8493 msgstr "sigpending - 処理待ちのシグナルの検査"
8494
8495 #. type: Plain text
8496 #: build/C/man2/sigpending.2:34
8497 msgid "B<int sigpending(sigset_t *>I<set>B<);>"
8498 msgstr "B<int sigpending(sigset_t *>I<set>B<);>"
8499
8500 #. type: Plain text
8501 #: build/C/man2/sigpending.2:43
8502 msgid ""
8503 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8504 "_POSIX_SOURCE"
8505 msgstr ""
8506 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8507 "_POSIX_SOURCE"
8508
8509 #. type: Plain text
8510 #: build/C/man2/sigpending.2:51
8511 msgid ""
8512 "B<sigpending>()  returns the set of signals that are pending for delivery to "
8513 "the calling thread (i.e., the signals which have been raised while "
8514 "blocked).  The mask of pending signals is returned in I<set>."
8515 msgstr ""
8516 "B<sigpending>()  は、呼び出し元のスレッドへの配送を待っている (pending) シグ"
8517 "ナル集合 (すなわち、禁止中に発生したシグナル) を返す。 処理待ちのシグナルのマ"
8518 "スクが I<set> に格納される。"
8519
8520 #. type: Plain text
8521 #: build/C/man2/sigpending.2:54
8522 msgid "B<sigpending>()  returns 0 on success and -1 on error."
8523 msgstr "B<sigpending>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8524
8525 #. type: Plain text
8526 #: build/C/man2/sigpending.2:59
8527 msgid ""
8528 "I<set> points to memory which is not a valid part of the process address "
8529 "space."
8530 msgstr ""
8531 "I<set> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
8532
8533 #. type: Plain text
8534 #: build/C/man2/sigpending.2:70
8535 msgid ""
8536 "The set of signals that is pending for a thread is the union of the set of "
8537 "signals that is pending for that thread and the set of signals that is "
8538 "pending for the process as a whole; see B<signal>(7)."
8539 msgstr ""
8540 "あるスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体への処理待ち"
8541 "のシグナル集合と、プロセス全体への処理待ちの シグナル集合をあわせたものであ"
8542 "る。 B<signal>(7)  参照。"
8543
8544 #. type: Plain text
8545 #: build/C/man2/sigpending.2:82
8546 msgid ""
8547 "In versions of glibc up to and including 2.2.1, there is a bug in the "
8548 "wrapper function for B<sigpending>()  which means that information about "
8549 "pending real-time signals is not correctly returned."
8550 msgstr ""
8551 "バージョン 2.2.1 以前の glibc では、 B<sigpending>()  のラッパー関数に、処理"
8552 "待ちのリアルタイムシグナルに関する情報が 正しく返されないというバグがある。"
8553
8554 #. type: Plain text
8555 #: build/C/man2/sigpending.2:89
8556 msgid ""
8557 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8558 "(2), B<sigsetops>(3), B<signal>(7)"
8559 msgstr ""
8560 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8561 "(2), B<sigsetops>(3), B<signal>(7)"
8562
8563 #. type: TH
8564 #: build/C/man2/sigprocmask.2:27
8565 #, no-wrap
8566 msgid "SIGPROCMASK"
8567 msgstr "SIGPROCMASK"
8568
8569 #. type: TH
8570 #: build/C/man2/sigprocmask.2:27
8571 #, fuzzy, no-wrap
8572 #| msgid "2009-03-15"
8573 msgid "2012-04-15"
8574 msgstr "2009-03-15"
8575
8576 #. type: Plain text
8577 #: build/C/man2/sigprocmask.2:30
8578 msgid "sigprocmask - examine and change blocked signals"
8579 msgstr "sigprocmask - 禁止するシグナルの確認と変更"
8580
8581 #. type: Plain text
8582 #: build/C/man2/sigprocmask.2:35
8583 msgid ""
8584 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8585 "*>I<oldset>B<);>"
8586 msgstr ""
8587 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8588 "*>I<oldset>B<);>"
8589
8590 #. type: Plain text
8591 #: build/C/man2/sigprocmask.2:44
8592 msgid ""
8593 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8594 "_POSIX_SOURCE"
8595 msgstr ""
8596 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8597 "_POSIX_SOURCE"
8598
8599 #. type: Plain text
8600 #: build/C/man2/sigprocmask.2:53
8601 msgid ""
8602 "B<sigprocmask>()  is used to fetch and/or change the signal mask of the "
8603 "calling thread.  The signal mask is the set of signals whose delivery is "
8604 "currently blocked for the caller (see also B<signal>(7)  for more details)."
8605 msgstr ""
8606 "B<sigprocmask>()  を使うと、呼び出したスレッドのシグナルマスクの取得/変更がで"
8607 "きる。 シグナルマスクは、呼び出し元に対して現在配送が禁止されているシグナル"
8608 "の 集合のことである (詳細については B<signal>(7)  も参照のこと)。"
8609
8610 #. type: Plain text
8611 #: build/C/man2/sigprocmask.2:57
8612 msgid ""
8613 "The behavior of the call is dependent on the value of I<how>, as follows."
8614 msgstr "このコールの動作は I<how> の値によって決まる:"
8615
8616 #. type: TP
8617 #: build/C/man2/sigprocmask.2:57
8618 #, no-wrap
8619 msgid "B<SIG_BLOCK>"
8620 msgstr "B<SIG_BLOCK>"
8621
8622 #. type: Plain text
8623 #: build/C/man2/sigprocmask.2:62
8624 msgid ""
8625 "The set of blocked signals is the union of the current set and the I<set> "
8626 "argument."
8627 msgstr ""
8628 "禁止されたシグナルの集合は現在の値と I<set> 引き数を結合したものとなる。"
8629
8630 #. type: TP
8631 #: build/C/man2/sigprocmask.2:62
8632 #, no-wrap
8633 msgid "B<SIG_UNBLOCK>"
8634 msgstr "B<SIG_UNBLOCK>"
8635
8636 #. type: Plain text
8637 #: build/C/man2/sigprocmask.2:68
8638 msgid ""
8639 "The signals in I<set> are removed from the current set of blocked signals.  "
8640 "It is permissible to attempt to unblock a signal which is not blocked."
8641 msgstr ""
8642 "現在禁止されているシグナルの集合から I<set> にあるシグナルを取り除く。禁止さ"
8643 "れていないシグナルを取り除こうと することも認められている。"
8644
8645 #. type: TP
8646 #: build/C/man2/sigprocmask.2:68
8647 #, no-wrap
8648 msgid "B<SIG_SETMASK>"
8649 msgstr "B<SIG_SETMASK>"
8650
8651 #. type: Plain text
8652 #: build/C/man2/sigprocmask.2:72
8653 msgid "The set of blocked signals is set to the argument I<set>."
8654 msgstr "禁止されているシグナルの集合に I<set> 引き数を設定する。"
8655
8656 #. type: Plain text
8657 #: build/C/man2/sigprocmask.2:77
8658 msgid ""
8659 "If I<oldset> is non-NULL, the previous value of the signal mask is stored in "
8660 "I<oldset>."
8661 msgstr ""
8662 "I<oldset> が NULL でなければ、シグナルマスクの今までの値を I<oldset> に格納す"
8663 "る。"
8664
8665 #. type: Plain text
8666 #: build/C/man2/sigprocmask.2:86
8667 msgid ""
8668 "If I<set> is NULL, then the signal mask is unchanged (i.e., I<how> is "
8669 "ignored), but the current value of the signal mask is nevertheless returned "
8670 "in I<oldset> (if it is not NULL)."
8671 msgstr ""
8672 "I<set> が NULL であれば、シグナルマスクは変更されない (すなわち、 I<how> は無"
8673 "視される)。 I<set> の値にかかわらず、現在のシグナルマスクの値は I<oldset> に"
8674 "入れて返される (但し、 I<oldset> が NULL でない場合)。"
8675
8676 #. type: Plain text
8677 #: build/C/man2/sigprocmask.2:91
8678 msgid ""
8679 "The use of B<sigprocmask>()  is unspecified in a multithreaded process; see "
8680 "B<pthread_sigmask>(3)."
8681 msgstr ""
8682 "マルチスレッドのプロセスで B<sigprocmask>()  を使用した場合の動作は規定されて"
8683 "いない。 B<pthread_sigmask>(3)  を参照のこと。"
8684
8685 #. type: Plain text
8686 #: build/C/man2/sigprocmask.2:94
8687 msgid "B<sigprocmask>()  returns 0 on success and -1 on error."
8688 msgstr "B<sigprocmask>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8689
8690 #. type: Plain text
8691 #: build/C/man2/sigprocmask.2:102
8692 #, fuzzy
8693 #| msgid ""
8694 #| "Either I<ss> or I<oss> is not NULL and points to an area outside of the "
8695 #| "process's address space."
8696 msgid ""
8697 "the I<set> or I<oldset> argument points outside the process's allocated "
8698 "address space."
8699 msgstr ""
8700 "I<ss> または I<oss> のどちらが、NULL 以外で、 かつプロセスのアドレス空間の外"
8701 "を指している。"
8702
8703 #. type: Plain text
8704 #: build/C/man2/sigprocmask.2:107
8705 #, fuzzy
8706 #| msgid "B<EINVAL> The value specified in I<how> was invalid."
8707 msgid "The value specified in I<how> was invalid."
8708 msgstr "B<EINVAL> I<how> に指定された値が有効ではない。"
8709
8710 #. type: Plain text
8711 #: build/C/man2/sigprocmask.2:113
8712 msgid ""
8713 "It is not possible to block B<SIGKILL> or B<SIGSTOP>.  Attempts to do so are "
8714 "silently ignored."
8715 msgstr ""
8716 "B<SIGKILL> や B<SIGSTOP> を禁止することはできない。 禁止しようとしても黙って"
8717 "無視される。"
8718
8719 #. type: Plain text
8720 #: build/C/man2/sigprocmask.2:115
8721 msgid "Each of the threads in a process has its own signal mask."
8722 msgstr "プロセス内の各スレッドはそれぞれ専用のシグナルマスクを持つ。"
8723
8724 #. type: Plain text
8725 #: build/C/man2/sigprocmask.2:135
8726 msgid ""
8727 "If B<SIGBUS>, B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> are generated while they "
8728 "are blocked, the result is undefined, unless the signal was generated by "
8729 "B<kill>(2), B<sigqueue>(3), or B<raise>(3)."
8730 msgstr ""
8731 "シグナル B<SIGBUS>, B<SIGFPE>, B<SIGILL>, B<SIGSEGV> が禁止されている間に生成"
8732 "された場合で、 そのシグナルが B<kill>(2), B<sigqueue>(3), B<raise>(3)  によっ"
8733 "て生成されたものでないときには、 その後の動作は未定義である。"
8734
8735 #. type: Plain text
8736 #: build/C/man2/sigprocmask.2:149
8737 msgid ""
8738 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8739 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8740 "B<signal>(7)"
8741 msgstr ""
8742 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8743 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8744 "B<signal>(7)"
8745
8746 #. type: TH
8747 #: build/C/man3/sigqueue.3:26
8748 #, no-wrap
8749 msgid "SIGQUEUE"
8750 msgstr "SIGQUEUE"
8751
8752 #. type: TH
8753 #: build/C/man3/sigqueue.3:26
8754 #, fuzzy, no-wrap
8755 #| msgid "2009-03-15"
8756 msgid "2012-03-25"
8757 msgstr "2009-03-15"
8758
8759 #. type: Plain text
8760 #: build/C/man3/sigqueue.3:29
8761 #, fuzzy
8762 #| msgid "sigqueue, rt_sigqueueinfo - queue a signal and data to a process"
8763 msgid "sigqueue - queue a signal and data to a process"
8764 msgstr "sigqueue, rt_sigqueueinfo - シグナルとデータをプロセスに送る"
8765
8766 #. type: Plain text
8767 #: build/C/man3/sigqueue.3:33
8768 msgid ""
8769 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8770 ">I<value>B<);>"
8771 msgstr ""
8772 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8773 ">I<value>B<);>"
8774
8775 #. type: Plain text
8776 #: build/C/man3/sigqueue.3:41
8777 msgid "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8778 msgstr "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8779
8780 #. type: Plain text
8781 #: build/C/man3/sigqueue.3:53
8782 msgid ""
8783 "B<sigqueue>()  sends the signal specified in I<sig> to the process whose PID "
8784 "is given in I<pid>.  The permissions required to send a signal are the same "
8785 "as for B<kill>(2).  As with B<kill>(2), the null signal (0) can be used to "
8786 "check if a process with a given PID exists."
8787 msgstr ""
8788 "B<sigqueue>()  は I<sig> で指定されたシグナルを、PID が I<pid> であるプロセス"
8789 "に送る。 シグナルを送るのに必要な権限は B<kill>(2)  と同じである。 B<kill>"
8790 "(2)  と同様に、ヌル・シグナル (0) を使って 指定した PID のプロセスが存在する"
8791 "かをチェックすることができる。"
8792
8793 #. type: Plain text
8794 #: build/C/man3/sigqueue.3:58
8795 msgid ""
8796 "The I<value> argument is used to specify an accompanying item of data "
8797 "(either an integer or a pointer value) to be sent with the signal, and has "
8798 "the following type:"
8799 msgstr ""
8800 "I<value> 引き数はシグナルと一緒に送るデータの付属アイテムを指定する。 "
8801 "I<value> は (整数またはポインタの値であり) 以下のような型である。"
8802
8803 #. type: Plain text
8804 #: build/C/man3/sigqueue.3:65
8805 #, no-wrap
8806 msgid ""
8807 "union sigval {\n"
8808 "    int   sival_int;\n"
8809 "    void *sival_ptr;\n"
8810 "};\n"
8811 msgstr ""
8812 "union sigval {\n"
8813 "    int   sival_int;\n"
8814 "    void *sival_ptr;\n"
8815 "};\n"
8816
8817 #. type: Plain text
8818 #: build/C/man3/sigqueue.3:81
8819 msgid ""
8820 "If the receiving process has installed a handler for this signal using the "
8821 "B<SA_SIGINFO> flag to B<sigaction>(2), then it can obtain this data via the "
8822 "I<si_value> field of the I<siginfo_t> structure passed as the second "
8823 "argument to the handler.  Furthermore, the I<si_code> field of that "
8824 "structure will be set to B<SI_QUEUE>."
8825 msgstr ""
8826 "受取先のプロセスに、このシグナルに対するハンドラを (B<sigaction>(2)  に "
8827 "B<SA_SIGINFO> を指定して) インストールしておくと、 そのハンドラの第 2 引き数"
8828 "に渡される I<siginfo_t> 構造体の I<si_value> フィールドによって、このデータを"
8829 "取得できる。 さらに、この構造体の I<si_code> フィールドは B<SI_QUEUE> に設定"
8830 "される。"
8831
8832 #. type: Plain text
8833 #: build/C/man3/sigqueue.3:89
8834 msgid ""
8835 "On success, B<sigqueue>()  returns 0, indicating that the signal was "
8836 "successfully queued to the receiving process.  Otherwise -1 is returned and "
8837 "I<errno> is set to indicate the error."
8838 msgstr ""
8839 "成功した場合、 B<sigqueue>()  は 0 を返す。 これは受け取り側プロセスの待ち行"
8840 "列に シグナルが正しく入れられたことを示す。 失敗した場合は -1 が返され、 "
8841 "I<errno> がエラーを表す値に設定される。"
8842
8843 #. type: Plain text
8844 #: build/C/man3/sigqueue.3:100
8845 msgid "I<sig> was invalid."
8846 msgstr "I<sig> が不正である。"
8847
8848 #. type: Plain text
8849 #: build/C/man3/sigqueue.3:106
8850 msgid ""
8851 "The process does not have permission to send the signal to the receiving "
8852 "process.  For the required permissions, see B<kill>(2)."
8853 msgstr ""
8854 "このプロセスには、受け取り側プロセスにシグナルを送る権限がない。 必要な権限に"
8855 "ついては、 B<kill>(2)  を参照すること。"
8856
8857 #. type: Plain text
8858 #: build/C/man3/sigqueue.3:110
8859 msgid "No process has a PID matching I<pid>."
8860 msgstr "I<pid> にマッチする PID のプロセスがない。"
8861
8862 #. type: Plain text
8863 #: build/C/man3/sigqueue.3:112
8864 msgid "This system call first appeared in Linux 2.2."
8865 msgstr "このシステムコールは Linux 2.2 で初めて登場した。"
8866
8867 #. type: Plain text
8868 #: build/C/man3/sigqueue.3:122
8869 msgid ""
8870 "If this function results in the sending of a signal to the process that "
8871 "invoked it, and that signal was not blocked by the calling thread, and no "
8872 "other threads were willing to handle this signal (either by having it "
8873 "unblocked, or by waiting for it using B<sigwait>(3)), then at least some "
8874 "signal must be delivered to this thread before this function returns."
8875 msgstr ""
8876 "この関数を呼び出したプロセスにこの関数がシグナルを送ったときに、 シグナルが呼"
8877 "び出し側スレッドにブロックされず、 かつ (シグナルがブロックされなかった、また"
8878 "は B<sigwait>(3)  を使用するのを待っていることにより)  このシグナルを扱うス"
8879 "レッドが何もない場合は、 この関数がリターンする前に、少なくとも そのスレッド"
8880 "に対してシグナルが配送されていなければならない。"
8881
8882 #. type: Plain text
8883 #: build/C/man3/sigqueue.3:137
8884 msgid ""
8885 "On Linux, this function is implemented using the B<rt_sigqueueinfo>(2)  "
8886 "system call.  The system call differs in its third argument, which is the "
8887 "I<siginfo_t> structure that will be supplied to the receiving process's "
8888 "signal handler or returned by the receiving process's B<sigtimedwait>(2)  "
8889 "call.  Inside the glibc B<sigqueue>()  wrapper, this argument, I<uinfo>, is "
8890 "initialized as follows:"
8891 msgstr ""
8892 "Linux では、この関数は B<rt_sigqueueinfo>(2)  システムコールを使って実装され"
8893 "ている。 両者には 3 番目の引き数に違いがあり、 B<rt_sigqueueinfo>(2)  では 3 "
8894 "番目の引き数は I<siginfo_t> 構造体である。 I<siginfo_t> 構造体は、シグナルを"
8895 "受信するプロセスのシグナルハンドラに渡されたり、 シグナル受信プロセスの "
8896 "B<sigtimedwait>(2)  システムコールから返されたりする。 glibc の B<sigqueue>"
8897 "()  ラッパー関数内部では、 この引き数 I<uinfo> は以下のように初期化される。"
8898
8899 #. type: Plain text
8900 #: build/C/man3/sigqueue.3:145
8901 #, no-wrap
8902 msgid ""
8903 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8904 "uinfo.si_code = SI_QUEUE;\n"
8905 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8906 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8907 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8908 msgstr ""
8909 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8910 "uinfo.si_code = SI_QUEUE;\n"
8911 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8912 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8913 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8914
8915 #. type: Plain text
8916 #: build/C/man3/sigqueue.3:154
8917 msgid ""
8918 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8919 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8920 msgstr ""
8921 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8922 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8923
8924 #. type: TH
8925 #: build/C/man2/sigreturn.2:27
8926 #, no-wrap
8927 msgid "SIGRETURN"
8928 msgstr "SIGRETURN"
8929
8930 #. type: TH
8931 #: build/C/man2/sigreturn.2:27
8932 #, no-wrap
8933 msgid "2008-06-26"
8934 msgstr "2008-06-26"
8935
8936 #. type: Plain text
8937 #: build/C/man2/sigreturn.2:30
8938 msgid "sigreturn - return from signal handler and cleanup stack frame"
8939 msgstr "sigreturn - シグナル・ハンドラから返り、スタックを掃除する"
8940
8941 #. type: Plain text
8942 #: build/C/man2/sigreturn.2:32
8943 msgid "B<int sigreturn(unsigned long >I<__unused>B<);>"
8944 msgstr "B<int sigreturn(unsigned long >I<__unused>B<);>"
8945
8946 #. type: Plain text
8947 #: build/C/man2/sigreturn.2:40
8948 msgid ""
8949 "When the Linux kernel creates the stack frame for a signal handler, a call "
8950 "to B<sigreturn>()  is inserted into the stack frame so that upon return from "
8951 "the signal handler, B<sigreturn>()  will be called."
8952 msgstr ""
8953 "Linux カーネルは、 シグナル・ハンドラ用にスタック・フレームを作成する際、 "
8954 "B<sigreturn>()  をスタック・フレームに挿入し、シグナル・ハンドラが返るときに "
8955 "B<sigreturn>()  が呼ばれるようにする。"
8956
8957 #. type: Plain text
8958 #: build/C/man2/sigreturn.2:51
8959 msgid ""
8960 "This B<sigreturn>()  call undoes everything that was done\\(emchanging the "
8961 "process's signal mask, switching stacks (see B<sigaltstack>(2))\\(emin order "
8962 "to invoke the signal handler: it restores the process's signal mask, "
8963 "switches stacks, and restores the process's context (registers, processor "
8964 "flags), so that the process directly resumes execution at the point where it "
8965 "was interrupted by the signal."
8966 msgstr ""
8967 "B<sigreturn>()  は、シグナル・ハンドラを起動するために行ったことの全て \\(em "
8968 "プロセスのシグナルマスクの変更、スタックの切り替え (B<sigaltstack>(2)  参照) "
8969 "\\(em の取り消しを行う。 プロセスのシグナルマスクの復元、スタックの切り替"
8970 "え、 プロセスのコンテキスト (レジスタ、プロセッサ・フラグ) の復元を行い、 プ"
8971 "ロセスがシグナルにより割り込まれた場所からそのまま実行を 再開できるようにす"
8972 "る。"
8973
8974 #. type: Plain text
8975 #: build/C/man2/sigreturn.2:54
8976 msgid "B<sigreturn>()  never returns."
8977 msgstr "B<sigreturn>()  が返ることはない。"
8978
8979 #. type: SH
8980 #: build/C/man2/sigreturn.2:54
8981 #, no-wrap
8982 msgid "FILES"
8983 msgstr "ファイル"
8984
8985 #. type: Plain text
8986 #: build/C/man2/sigreturn.2:56
8987 msgid "/usr/src/linux/arch/i386/kernel/signal.c"
8988 msgstr "/usr/src/linux/arch/i386/kernel/signal.c"
8989
8990 #. type: Plain text
8991 #: build/C/man2/sigreturn.2:58
8992 msgid "/usr/src/linux/arch/alpha/kernel/entry.S"
8993 msgstr "/usr/src/linux/arch/alpha/kernel/entry.S"
8994
8995 #. type: Plain text
8996 #: build/C/man2/sigreturn.2:62
8997 msgid ""
8998 "B<sigreturn>()  is specific to Linux and should not be used in programs "
8999 "intended to be portable."
9000 msgstr ""
9001 "B<sigreturn>()  は Linux 特有であり、移植を意図したプログラムでは使用してはい"
9002 "けない。"
9003
9004 #. type: Plain text
9005 #: build/C/man2/sigreturn.2:72
9006 msgid ""
9007 "The B<sigreturn>()  call is used by the kernel to implement signal "
9008 "handlers.  It should B<never> be called directly.  Better yet, the specific "
9009 "use of the I<__unused> argument varies depending on the architecture."
9010 msgstr ""
9011 "B<sigreturn>()  コールは、シグナル・ハンドラを実装するためにカーネルにより使"
9012 "用される。 これを直接呼び出しては B<決して> いけない。さらに I<__unused> 引き"
9013 "数がどのように使われるかはそのアーキテクチャに依存して変化する。"
9014
9015 #. type: Plain text
9016 #: build/C/man2/sigreturn.2:76
9017 msgid "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
9018 msgstr "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
9019
9020 #. type: TH
9021 #: build/C/man3/sigset.3:24
9022 #, no-wrap
9023 msgid "SIGSET"
9024 msgstr "SIGSET"
9025
9026 #. type: Plain text
9027 #: build/C/man3/sigset.3:27
9028 msgid "sigset, sighold, sigrelse, sigignore - System V signal API"
9029 msgstr "sigset, sighold, sigrelse, sigignore - System V 版シグナル API"
9030
9031 #. type: Plain text
9032 #: build/C/man3/sigset.3:33
9033 msgid "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
9034 msgstr "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
9035
9036 #. type: Plain text
9037 #: build/C/man3/sigset.3:35
9038 msgid "B<int sighold(int >I<sig>B<);>"
9039 msgstr "B<int sighold(int >I<sig>B<);>"
9040
9041 #. type: Plain text
9042 #: build/C/man3/sigset.3:37
9043 msgid "B<int sigrelse(int >I<sig>B<);>"
9044 msgstr "B<int sigrelse(int >I<sig>B<);>"
9045
9046 #. type: Plain text
9047 #: build/C/man3/sigset.3:39
9048 msgid "B<int sigignore(int >I<sig>B<);>"
9049 msgstr "B<int sigignore(int >I<sig>B<);>"
9050
9051 #. type: Plain text
9052 #: build/C/man3/sigset.3:50
9053 msgid "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
9054 msgstr "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
9055
9056 #. type: Plain text
9057 #: build/C/man3/sigset.3:54
9058 msgid ""
9059 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
9060 msgstr ""
9061 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
9062
9063 #. type: Plain text
9064 #: build/C/man3/sigset.3:63
9065 msgid ""
9066 "These functions are provided in glibc as a compatibility interface for "
9067 "programs that make use of the historical System V signal API.  This API is "
9068 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
9069 "B<sigprocmask>(2), etc.)"
9070 msgstr ""
9071 "これらの関数は、昔ながらの System V 版シグナル API を使用しているプログラム "
9072 "に対して互換性のあるインタフェースを glibc で提供するものである。 この API は"
9073 "過去のものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>"
9074 "(2), B<sigprocmask>(2)  など) を使用すべきである。"
9075
9076 #. type: Plain text
9077 #: build/C/man3/sigset.3:72
9078 msgid ""
9079 "The B<sigset>()  function modifies the disposition of the signal I<sig>.  "
9080 "The I<disp> argument can be the address of a signal handler function, or one "
9081 "of the following constants:"
9082 msgstr ""
9083 "関数 B<sigset>()  はシグナル I<sig> のシグナルハンドラの動作を変更する。 "
9084 "I<disp> 引き数には、シグナルハンドラ関数のアドレスか、 以下の定数のいずれか一"
9085 "つを指定できる。"
9086
9087 #. type: TP
9088 #: build/C/man3/sigset.3:72
9089 #, no-wrap
9090 msgid "B<SIG_DFL>"
9091 msgstr "B<SIG_DFL>"
9092
9093 #. type: Plain text
9094 #: build/C/man3/sigset.3:77
9095 msgid "Reset the disposition of I<sig> to the default."
9096 msgstr "I<sig> の動作をデフォルトにリセットする。"
9097
9098 #. type: TP
9099 #: build/C/man3/sigset.3:77
9100 #, no-wrap
9101 msgid "B<SIG_IGN>"
9102 msgstr "B<SIG_IGN>"
9103
9104 #. type: Plain text
9105 #: build/C/man3/sigset.3:81
9106 msgid "Ignore I<sig>."
9107 msgstr "I<sig> を無視する。"
9108
9109 #. type: TP
9110 #: build/C/man3/sigset.3:81
9111 #, no-wrap
9112 msgid "B<SIG_HOLD>"
9113 msgstr "B<SIG_HOLD>"
9114
9115 #. type: Plain text
9116 #: build/C/man3/sigset.3:88
9117 msgid ""
9118 "Add I<sig> to the process's signal mask, but leave the disposition of I<sig> "
9119 "unchanged."
9120 msgstr ""
9121 "そのプロセスのシグナルマスクに I<sig> を追加するが、 I<sig> の動作は変更しな"
9122 "い。"
9123
9124 #. type: Plain text
9125 #: build/C/man3/sigset.3:94
9126 msgid ""
9127 "If I<disp> specifies the address of a signal handler, then I<sig> is added "
9128 "to the process's signal mask during execution of the handler."
9129 msgstr ""
9130 "I<disp> にシグナルハンドラのアドレスが指定された場合、 シグナルハンドラの実行"
9131 "中は、そのプロセスのシグナルマスクに I<sig> が追加される。"
9132
9133 #. type: Plain text
9134 #: build/C/man3/sigset.3:102
9135 msgid ""
9136 "If I<disp> was specified as a value other than B<SIG_HOLD>, then I<sig> is "
9137 "removed from the process's signal mask."
9138 msgstr ""
9139 "I<disp> に B<SIG_HOLD> 以外の値が指定された場合、 そのプロセスのシグナルマス"
9140 "クから I<sig> が削除される。"
9141
9142 #. type: Plain text
9143 #: build/C/man3/sigset.3:108 build/C/man3/sigvec.3:85
9144 msgid "The dispositions for B<SIGKILL> and B<SIGSTOP> cannot be changed."
9145 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> に対する動作は変更できない。"
9146
9147 #. type: Plain text
9148 #: build/C/man3/sigset.3:114
9149 msgid ""
9150 "The B<sighold>()  function adds I<sig> to the calling process's signal mask."
9151 msgstr ""
9152 "関数 B<sighold>()  は、呼び出し元プロセスのシグナルマスクに I<sig> を追加す"
9153 "る。"
9154
9155 #. type: Plain text
9156 #: build/C/man3/sigset.3:120
9157 msgid ""
9158 "The B<sigrelse>()  function removes I<sig> from the calling process's signal "
9159 "mask."
9160 msgstr ""
9161 "関数 B<sigrelse>()  は、呼び出し元プロセスのシグナルマスクから I<sig> を削除"
9162 "する。"
9163
9164 #. type: Plain text
9165 #: build/C/man3/sigset.3:127
9166 msgid ""
9167 "The B<sigignore>()  function sets the disposition of I<sig> to B<SIG_IGN>."
9168 msgstr "関数 B<sigignore>()  は、 I<sig> の動作を B<SIG_IGN> に設定する。"
9169
9170 #. type: Plain text
9171 #: build/C/man3/sigset.3:143
9172 msgid ""
9173 "On success, B<sigset>()  returns B<SIG_HOLD> if I<sig> was blocked before "
9174 "the call, or the signal's previous disposition if it was not blocked before "
9175 "the call.  On error, B<sigset>()  returns -1, with I<errno> set to indicate "
9176 "the error.  (But see BUGS below.)"
9177 msgstr ""
9178 "B<sigset>()  は成功すると、 呼び出し前に I<sig> がブロックされていた場合には "
9179 "B<SIG_HOLD> を返し、 ブロックされていなかった場合には 変更前のそのシグナルの"
9180 "動作を返す。 エラーの場合、 B<sigset>()  は -1 を返し、 I<errno> にエラーを示"
9181 "す値をセットする。 但し、以下の「バグ」の節も参照のこと。"
9182
9183 #. type: Plain text
9184 #: build/C/man3/sigset.3:152
9185 msgid ""
9186 "The B<sighold>(), B<sigrelse>(), and B<sigignore>()  functions return 0 on "
9187 "success; on error, these functions return -1 and set I<errno> to indicate "
9188 "the error."
9189 msgstr ""
9190 "関数 B<sighold>(), B<sigrelse>(), B<sigignore>()  は成功すると 0 を返す。エ"
9191 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
9192
9193 #. type: Plain text
9194 #: build/C/man3/sigset.3:159
9195 msgid ""
9196 "For B<sigset>()  see the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
9197 msgstr ""
9198 "B<sigset>()  に関しては、 B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」"
9199 "の節を参照。"
9200
9201 #. type: Plain text
9202 #: build/C/man3/sigset.3:166
9203 msgid ""
9204 "For B<sighold>()  and B<sigrelse>()  see the ERRORS under B<sigprocmask>(2)."
9205 msgstr ""
9206 "B<sighold>()  と B<sigrelse>()  に関しては、 B<sigprocmask>(2)  の「エラー」"
9207 "の節を参照。"
9208
9209 #. type: Plain text
9210 #: build/C/man3/sigset.3:171
9211 msgid "For B<sigignore>(), see the errors under B<sigaction>(2)."
9212 msgstr "B<sigignore>()  に関しては、 B<sigaction>(2)  の「エラー」の節を参照。"
9213
9214 #. type: Plain text
9215 #: build/C/man3/sigset.3:188
9216 msgid ""
9217 "SVr4, POSIX.1-2001.  These functions are obsolete: do not use them in new "
9218 "programs.  POSIX.1-2008 marks B<sighold>(), B<sigignore>(), B<sigpause>(), "
9219 "B<sigrelse>(), and B<sigset>()  as obsolete, recommending the use of "
9220 "B<sigaction>(2), B<sigprocmask>(2), B<pthread_sigmask>(3), and B<sigsuspend>"
9221 "(2)  instead."
9222 msgstr ""
9223 "SVr4, POSIX.1-2001.  これらの関数は廃止予定である。新しいプログラムでは使用し"
9224 "ないこと。 POSIX.1-2008 は、 B<sighold>(), B<sigignore>(), B<sigpause>(), "
9225 "B<sigrelse>(), B<sigset>()  を廃止予定としている。 代わりに、 B<sigaction>"
9226 "(2), B<sigprocmask>(2), B<pthread_sigmask>(3), B<sigsuspend>(2)  の使用が推奨"
9227 "されている。"
9228
9229 #. type: Plain text
9230 #: build/C/man3/sigset.3:190
9231 msgid "These functions appeared in glibc version 2.1."
9232 msgstr "これらの関数は glibc 2.1 で登場した。"
9233
9234 #. type: Plain text
9235 #: build/C/man3/sigset.3:196
9236 msgid ""
9237 "The I<sighandler_t> type is a GNU extension; it is only used on this page to "
9238 "make the B<sigset>()  prototype more easily readable."
9239 msgstr ""
9240 "I<sighandler_t> 型は GNU による拡張であり、この man page で B<sigset>()  のプ"
9241 "ロトタイプをより読みやすくするために使われているだけである。"
9242
9243 #. type: Plain text
9244 #: build/C/man3/sigset.3:204
9245 msgid ""
9246 "The B<sigset>()  function provides reliable signal handling semantics (as "
9247 "when calling B<sigaction>(2)  with I<sa_mask> equal to 0)."
9248 msgstr ""
9249 "関数 B<sigset>()  は信頼性のあるシグナル処理機構を提供する (I<sa_mask> を 0 "
9250 "で B<sigaction>(2)  を呼び出したときと同様)。"
9251
9252 #. type: Plain text
9253 #: build/C/man3/sigset.3:222
9254 msgid ""
9255 "On System V, the B<signal>()  function provides unreliable semantics (as "
9256 "when calling B<sigaction>(2)  with I<sa_mask> equal to I<SA_RESETHAND | "
9257 "SA_NODEFER>).  On BSD, B<signal>()  provides reliable semantics.  "
9258 "POSIX.1-2001 leaves these aspects of B<signal>()  unspecified.  See B<signal>"
9259 "(2)  for further details."
9260 msgstr ""
9261 "System V では、関数 B<signal>()  が提供する処理機構は信頼性のないものである "
9262 "(I<sa_mask> を I<SA_RESETHAND | SA_NODEFER> として B<sigaction>(2)  を呼び出"
9263 "したときと同様)。 BSD では、 B<signal>()  は信頼性のある処理機構を提供する。 "
9264 "POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままとなっている。 さら"
9265 "なる詳細については B<signal>(2)  を参照。"
9266
9267 #. type: Plain text
9268 #: build/C/man3/sigset.3:230 build/C/man3/sigvec.3:250
9269 msgid ""
9270 "In order to wait for a signal, BSD and System V both provided a function "
9271 "named B<sigpause>(3), but this function has a different argument on the two "
9272 "systems.  See B<sigpause>(3)  for details."
9273 msgstr ""
9274 "BSD と System V のどちらのシステムでも シグナルを待つために、 B<sigpause>"
9275 "(3)  という名前の関数が提供されているが、 この関数の引き数は両方のシステムで"
9276 "異なる。 詳細は B<sigpause>(3)  を参照。"
9277
9278 #. type: Plain text
9279 #: build/C/man3/sigset.3:239
9280 msgid ""
9281 "In versions of glibc before 2.2, B<sigset>()  did not unblock I<sig> if "
9282 "I<disp> was specified as a value other than B<SIG_HOLD>."
9283 msgstr ""
9284 "2.2 より前のバージョンの glibc では、 I<disp> に B<SIG_HOLD> 以外の値が指定さ"
9285 "れた場合、 I<sig> のブロック解除を行っていなかった。"
9286
9287 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1951
9288 #. type: Plain text
9289 #: build/C/man3/sigset.3:264
9290 msgid ""
9291 "In versions of glibc before 2.5, B<sigset>()  does not correctly return the "
9292 "previous disposition of the signal in two cases.  First, if I<disp> is "
9293 "specified as B<SIG_HOLD>, then a successful B<sigset>()  always returns "
9294 "B<SIG_HOLD>.  Instead, it should return the previous disposition of the "
9295 "signal (unless the signal was blocked, in which case B<SIG_HOLD> should be "
9296 "returned).  Second, if the signal is currently blocked, then the return "
9297 "value of a successful B<sigset>()  should be B<SIG_HOLD>.  Instead, the "
9298 "previous disposition of the signal is returned.  These problems have been "
9299 "fixed since glibc 2.5."
9300 msgstr ""
9301 "2.3.5 以前の全てのバージョンの glibc では、 B<sigset>()  が変更前のシグナルの"
9302 "動作を正しく返さない場合が 2つある。 一つめは、 I<disp> に B<SIG_HOLD> が指定"
9303 "されると、成功した場合 B<sigset>()  は常に B<SIG_HOLD> を返すことである。 正"
9304 "しくは、(シグナルがブロックされていなかった場合には)  変更前のシグナルの動作"
9305 "を返すべきである (シグナルがブロックされていた場合には、 B<SIG_HOLD> が返され"
9306 "る)。 もう一つは、シグナルが現在ブロックされている場合には、 成功した場合の "
9307 "B<sigset>()  の返り値は B<SIG_HOLD> になるべきであるが、実際には 変更前のシグ"
9308 "ナルの動作が返されることである。 これらの問題は glibc 2.5 以降で修正されてい"
9309 "る。"
9310
9311 #. type: Plain text
9312 #: build/C/man3/sigset.3:273
9313 msgid ""
9314 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9315 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9316 msgstr ""
9317 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9318 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9319
9320 #. type: TH
9321 #: build/C/man3/sigsetops.3:29
9322 #, no-wrap
9323 msgid "SIGSETOPS"
9324 msgstr "SIGSETOPS"
9325
9326 #. type: TH
9327 #: build/C/man3/sigsetops.3:29
9328 #, no-wrap
9329 msgid "2008-09-01"
9330 msgstr "2008-09-01"
9331
9332 #. type: Plain text
9333 #: build/C/man3/sigsetops.3:33
9334 msgid ""
9335 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX signal "
9336 "set operations."
9337 msgstr ""
9338 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX シグナル集"
9339 "合の操作"
9340
9341 #. type: Plain text
9342 #: build/C/man3/sigsetops.3:37
9343 msgid "B<int sigemptyset(sigset_t *>I<set>B<);>"
9344 msgstr "B<int sigemptyset(sigset_t *>I<set>B<);>"
9345
9346 #. type: Plain text
9347 #: build/C/man3/sigsetops.3:39
9348 msgid "B<int sigfillset(sigset_t *>I<set>B<);>"
9349 msgstr "B<int sigfillset(sigset_t *>I<set>B<);>"
9350
9351 #. type: Plain text
9352 #: build/C/man3/sigsetops.3:41
9353 msgid "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9354 msgstr "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9355
9356 #. type: Plain text
9357 #: build/C/man3/sigsetops.3:43
9358 msgid "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9359 msgstr "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9360
9361 #. type: Plain text
9362 #: build/C/man3/sigsetops.3:45
9363 msgid "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9364 msgstr "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9365
9366 #. type: Plain text
9367 #: build/C/man3/sigsetops.3:57
9368 msgid ""
9369 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9370 "B<sigismember>():"
9371 msgstr ""
9372 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9373 "B<sigismember>():"
9374
9375 #. type: Plain text
9376 #: build/C/man3/sigsetops.3:59
9377 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9378 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9379
9380 #. type: Plain text
9381 #: build/C/man3/sigsetops.3:63
9382 msgid "These functions allow the manipulation of POSIX signal sets."
9383 msgstr "これらの関数は POSIX シグナル集合(signal set)を操作するため使用する。"
9384
9385 #. type: Plain text
9386 #: build/C/man3/sigsetops.3:68
9387 msgid ""
9388 "B<sigemptyset>()  initializes the signal set given by I<set> to empty, with "
9389 "all signals excluded from the set."
9390 msgstr ""
9391 "B<sigemptyset>()  は I<set> で与えられたシグナル集合を空に初期化し、シグナル"
9392 "が一つも 含まれていない状態にする。"
9393
9394 #. type: Plain text
9395 #: build/C/man3/sigsetops.3:73
9396 msgid "B<sigfillset>()  initializes I<set> to full, including all signals."
9397 msgstr ""
9398 "B<sigfillset>()  は I<set> で与えられたシグナル集合が全てのシグナルを含むよう"
9399 "にする。"
9400
9401 #. type: Plain text
9402 #: build/C/man3/sigsetops.3:81
9403 msgid ""
9404 "B<sigaddset>()  and B<sigdelset>()  add and delete respectively signal "
9405 "I<signum> from I<set>."
9406 msgstr ""
9407 "B<sigaddset>()  と B<sigdelset>()  は I<set> に I<signum> シグナルをそれぞれ"
9408 "加えたり、削除したりする。"
9409
9410 #. type: Plain text
9411 #: build/C/man3/sigsetops.3:87
9412 msgid "B<sigismember>()  tests whether I<signum> is a member of I<set>."
9413 msgstr ""
9414 "B<sigismember>()  は I<signum> が I<set> に含まれているかどうかをテストする。"
9415
9416 #. type: Plain text
9417 #: build/C/man3/sigsetops.3:105
9418 msgid ""
9419 "Objects of type I<sigset_t> must be initialized by a call to either "
9420 "B<sigemptyset>()  or B<sigfillset>()  before being passed to the functions "
9421 "B<sigaddset>(), B<sigdelset>()  and B<sigismember>()  or the additional "
9422 "glibc functions described below (B<sigisemptyset>(), B<sigandset>(), and "
9423 "B<sigorset>()).  The results are undefined if this is not done."
9424 msgstr ""
9425 "I<sigset_t> 型のオブジェクトは、関数 B<sigaddset>(), B<sigdelset>(), "
9426 "B<sigismember>()  や後述の glibc の追加関数 (B<sigisemptyset>(), B<sigandset>"
9427 "(), B<sigorset>())  に渡す前に、 B<sigemptyset>()  か B<sigfillset>()  を呼び"
9428 "出して初期化しなければならない。 初期化しなかった場合の結果は未定義である。"
9429
9430 #. type: Plain text
9431 #: build/C/man3/sigsetops.3:112
9432 msgid ""
9433 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), and B<sigdelset>()  "
9434 "return 0 on success and -1 on error."
9435 msgstr ""
9436 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>()  は成功すれ"
9437 "ば 0 を、エラーの場合は -1 を返す。"
9438
9439 #. type: Plain text
9440 #: build/C/man3/sigsetops.3:121
9441 msgid ""
9442 "B<sigismember>()  returns 1 if I<signum> is a member of I<set>, 0 if "
9443 "I<signum> is not a member, and -1 on error."
9444 msgstr ""
9445 "B<sigismember>()  は I<signum> が I<set> に含まれていれば 1 を返し、含まれて"
9446 "いなければ 0 を返す。 エラーの場合は -1 を返す。"
9447
9448 #. type: Plain text
9449 #: build/C/man3/sigsetops.3:126
9450 msgid "I<sig> is not a valid signal."
9451 msgstr "I<sig> が有効なシグナルではない。"
9452
9453 #. type: SS
9454 #: build/C/man3/sigsetops.3:129
9455 #, no-wrap
9456 msgid "Glibc Notes"
9457 msgstr "glibc での注意"
9458
9459 #. type: Plain text
9460 #: build/C/man3/sigsetops.3:135
9461 msgid ""
9462 "If the B<_GNU_SOURCE> feature test macro is defined, then I<E<lt>signal."
9463 "hE<gt>> exposes three other functions for manipulating signal sets."
9464 msgstr ""
9465 "B<_GNU_SOURCE> 機能検査マクロが定義されていると、 I<E<lt>signal.hE<gt>> でシ"
9466 "グナル集合を操作する 3つの関数が追加で公開される。"
9467
9468 #. type: TP
9469 #: build/C/man3/sigsetops.3:135
9470 #, no-wrap
9471 msgid "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9472 msgstr "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9473
9474 #. type: Plain text
9475 #: build/C/man3/sigsetops.3:140
9476 msgid "returns 1 if I<set> contains no signals, and 0 otherwise."
9477 msgstr ""
9478 "I<set> にシグナルが一つも含まれていなければ 1 を返し、 それ以外は 0 を返す。"
9479
9480 #. type: TP
9481 #: build/C/man3/sigsetops.3:140
9482 #, no-wrap
9483 msgid "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9484 msgstr "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9485
9486 #. type: Plain text
9487 #: build/C/man3/sigsetops.3:149
9488 msgid "places the union of the sets I<left> and I<right> in I<dest>."
9489 msgstr "シグナル集合 I<left> と I<left> の和集合を I<dest> に書き込む。"
9490
9491 #. type: TP
9492 #: build/C/man3/sigsetops.3:149
9493 #, no-wrap
9494 msgid "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9495 msgstr "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9496
9497 #. type: Plain text
9498 #: build/C/man3/sigsetops.3:158
9499 msgid "places the intersection of the sets I<left> and I<right> in I<dest>."
9500 msgstr "シグナル集合 I<left> と I<left> の積集合を I<dest> に書き込む。"
9501
9502 #. type: Plain text
9503 #: build/C/man3/sigsetops.3:163
9504 msgid ""
9505 "B<sigorset>()  and B<sigandset>()  return 0 on success, and -1 on failure."
9506 msgstr ""
9507 "B<sigorset>()  と B<sigandset>()  は成功すると 0 を、失敗すると -1 を返す。"
9508
9509 #. type: Plain text
9510 #: build/C/man3/sigsetops.3:166
9511 msgid ""
9512 "These functions are nonstandard (a few other systems provide similar "
9513 "functions) and their use should be avoided in portable applications."
9514 msgstr ""
9515 "これらの関数は非標準であり、(他にも同様の関数を提供しているシステムも いくつ"
9516 "かはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき である。"
9517
9518 #. type: Plain text
9519 #: build/C/man3/sigsetops.3:170
9520 msgid "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9521 msgstr "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9522
9523 #. type: TH
9524 #: build/C/man2/sigsuspend.2:27
9525 #, no-wrap
9526 msgid "SIGSUSPEND"
9527 msgstr "SIGSUSPEND"
9528
9529 #. type: TH
9530 #: build/C/man2/sigsuspend.2:27
9531 #, no-wrap
9532 msgid "2008-08-29"
9533 msgstr "2008-08-29"
9534
9535 #. type: Plain text
9536 #: build/C/man2/sigsuspend.2:30
9537 msgid "sigsuspend - wait for a signal"
9538 msgstr "sigsuspend - シグナルを待つ"
9539
9540 #. type: Plain text
9541 #: build/C/man2/sigsuspend.2:34
9542 msgid "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9543 msgstr "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9544
9545 #. type: Plain text
9546 #: build/C/man2/sigsuspend.2:43
9547 msgid ""
9548 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9549 "_POSIX_SOURCE"
9550 msgstr ""
9551 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9552 "_POSIX_SOURCE"
9553
9554 #. type: Plain text
9555 #: build/C/man2/sigsuspend.2:51
9556 msgid ""
9557 "B<sigsuspend>()  temporarily replaces the signal mask of the calling process "
9558 "with the mask given by I<mask> and then suspends the process until delivery "
9559 "of a signal whose action is to invoke a signal handler or to terminate a "
9560 "process."
9561 msgstr ""
9562 "B<sigsuspend>()  は、呼び出し元プロセスのシグナルマスクを I<mask> で指定され"
9563 "たマスクに一時的に置き換え、 シグナルハンドラの起動もしくはプロセスの終了がア"
9564 "クションとして 設定されたシグナルが配送されるまで、そのプロセスを停止する。"
9565
9566 #. type: Plain text
9567 #: build/C/man2/sigsuspend.2:60
9568 msgid ""
9569 "If the signal terminates the process, then B<sigsuspend>()  does not "
9570 "return.  If the signal is caught, then B<sigsuspend>()  returns after the "
9571 "signal handler returns, and the signal mask is restored to the state before "
9572 "the call to B<sigsuspend>()."
9573 msgstr ""
9574 "シグナルがプロセスを終了させるものの場合、 B<sigsuspend>()  は返らない。シグ"
9575 "ナルが捕捉された場合、 シグナルハンドラの処理が終わった後に B<sigsuspend>()  "
9576 "は返り、シグナルマスクは B<sigsuspend>()  が呼び出される前の状態に復元され"
9577 "る。"
9578
9579 #. type: Plain text
9580 #: build/C/man2/sigsuspend.2:68
9581 msgid ""
9582 "It is not possible to block B<SIGKILL> or B<SIGSTOP>; specifying these "
9583 "signals in I<mask>, has no effect on the process's signal mask."
9584 msgstr ""
9585 "B<SIGKILL> と B<SIGSTOP> を禁止 (block) することはできない; これらのシグナル"
9586 "を I<mask> に指定しても、プロセスのシグナルマスクは影響を受けない。"
9587
9588 #. type: Plain text
9589 #: build/C/man2/sigsuspend.2:72
9590 msgid "B<sigsuspend>()  always returns -1, normally with the error B<EINTR>."
9591 msgstr "B<sigsuspend>()  は常に -1 を返し、通常は B<EINTR> エラーが発生する。"
9592
9593 #. type: Plain text
9594 #: build/C/man2/sigsuspend.2:77
9595 msgid ""
9596 "I<mask> points to memory which is not a valid part of the process address "
9597 "space."
9598 msgstr ""
9599 "I<mask> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
9600
9601 #. type: Plain text
9602 #: build/C/man2/sigsuspend.2:80
9603 msgid "The call was interrupted by a signal."
9604 msgstr "システムコールはシグナルにより割り込まれた。"
9605
9606 #. type: Plain text
9607 #: build/C/man2/sigsuspend.2:100
9608 msgid ""
9609 "Normally, B<sigsuspend>()  is used in conjunction with B<sigprocmask>(2)  in "
9610 "order to prevent delivery of a signal during the execution of a critical "
9611 "code section.  The caller first blocks the signals with B<sigprocmask>(2).  "
9612 "When the critical code has completed, the caller then waits for the signals "
9613 "by calling B<sigsuspend>()  with the signal mask that was returned by "
9614 "B<sigprocmask>(2)  (in the I<oldset> argument)."
9615 msgstr ""
9616 "B<sigsuspend>()  は、通常、クリティカル・コード・セクション (critical code "
9617 "section) の 実行中にシグナルが配送されるのを防止するために、 B<sigprocmask>"
9618 "(2)  と組み合わせて使用される。 まず最初に、呼び出し元は B<sigprocmask>(2)  "
9619 "を使ってシグナルを禁止する。 クリティカル・コードが完了すると、呼び出し元は "
9620 "B<sigprocmask>(2)  が (I<oldset> 引き数で) 返すシグナルマスクを指定して "
9621 "B<sigsuspend>()  を呼び出すことで、クリティカル・コード実行中に発生した シグ"
9622 "ナルを待つことができる。"
9623
9624 #. type: Plain text
9625 #: build/C/man2/sigsuspend.2:113
9626 msgid ""
9627 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9628 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9629 msgstr ""
9630 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9631 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9632
9633 #. type: TH
9634 #: build/C/man3/sigvec.3:24
9635 #, no-wrap
9636 msgid "SIGVEC"
9637 msgstr "SIGVEC"
9638
9639 #. type: Plain text
9640 #: build/C/man3/sigvec.3:27
9641 msgid "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD signal API"
9642 msgstr "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD 版シグナル API"
9643
9644 #. type: Plain text
9645 #: build/C/man3/sigvec.3:31
9646 msgid ""
9647 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9648 "*>I<ovec>B<);>"
9649 msgstr ""
9650 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9651 "*>I<ovec>B<);>"
9652
9653 #. type: Plain text
9654 #: build/C/man3/sigvec.3:33
9655 msgid "B<int sigmask(int >I<signum>B<);>"
9656 msgstr "B<int sigmask(int >I<signum>B<);>"
9657
9658 #. type: Plain text
9659 #: build/C/man3/sigvec.3:35
9660 msgid "B<int sigblock(int >I<mask>B<);>"
9661 msgstr "B<int sigblock(int >I<mask>B<);>"
9662
9663 #. type: Plain text
9664 #: build/C/man3/sigvec.3:37
9665 msgid "B<int sigsetmask(int >I<mask>B<);>"
9666 msgstr "B<int sigsetmask(int >I<mask>B<);>"
9667
9668 #. type: Plain text
9669 #: build/C/man3/sigvec.3:39
9670 msgid "B<int siggetmask(void);>"
9671 msgstr "B<int siggetmask(void);>"
9672
9673 #. type: Plain text
9674 #: build/C/man3/sigvec.3:47
9675 msgid "All functions shown above: _BSD_SOURCE"
9676 msgstr "上記の全ての関数: _BSD_SOURCE"
9677
9678 #. type: Plain text
9679 #: build/C/man3/sigvec.3:54
9680 msgid ""
9681 "These functions are provided in glibc as a compatibility interface for "
9682 "programs that make use of the historical BSD signal API.  This API is "
9683 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
9684 "B<sigprocmask>(2), etc.)"
9685 msgstr ""
9686 "これらの関数は、昔ながらの BSD 版シグナル API を使用しているプログラム に対し"
9687 "て互換性のあるインタフェースを glibc で提供するものである。 この API は過去の"
9688 "ものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>(2), "
9689 "B<sigprocmask>(2)  など) を使用すべきである。"
9690
9691 #. type: Plain text
9692 #: build/C/man3/sigvec.3:79
9693 msgid ""
9694 "The B<sigvec>()  function sets and/or gets the disposition of the signal "
9695 "I<sig> (like the POSIX B<sigaction>(2)).  If I<vec> is not NULL, it points "
9696 "to a I<sigvec> structure that defines the new disposition for I<sig>.  If "
9697 "I<ovec> is not NULL, it points to a I<sigvec> structure that is used to "
9698 "return the previous disposition of I<sig>.  To obtain the current "
9699 "disposition of I<sig> without changing it, specify NULL for I<vec>, and a "
9700 "non-NULL pointer for I<ovec>."
9701 msgstr ""
9702 "関数 B<sigvec>()  は、(POSIX の B<sigaction>(2)  と同様に) シグナル I<sig> の"
9703 "動作の設定・取得を行う。 I<vec> は、NULL 以外の場合、 I<sig> の新しい動作を定"
9704 "義した I<sigvec> 構造体へのポインタである。 I<ovec> は、NULL 以外の場合、 "
9705 "I<sig> の変更前の動作を返すために使用される I<sigvec> 構造体へのポインタであ"
9706 "る。 I<sig> の動作を変更せずに現在の動作を取得するためには、 I<vec> に NULL "
9707 "を指定し、 I<ovec> に NULL でないポインタを指定すればよい。"
9708
9709 #. type: Plain text
9710 #: build/C/man3/sigvec.3:89
9711 msgid "The I<sigvec> structure has the following form:"
9712 msgstr "I<sigvec> 構造体は以下の通りである:"
9713
9714 #. type: Plain text
9715 #: build/C/man3/sigvec.3:97
9716 #, no-wrap
9717 msgid ""
9718 "struct sigvec {\n"
9719 "    void (*sv_handler)();  /* Signal disposition */\n"
9720 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9721 "    int    sv_flags;       /* Flags */\n"
9722 "};\n"
9723 msgstr ""
9724 "struct sigvec {\n"
9725 "    void (*sv_handler)();  /* Signal disposition */\n"
9726 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9727 "    int    sv_flags;       /* Flags */\n"
9728 "};\n"
9729
9730 #. type: Plain text
9731 #: build/C/man3/sigvec.3:108
9732 msgid ""
9733 "The I<sv_handler> field specifies the disposition of the signal, and is "
9734 "either: the address of a signal handler function; or B<SIG_DFL> meaning the "
9735 "default disposition applies for the signal; or B<SIG_IGN> meaning that the "
9736 "signal is ignored."
9737 msgstr ""
9738 "I<sv_handler> フィールドはシグナルの動作を指定するもので、 シグナルハンドラ関"
9739 "数のアドレスか、 B<SIG_DFL> と B<SIG_IGN> のいずれかを指定できる。 "
9740 "B<SIG_DFL> はシグナルに適用されるデフォルトの動作を意味し、 B<SIG_IGN> はシグ"
9741 "ナルを無視することを意味する。"
9742
9743 #. type: Plain text
9744 #: build/C/man3/sigvec.3:122
9745 msgid ""
9746 "If I<sv_handler> specifies the address of a signal handler, then I<sv_mask> "
9747 "specifies a mask of signals that are to be blocked while the handler is "
9748 "executing.  In addition, the signal for which the handler is invoked is also "
9749 "blocked by default.  Attempts to block B<SIGKILL> or B<SIGSTOP> are silently "
9750 "ignored."
9751 msgstr ""
9752 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_mask> はハン"
9753 "ドラが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラを"
9754 "起動したシグナル自身はデフォルトでブロックされる。 B<SIGKILL> か B<SIGSTOP> "
9755 "をブロックしようとした場合には、黙って無視される。"
9756
9757 #. type: Plain text
9758 #: build/C/man3/sigvec.3:129
9759 msgid ""
9760 "If I<sv_handler> specifies the address of a signal handler, then the "
9761 "I<sv_flags> field specifies flags controlling what happens when the handler "
9762 "is called.  This field may contain zero or more of the following flags:"
9763 msgstr ""
9764 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_flags> フィー"
9765 "ルドはハンドラが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドに"
9766 "は、0 か、以下のフラグを 1個以上指定できる:"
9767
9768 #. type: TP
9769 #: build/C/man3/sigvec.3:129
9770 #, no-wrap
9771 msgid "B<SV_INTERRUPT>"
9772 msgstr "B<SV_INTERRUPT>"
9773
9774 #. type: Plain text
9775 #: build/C/man3/sigvec.3:137
9776 msgid ""
9777 "If the signal handler interrupts a blocking system call, then upon return "
9778 "from the handler the system call will not be restarted: instead it will fail "
9779 "with the error B<EINTR>.  If this flag is not specified, then system calls "
9780 "are restarted by default."
9781 msgstr ""
9782 "シグナルハンドラが停止中のシステムコールを中断した場合、 ハンドラから復帰して"
9783 "も、システムコールは再開されず、 エラー B<EINTR> で失敗する。 このフラグを指"
9784 "定しなかった場合、システムコールは デフォルトで再開される。"
9785
9786 #. type: TP
9787 #: build/C/man3/sigvec.3:137
9788 #, no-wrap
9789 msgid "B<SV_RESETHAND>"
9790 msgstr "B<SV_RESETHAND>"
9791
9792 #. type: Plain text
9793 #: build/C/man3/sigvec.3:146
9794 msgid ""
9795 "Reset the disposition of the signal to the default before calling the signal "
9796 "handler.  If this flag is not specified, then the handler remains "
9797 "established until explicitly removed by a later call to B<sigvec>()  or "
9798 "until the process performs an B<execve>(2)."
9799 msgstr ""
9800 "シグナルハンドラを呼び出す前にシグナルの動作を デフォルトにリセットする。 こ"
9801 "のフラグを指定しなかった場合、もう一度 B<sigvec>()  を呼び出して明示的に削除"
9802 "されるか、プロセスが B<execve>(2)  を実行するまで、ハンドラは設定されたままと"
9803 "なる。"
9804
9805 #. type: TP
9806 #: build/C/man3/sigvec.3:146
9807 #, no-wrap
9808 msgid "B<SV_ONSTACK>"
9809 msgstr "B<SV_ONSTACK>"
9810
9811 #. type: Plain text
9812 #: build/C/man3/sigvec.3:153
9813 msgid ""
9814 "Handle the signal on the alternate signal stack (historically established "
9815 "under BSD using the obsolete B<sigstack>()  function; the POSIX replacement "
9816 "is B<sigaltstack>(2))."
9817 msgstr ""
9818 "代替シグナルスタック上でシグナルハンドラを実行する (歴史的に、BSD では代替シ"
9819 "グナルスタックは廃止された関数 B<sigstack>()  を使って設定する。POSIX では、"
9820 "代わりに B<sigaltstack>(2)  を使用する)。"
9821
9822 #. type: Plain text
9823 #: build/C/man3/sigvec.3:163
9824 msgid ""
9825 "The B<sigmask>()  function constructs and returns a \"signal mask\" for "
9826 "I<signum>.  For example, we can initialize the I<vec.sv_mask> field given to "
9827 "B<sigvec>()  using code such as the following:"
9828 msgstr ""
9829 "関数 B<sigmask>()  は I<signum> に対する「シグナルマスク」を構成して返す。 例"
9830 "えば、以下のようなコードを使うと、 B<sigvec>()  に渡す I<vec.sv_mask> を初期"
9831 "化できる。"
9832
9833 #. type: Plain text
9834 #: build/C/man3/sigvec.3:168
9835 #, no-wrap
9836 msgid ""
9837 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9838 "                /* Block SIGQUIT and SIGABRT during\n"
9839 "                   handler execution */\n"
9840 msgstr ""
9841 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9842 "                /* Block SIGQUIT and SIGABRT during\n"
9843 "                   handler execution */\n"
9844
9845 #. type: Plain text
9846 #: build/C/man3/sigvec.3:183
9847 msgid ""
9848 "The B<sigblock>()  function adds the signals in I<mask> to the process's "
9849 "signal mask (like POSIX I<sigprocmask(SIG_BLOCK)>), and returns the "
9850 "process's previous signal mask.  Attempts to block B<SIGKILL> or B<SIGSTOP> "
9851 "are silently ignored."
9852 msgstr ""
9853 "B<sigblock>()  関数は、 I<mask> にあるシグナルをプロセスのシグナルマスクに追"
9854 "加し (POSIX の I<sigprocmask(SIG_BLOCK)> と同様)、変更前のプロセスのシグナル"
9855 "マスクを返す。 B<SIGKILL> や B<SIGSTOP> をブロックしようとした場合には、黙っ"
9856 "て無視される。"
9857
9858 #. type: Plain text
9859 #: build/C/man3/sigvec.3:191
9860 msgid ""
9861 "The B<sigsetmask>()  function sets the process's signal mask to the value "
9862 "given in I<mask> (like POSIX I<sigprocmask(SIG_SETMASK)>), and returns the "
9863 "process's previous signal mask."
9864 msgstr ""
9865 "B<sigsetmask>()  関数はプロセスのシグナルマスクを I<mask> で指定された値に設"
9866 "定し (POSIX の I<sigprocmask(SIG_SETMASK)> と同様)、変更前のプロセスのシグナ"
9867 "ルマスクを返す。"
9868
9869 #. type: Plain text
9870 #: build/C/man3/sigvec.3:197
9871 msgid ""
9872 "The B<siggetmask>()  function returns the process's current signal mask.  "
9873 "This call is equivalent to I<sigblock(0)>."
9874 msgstr ""
9875 "B<siggetmask>()  関数はプロセスの現在のシグナルマスクを返す。この関数は "
9876 "I<sigblock(0)> と等価である。"
9877
9878 #. type: Plain text
9879 #: build/C/man3/sigvec.3:203
9880 msgid ""
9881 "The B<sigvec>()  function returns 0 on success; on error, it returns -1 and "
9882 "sets I<errno> to indicate the error."
9883 msgstr ""
9884 "B<sigvec>()  関数は成功すると 0 を返す。エラーの場合、-1 を返し、 I<errno> に"
9885 "エラーを示す値をセットする。"
9886
9887 #. type: Plain text
9888 #: build/C/man3/sigvec.3:209
9889 msgid ""
9890 "The B<sigblock>()  and B<sigsetmask>()  functions return the previous signal "
9891 "mask."
9892 msgstr "B<sigblock>()  と B<sigsetmask>()  は変更前のシグナルマスクを返す。"
9893
9894 #. type: Plain text
9895 #: build/C/man3/sigvec.3:214
9896 msgid "The B<sigmask>()  function returns the signal mask for I<signum>."
9897 msgstr "B<sigmask>()  関数は I<signum> のシグナルマスクを返す。"
9898
9899 #. type: Plain text
9900 #: build/C/man3/sigvec.3:219
9901 msgid "See the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
9902 msgstr "B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」の節を参照。"
9903
9904 #. type: Plain text
9905 #: build/C/man3/sigvec.3:225
9906 msgid ""
9907 "All of these functions were in 4.3BSD, except B<siggetmask>(), whose origin "
9908 "is unclear.  These functions are obsolete: do not use them in new programs."
9909 msgstr ""
9910 "これらの関数のうち B<siggetmask>()  以外の全ては 4.3BSD にあった。 "
9911 "B<siggetmask>()  の出自ははっきりしない。 これらの関数は廃止予定であり、新し"
9912 "いプログラムでは使用しないこと。"
9913
9914 #. type: Plain text
9915 #: build/C/man3/sigvec.3:242
9916 msgid ""
9917 "On 4.3BSD, the B<signal>()  function provided reliable semantics (as when "
9918 "calling B<sigvec>()  with I<vec.sv_mask> equal to 0).  On System V, B<signal>"
9919 "()  provides unreliable semantics.  POSIX.1-2001 leaves these aspects of "
9920 "B<signal>()  unspecified.  See B<signal>(2)  for further details."
9921 msgstr ""
9922 "4.3BSD では、信頼性のあるシグナル処理機構を提供する (I<vec.sv_mask> を 0 で "
9923 "B<sigvec>()  を呼び出したときと同様)。 System V が提供する処理機構は信頼性の"
9924 "ないものである。 POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままと"
9925 "なっている。 さらなる詳細については B<signal>(2)  を参照。"
9926
9927 #. type: Plain text
9928 #: build/C/man3/sigvec.3:259
9929 msgid ""
9930 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9931 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9932 msgstr ""
9933 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9934 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9935
9936 #. type: TH
9937 #: build/C/man3/sigwait.3:24
9938 #, no-wrap
9939 msgid "SIGWAIT"
9940 msgstr "SIGWAIT"
9941
9942 #. type: TH
9943 #: build/C/man3/sigwait.3:24
9944 #, no-wrap
9945 msgid "2010-09-10"
9946 msgstr "2010-09-10"
9947
9948 #. type: Plain text
9949 #: build/C/man3/sigwait.3:27
9950 msgid "sigwait - wait for a signal"
9951 msgstr "sigwait - シグナルを待つ"
9952
9953 #. type: Plain text
9954 #: build/C/man3/sigwait.3:32
9955 #, no-wrap
9956 msgid "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9957 msgstr "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9958
9959 #. type: Plain text
9960 #: build/C/man3/sigwait.3:42
9961 msgid ""
9962 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9963 msgstr ""
9964 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9965
9966 #. type: Plain text
9967 #: build/C/man3/sigwait.3:53
9968 msgid ""
9969 "The B<sigwait>()  function suspends execution of the calling thread until "
9970 "the delivery of one of the signals specified in the signal set I<set>.  The "
9971 "function accepts the signal (removes it from the pending list of signals), "
9972 "and returns the signal number in I<sig>."
9973 msgstr ""
9974 "B<sigwait>()  関数は、シグナル集合 I<set> で指定されたシグナルの一つが配送さ"
9975 "れるまで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け"
9976 "取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグ"
9977 "ナル番号を I<sig> に格納して返す。"
9978
9979 #. type: Plain text
9980 #: build/C/man3/sigwait.3:59
9981 msgid ""
9982 "The operation of B<sigwait>()  is the same as B<sigwaitinfo>(2), except that:"
9983 msgstr ""
9984 "B<sigwait>()  の動作は B<sigwaitinfo>(2)  と同じだが、以下の点が異なる。"
9985
9986 #. type: Plain text
9987 #: build/C/man3/sigwait.3:64
9988 msgid ""
9989 "B<sigwait>()  only returns the signal number, rather than a I<siginfo_t> "
9990 "structure describing the signal."
9991 msgstr ""
9992 "B<sigwait>()  は、シグナルの内容を表す I<siginfo_t> 構造体を返すのではなく、"
9993 "単にシグナル番号を返す。"
9994
9995 #. type: Plain text
9996 #: build/C/man3/sigwait.3:66
9997 msgid "The return values of the two functions are different."
9998 msgstr "返り値が B<sigwaitinfo>(2)  とは異なる。"
9999
10000 #. type: Plain text
10001 #: build/C/man3/sigwait.3:71
10002 msgid ""
10003 "On success, B<sigwait>()  returns 0.  On error, it returns a positive error "
10004 "number (listed in ERRORS)."
10005 msgstr ""
10006 "成功すると、 B<sigwait>()  は 0 を返す。 エラーの場合、(「エラー」の節のリス"
10007 "トにある) 正のエラー番号を返す。"
10008
10009 #.  Does not occur for glibc.
10010 #. type: Plain text
10011 #: build/C/man3/sigwait.3:77
10012 msgid "I<set> contains an invalid signal number."
10013 msgstr "I<set> に無効なシグナル番号が入っている。"
10014
10015 #. type: Plain text
10016 #: build/C/man3/sigwait.3:83
10017 msgid "B<sigwait>()  is implemented using B<sigtimedwait>(2)."
10018 msgstr "B<sigwait>()  は B<sigtimedwait>(2)  を使って実装されている。"
10019
10020 #. type: Plain text
10021 #: build/C/man3/sigwait.3:86
10022 msgid "See B<pthread_sigmask>(3)."
10023 msgstr "B<pthread_sigmask>(3)  を参照。"
10024
10025 #. type: Plain text
10026 #: build/C/man3/sigwait.3:93
10027 msgid ""
10028 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
10029 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
10030 msgstr ""
10031 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
10032 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
10033
10034 #. type: TH
10035 #: build/C/man2/sigwaitinfo.2:23
10036 #, no-wrap
10037 msgid "SIGWAITINFO"
10038 msgstr "SIGWAITINFO"
10039
10040 #. type: TH
10041 #: build/C/man2/sigwaitinfo.2:23
10042 #, no-wrap
10043 msgid "2011-10-03"
10044 msgstr "2011-10-03"
10045
10046 #. type: Plain text
10047 #: build/C/man2/sigwaitinfo.2:26
10048 msgid "sigwaitinfo, sigtimedwait - synchronously wait for queued signals"
10049 msgstr "sigwaitinfo, sigtimedwait - キューに入れられたシグナルを同期して待つ"
10050
10051 #. type: Plain text
10052 #: build/C/man2/sigwaitinfo.2:31
10053 #, no-wrap
10054 msgid "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
10055 msgstr "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
10056
10057 #. type: Plain text
10058 #: build/C/man2/sigwaitinfo.2:34
10059 #, no-wrap
10060 msgid ""
10061 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
10062 "B<                 const struct timespec *>I<timeout>B<);>\n"
10063 msgstr ""
10064 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
10065 "B<                 const struct timespec *>I<timeout>B<);>\n"
10066
10067 #. type: Plain text
10068 #: build/C/man2/sigwaitinfo.2:44
10069 msgid "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10070 msgstr ""
10071 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10072
10073 #. type: Plain text
10074 #: build/C/man2/sigwaitinfo.2:54
10075 msgid ""
10076 "B<sigwaitinfo>()  suspends execution of the calling thread until one of the "
10077 "signals in I<set> is delivered.  (If one of the signals in I<set> is already "
10078 "pending for the calling thread, B<sigwaitinfo>()  will return immediately "
10079 "with information about that signal.)"
10080 msgstr ""
10081 "B<sigwaitinfo>()  は I<set> のうちのどれかのシグナルが配送されるまで、 呼び出"
10082 "しスレッドの実行を一時停止する (呼び出しスレッドに対して I<set> のうちのどれ"
10083 "かのシグナルが既に待機中 (pending) である場合、 B<sigwaitinfo>()  はそのシグ"
10084 "ナルの情報を返してすぐに戻る)。"
10085
10086 #. type: Plain text
10087 #: build/C/man2/sigwaitinfo.2:66
10088 msgid ""
10089 "B<sigwaitinfo>()  removes the delivered signal from the set of pending "
10090 "signals and returns the signal number as its function result.  If the "
10091 "I<info> argument is not NULL, then it returns a structure of type "
10092 "I<siginfo_t> (see B<sigaction>(2))  containing information about the signal."
10093 msgstr ""
10094 "B<sigwaitinfo>()  は配送されたシグナルを待機中のシグナルの集合から削除し、 関"
10095 "数の結果としてシグナル番号を返す。 I<info> 引き数が NULL でない場合、配送され"
10096 "たシグナルの情報が入った I<siginfo_t> 型 (B<sigaction>(2)  を参照) の構造体を"
10097 "返す。"
10098
10099 #. type: Plain text
10100 #: build/C/man2/sigwaitinfo.2:72
10101 msgid ""
10102 "Signals returned via B<sigwaitinfo>()  are delivered in the usual order; see "
10103 "B<signal>(7)  for further details."
10104 msgstr ""
10105 "B<sigwaitinfo>()  で返されるシグナルは、通常の順番で配送される。 詳細は "
10106 "B<signal>(7)  を参照すること。"
10107
10108 #. type: Plain text
10109 #: build/C/man2/sigwaitinfo.2:81
10110 msgid ""
10111 "B<sigtimedwait>()  operates in exactly the same way as B<sigwaitinfo>()  "
10112 "except that it has an additional argument, I<timeout>, which enables an "
10113 "upper bound to be placed on the time for which the thread is suspended.  "
10114 "This argument is of the following type:"
10115 msgstr ""
10116 "B<sigtimedwait>()  は、 B<sigwaitinfo>()  と次の点を除いて全く同じように動作"
10117 "する。 この関数にはもう 1 つの引き数 I<timeout> があり、スレッドが一時停止す"
10118 "る時間の上限を定めることができる。 この引き数の型は以下のとおりである:"
10119
10120 #. type: Plain text
10121 #: build/C/man2/sigwaitinfo.2:88
10122 #, no-wrap
10123 msgid ""
10124 "struct timespec {\n"
10125 "    long    tv_sec;         /* seconds */\n"
10126 "    long    tv_nsec;        /* nanoseconds */\n"
10127 "}\n"
10128 msgstr ""
10129 "struct timespec {\n"
10130 "    long    tv_sec;         /* 秒 */\n"
10131 "    long    tv_nsec;        /* ナノ秒 */\n"
10132 "}\n"
10133
10134 #. type: Plain text
10135 #: build/C/man2/sigwaitinfo.2:98
10136 msgid ""
10137 "If both fields of this structure are specified as 0, a poll is performed: "
10138 "B<sigtimedwait>()  returns immediately, either with information about a "
10139 "signal that was pending for the caller, or with an error if none of the "
10140 "signals in I<set> was pending."
10141 msgstr ""
10142 "この構造体の 2 つのフィールドがともに 0 の場合、ポーリングが行われる: "
10143 "B<sigtimedwait>()  は、呼び出し側プロセスに対して 待機しているシグナルの情報"
10144 "を返して戻るか、 I<set> のうちのどのシグナルも待機していない場合はエラーを返"
10145 "して戻る。"
10146
10147 #. type: Plain text
10148 #: build/C/man2/sigwaitinfo.2:107
10149 msgid ""
10150 "On success, both B<sigwaitinfo>()  and B<sigtimedwait>()  return a signal "
10151 "number (i.e., a value greater than zero).  On failure both calls return -1, "
10152 "with I<errno> set to indicate the error."
10153 msgstr ""
10154 "成功した場合、 B<sigwaitinfo>()  と B<sigtimedwait>()  はシグナル番号 (すなわ"
10155 "ち 0 より大きい数) を返す。 失敗した場合、2 つの関数は -1 を返し、 I<errno> "
10156 "はエラーを表す値に設定される。"
10157
10158 #. type: Plain text
10159 #: build/C/man2/sigwaitinfo.2:116
10160 msgid ""
10161 "No signal in I<set> was delivered within the I<timeout> period specified to "
10162 "B<sigtimedwait>()."
10163 msgstr ""
10164 "I<set> のうちのどのシグナルも B<sigtimedwait>()  に指定された I<timeout> の期"
10165 "間内に配送されなかった。"
10166
10167 #. type: Plain text
10168 #: build/C/man2/sigwaitinfo.2:122
10169 msgid ""
10170 "The wait was interrupted by a signal handler; see B<signal>(7).  (This "
10171 "handler was for a signal other than one of those in I<set>.)"
10172 msgstr ""
10173 "シグナル待ちがシグナルハンドラによって中断 (interrupt) された (このハンドラ"
10174 "は I<set> にあるシグナル以外のものである)。 B<signal>(7)  参照。"
10175
10176 #. type: Plain text
10177 #: build/C/man2/sigwaitinfo.2:126
10178 msgid "I<timeout> was invalid."
10179 msgstr "I<timeout> が不正である。"
10180
10181 #. type: Plain text
10182 #: build/C/man2/sigwaitinfo.2:145
10183 msgid ""
10184 "In normal usage, the calling program blocks the signals in I<set> via a "
10185 "prior call to B<sigprocmask>(2)  (so that the default disposition for these "
10186 "signals does not occur if they are delivered between successive calls to "
10187 "B<sigwaitinfo>()  or B<sigtimedwait>())  and does not establish handlers for "
10188 "these signals.  In a multithreaded program, the signal should be blocked in "
10189 "all threads to prevent the signal being delivered to a thread other than the "
10190 "one calling B<sigwaitinfo>()  or B<sigtimedwait>())."
10191 msgstr ""
10192 "通常の使用法では、呼び出し側プロセスはこれらの関数より先に B<sigprocmask>"
10193 "(2)  の呼び出すことにより I<set> に含まれるシグナルをブロックし (そのためにこ"
10194 "れらのシグナルがこの後に続く B<sigwaitinfo>()  や B<sigtimedwait>()  の呼び出"
10195 "しの間に配送された場合には、 デフォルトの配置は行われず)、 これらのシグナルに"
10196 "対するハンドラは設定しない。 マルチスレッドプログラムでは、 B<sigwaitinfo>"
10197 "()  や B<sigtimedwait>()  を呼び出したスレッド以外のスレッドにそのシグナルが"
10198 "配送されないように、 全てのスレッドで該当シグナルをブロックすべきである。"
10199
10200 #. type: Plain text
10201 #: build/C/man2/sigwaitinfo.2:150
10202 msgid ""
10203 "The set of signals that is pending for a given thread is the union of the "
10204 "set of signals that is pending specifically for that thread and the set of "
10205 "signals that is pending for the process as a whole (see B<signal>(7))."
10206 msgstr ""
10207 "指定されたスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体宛ての"
10208 "処理待ちのシグナル集合と、プロセス全体宛ての 処理待ちのシグナル集合をあわせた"
10209 "ものである (B<signal>(7)  参照)。"
10210
10211 #. type: Plain text
10212 #: build/C/man2/sigwaitinfo.2:156
10213 msgid "Attempts to wait for B<SIGKILL> and B<SIGSTOP> are silently ignored."
10214 msgstr "B<SIGKILL> と B<SIGSTOP> を待とうとした場合、黙って無視される。"
10215
10216 #. type: Plain text
10217 #: build/C/man2/sigwaitinfo.2:165
10218 msgid ""
10219 "If multiple threads of a process are blocked waiting for the same signal(s) "
10220 "in B<sigwaitinfo>()  or B<sigtimedwait>(), then exactly one of the threads "
10221 "will actually receive the signal if it is delivered to the process as a "
10222 "whole; which of the threads receives the signal is indeterminate."
10223 msgstr ""
10224 "一つのプロセス内の複数のスレッドが B<sigwaitinfo>()  や B<sigtimedwait>()  で"
10225 "同じシグナルを待って停止した場合、 プロセス全体宛てのシグナルが配送されると、"
10226 "複数のスレッドのうち一つだけが 実際にそのシグナルを受信することになる。 どの"
10227 "スレッドがシグナルを受信するかは決まっていない。"
10228
10229 #. type: Plain text
10230 #: build/C/man2/sigwaitinfo.2:174
10231 msgid ""
10232 "POSIX leaves the meaning of a NULL value for the I<timeout> argument of "
10233 "B<sigtimedwait>()  unspecified, permitting the possibility that this has the "
10234 "same meaning as a call to B<sigwaitinfo>(), and indeed this is what is done "
10235 "on Linux."
10236 msgstr ""
10237 "POSIX では B<sigtimedwait>()  の引き数 I<timeout> の値を NULL にした場合の意"
10238 "味を未定義としている。 B<sigwaitinfo>()  を呼び出したのと同じ意味としてもよい"
10239 "ことになっており、 実際 Linux ではこのように動作する。"
10240
10241 #. type: Plain text
10242 #: build/C/man2/sigwaitinfo.2:179
10243 msgid ""
10244 "On Linux, B<sigwaitinfo>()  is a library function implemented on top of "
10245 "B<sigtimedwait>()."
10246 msgstr ""
10247 "Linux では、 B<sigwaitinfo>()  は B<sigtimedwait>()  を用いて実装されたライブ"
10248 "ラリ関数である。"
10249
10250 #. type: Plain text
10251 #: build/C/man2/sigwaitinfo.2:190
10252 msgid ""
10253 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10254 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10255 "(7), B<time>(7)"
10256 msgstr ""
10257 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10258 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10259 "(7), B<time>(7)"
10260
10261 #. type: TH
10262 #: build/C/man3/sysv_signal.3:23
10263 #, no-wrap
10264 msgid "SYSV_SIGNAL"
10265 msgstr "SYSV_SIGNAL"
10266
10267 #. type: TH
10268 #: build/C/man3/sysv_signal.3:23
10269 #, no-wrap
10270 msgid "2007-05-04"
10271 msgstr "2007-05-04"
10272
10273 #. type: Plain text
10274 #: build/C/man3/sysv_signal.3:26
10275 msgid "sysv_signal - signal handling with System V semantics"
10276 msgstr "sysv_signal - System V 方式のシグナル処理"
10277
10278 #. type: Plain text
10279 #: build/C/man3/sysv_signal.3:28
10280 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
10281 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
10282
10283 #. type: Plain text
10284 #: build/C/man3/sysv_signal.3:34
10285 msgid ""
10286 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10287 msgstr ""
10288 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10289
10290 #. type: Plain text
10291 #: build/C/man3/sysv_signal.3:39
10292 msgid ""
10293 "The B<sysv_signal>()  function takes the same arguments, and performs the "
10294 "same task, as B<signal>(2)."
10295 msgstr ""
10296 "B<sysv_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
10297 "る。"
10298
10299 #. type: Plain text
10300 #: build/C/man3/sysv_signal.3:49
10301 msgid ""
10302 "However B<sysv_signal>()  provides the System V unreliable signal semantics, "
10303 "that is: a) the disposition of the signal is reset to the default when the "
10304 "handler is invoked; b) delivery of further instances of the signal is not "
10305 "blocked while the signal handler is executing; and c) if the handler "
10306 "interrupts (certain) blocking system calls, then the system call is not "
10307 "automatically restarted."
10308 msgstr ""
10309 "しかしながら、 B<sysv_signal>()  は System V の信頼性に欠けるシグナル処理方式"
10310 "を提供している。 信頼性に欠けるシグナル処理方式は以下の特徴を持つ。 a) ハンド"
10311 "ラが起動されると、シグナルの処理方法 (disposition) が デフォルトにリセットさ"
10312 "れる、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナルの配送が "
10313 "ブロックされない、 c) ハンドラが停止中の (blocking している) システムコールを"
10314 "中断した場合、 自動的に再開されないシステムコールがある。"
10315
10316 #. type: Plain text
10317 #: build/C/man3/sysv_signal.3:55
10318 msgid ""
10319 "The B<sysv_signal>()  function returns the previous value of the signal "
10320 "handler, or B<SIG_ERR> on error."
10321 msgstr ""
10322 "B<sysv_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
10323 "B<SIG_ERR> を返す。"
10324
10325 #. type: Plain text
10326 #: build/C/man3/sysv_signal.3:60
10327 msgid "This function is nonstandard."
10328 msgstr "この関数は非標準である。"
10329
10330 #. type: Plain text
10331 #: build/C/man3/sysv_signal.3:66
10332 msgid ""
10333 "Use of B<sysv_signal>()  should be avoided; use B<sigaction>(2)  instead."
10334 msgstr ""
10335 "B<sysv_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使う"
10336 "こと。"
10337
10338 #. type: Plain text
10339 #: build/C/man3/sysv_signal.3:77
10340 msgid ""
10341 "On older Linux systems, B<sysv_signal>()  and B<signal>(2)  were "
10342 "equivalent.  But on newer systems, B<signal>(2)  provides reliable signal "
10343 "semantics; see B<signal>(2)  for details."
10344 msgstr ""
10345 "以前の Linux システムでは、 B<sysv_signal>()  と B<signal>(2)  は等価であっ"
10346 "た。しかし、新しめのシステムでは、 B<signal>(2)  は信頼性のあるシグナル処理方"
10347 "式を提供している。 詳細は B<signal>(2)  を参照。"
10348
10349 #. type: Plain text
10350 #: build/C/man3/sysv_signal.3:89
10351 msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10352 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10353
10354 #. type: TH
10355 #: build/C/man2/timer_create.2:29
10356 #, no-wrap
10357 msgid "TIMER_CREATE"
10358 msgstr "TIMER_CREATE"
10359
10360 #. type: TH
10361 #: build/C/man2/timer_create.2:29
10362 #, no-wrap
10363 msgid "2010-09-27"
10364 msgstr "2010-09-27"
10365
10366 #. type: Plain text
10367 #: build/C/man2/timer_create.2:32
10368 msgid "timer_create - create a POSIX per-process timer"
10369 msgstr "timer_create - create a POSIX per-process timer"
10370
10371 #. type: Plain text
10372 #: build/C/man2/timer_create.2:36
10373 #, no-wrap
10374 msgid ""
10375 "B<#include E<lt>signal.hE<gt>>\n"
10376 "B<#include E<lt>time.hE<gt>>\n"
10377 msgstr ""
10378 "B<#include E<lt>signal.hE<gt>>\n"
10379 "B<#include E<lt>time.hE<gt>>\n"
10380
10381 #. type: Plain text
10382 #: build/C/man2/timer_create.2:39
10383 #, no-wrap
10384 msgid ""
10385 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10386 "B<                 timer_t *>I<timerid>B<);>\n"
10387 msgstr ""
10388 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10389 "B<                 timer_t *>I<timerid>B<);>\n"
10390
10391 #. type: Plain text
10392 #: build/C/man2/timer_create.2:42 build/C/man2/timer_delete.2:34
10393 #: build/C/man2/timer_getoverrun.2:34 build/C/man2/timer_settime.2:38
10394 msgid "Link with I<-lrt>."
10395 msgstr "Link with I<-lrt>."
10396
10397 #. type: Plain text
10398 #: build/C/man2/timer_create.2:50
10399 msgid "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10400 msgstr "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10401
10402 #. type: Plain text
10403 #: build/C/man2/timer_create.2:58
10404 msgid ""
10405 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10406 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10407 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10408 "is deleted.  The new timer is initially disarmed."
10409 msgstr ""
10410 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10411 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10412 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10413 "is deleted.  The new timer is initially disarmed."
10414
10415 #. type: Plain text
10416 #: build/C/man2/timer_create.2:63
10417 msgid ""
10418 "The I<clockid> argument specifies the clock that the new timer uses to "
10419 "measure time.  It can be specified as one of the following values:"
10420 msgstr ""
10421 "The I<clockid> argument specifies the clock that the new timer uses to "
10422 "measure time.  It can be specified as one of the following values:"
10423
10424 #. type: TP
10425 #: build/C/man2/timer_create.2:63
10426 #, no-wrap
10427 msgid "B<CLOCK_REALTIME>"
10428 msgstr "B<CLOCK_REALTIME>"
10429
10430 #. type: Plain text
10431 #: build/C/man2/timer_create.2:66
10432 msgid "A settable system-wide real-time clock."
10433 msgstr "A settable system-wide real-time clock."
10434
10435 #. type: TP
10436 #: build/C/man2/timer_create.2:66
10437 #, no-wrap
10438 msgid "B<CLOCK_MONOTONIC>"
10439 msgstr "B<CLOCK_MONOTONIC>"
10440
10441 #.  Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
10442 #.  in 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
10443 #. type: Plain text
10444 #: build/C/man2/timer_create.2:73
10445 msgid ""
10446 "A nonsettable monotonically increasing clock that measures time from some "
10447 "unspecified point in the past that does not change after system startup."
10448 msgstr ""
10449 "A nonsettable monotonically increasing clock that measures time from some "
10450 "unspecified point in the past that does not change after system startup."
10451
10452 #. type: TP
10453 #: build/C/man2/timer_create.2:73
10454 #, no-wrap
10455 msgid "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10456 msgstr "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10457
10458 #. type: Plain text
10459 #: build/C/man2/timer_create.2:77
10460 msgid ""
10461 "A clock that measures (user and system) CPU time consumed by (all of the "
10462 "threads in) the calling process."
10463 msgstr ""
10464 "A clock that measures (user and system) CPU time consumed by (all of the "
10465 "threads in) the calling process."
10466
10467 #. type: TP
10468 #: build/C/man2/timer_create.2:77
10469 #, no-wrap
10470 msgid "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10471 msgstr "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10472
10473 #.  The CLOCK_MONOTONIC_RAW that was added in 2.6.28 can't be used
10474 #.  to create a timer -- mtk, Feb 2009
10475 #. type: Plain text
10476 #: build/C/man2/timer_create.2:83
10477 msgid ""
10478 "A clock that measures (user and system) CPU time consumed by the calling "
10479 "thread."
10480 msgstr ""
10481 "A clock that measures (user and system) CPU time consumed by the calling "
10482 "thread."
10483
10484 #. type: Plain text
10485 #: build/C/man2/timer_create.2:92
10486 msgid ""
10487 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10488 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10489 "(3)."
10490 msgstr ""
10491 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10492 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10493 "(3)."
10494
10495 #. type: Plain text
10496 #: build/C/man2/timer_create.2:101
10497 msgid ""
10498 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10499 "the caller should be notified when the timer expires.  For the definition "
10500 "and general details of this structure, see B<sigevent>(7)."
10501 msgstr ""
10502 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10503 "the caller should be notified when the timer expires.  For the definition "
10504 "and general details of this structure, see B<sigevent>(7)."
10505
10506 #. type: Plain text
10507 #: build/C/man2/timer_create.2:105
10508 msgid "The I<sevp.sigev_notify> field can have the following values:"
10509 msgstr "The I<sevp.sigev_notify> field can have the following values:"
10510
10511 #. type: Plain text
10512 #: build/C/man2/timer_create.2:110
10513 msgid ""
10514 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10515 "can be monitored using B<timer_gettime>(2)."
10516 msgstr ""
10517 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10518 "can be monitored using B<timer_gettime>(2)."
10519
10520 #. type: Plain text
10521 #: build/C/man2/timer_create.2:128
10522 msgid ""
10523 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10524 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10525 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10526 "most one signal is queued to the process for a given timer; see "
10527 "B<timer_getoverrun>(2)  for more details."
10528 msgstr ""
10529 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10530 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10531 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10532 "most one signal is queued to the process for a given timer; see "
10533 "B<timer_getoverrun>(2)  for more details."
10534
10535 #. type: Plain text
10536 #: build/C/man2/timer_create.2:136
10537 msgid ""
10538 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10539 "start function of a new thread.  See B<sigevent>(7)  for details."
10540 msgstr ""
10541 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10542 "start function of a new thread.  See B<sigevent>(7)  for details."
10543
10544 #. type: Plain text
10545 #: build/C/man2/timer_create.2:150
10546 msgid ""
10547 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10548 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10549 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10550 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10551 "(2).  This flag is only intended for use by threading libraries."
10552 msgstr ""
10553 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10554 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10555 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10556 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10557 "(2).  This flag is only intended for use by threading libraries."
10558
10559 #. type: Plain text
10560 #: build/C/man2/timer_create.2:165
10561 msgid ""
10562 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10563 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10564 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10565 msgstr ""
10566 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10567 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10568 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10569
10570 #. type: Plain text
10571 #: build/C/man2/timer_create.2:173
10572 msgid ""
10573 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10574 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10575 "indicate the error."
10576 msgstr ""
10577 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10578 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10579 "indicate the error."
10580
10581 #. type: Plain text
10582 #: build/C/man2/timer_create.2:177
10583 msgid "Temporary error during kernel allocation of timer structures."
10584 msgstr "Temporary error during kernel allocation of timer structures."
10585
10586 #. type: Plain text
10587 #: build/C/man2/timer_create.2:185
10588 msgid ""
10589 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10590 "invalid."
10591 msgstr ""
10592 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10593 "invalid."
10594
10595 #.  glibc layer: malloc()
10596 #. type: Plain text
10597 #: build/C/man2/timer_create.2:189
10598 msgid "Could not allocate memory."
10599 msgstr "Could not allocate memory."
10600
10601 #. type: Plain text
10602 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
10603 #: build/C/man2/timer_getoverrun.2:94
10604 msgid "This system call is available since Linux 2.6."
10605 msgstr "This system call is available since Linux 2.6."
10606
10607 #. type: Plain text
10608 #: build/C/man2/timer_create.2:196
10609 msgid "A program may create multiple interval timers using B<timer_create>()."
10610 msgstr "A program may create multiple interval timers using B<timer_create>()."
10611
10612 #. type: Plain text
10613 #: build/C/man2/timer_create.2:201
10614 msgid ""
10615 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10616 "deleted during an B<execve>(2)."
10617 msgstr ""
10618 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10619 "deleted during an B<execve>(2)."
10620
10621 #. type: Plain text
10622 #: build/C/man2/timer_create.2:209
10623 msgid ""
10624 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10625 "using B<timer_create>().  Consequently, the number of timers is limited by "
10626 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10627 msgstr ""
10628 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10629 "using B<timer_create>().  Consequently, the number of timers is limited by "
10630 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10631
10632 #. type: Plain text
10633 #: build/C/man2/timer_create.2:214
10634 msgid ""
10635 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10636 "(interval) timers\".  The POSIX timers API consists of the following "
10637 "interfaces:"
10638 msgstr ""
10639 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10640 "(interval) timers\".  The POSIX timers API consists of the following "
10641 "interfaces:"
10642
10643 #. type: Plain text
10644 #: build/C/man2/timer_create.2:217
10645 msgid "B<timer_create>(): Create a timer."
10646 msgstr "B<timer_create>(): Create a timer."
10647
10648 #. type: Plain text
10649 #: build/C/man2/timer_create.2:220
10650 msgid "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10651 msgstr "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10652
10653 #. type: Plain text
10654 #: build/C/man2/timer_create.2:224
10655 msgid ""
10656 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10657 "timer, along with the interval setting of the timer."
10658 msgstr ""
10659 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10660 "timer, along with the interval setting of the timer."
10661
10662 #. type: Plain text
10663 #: build/C/man2/timer_create.2:227
10664 msgid ""
10665 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10666 "expiration."
10667 msgstr ""
10668 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10669 "expiration."
10670
10671 #. type: Plain text
10672 #: build/C/man2/timer_create.2:230
10673 msgid "B<timer_delete>(2): Disarm and delete a timer."
10674 msgstr "B<timer_delete>(2): Disarm and delete a timer."
10675
10676 #. type: Plain text
10677 #: build/C/man2/timer_create.2:233
10678 msgid ""
10679 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10680 "particular:"
10681 msgstr ""
10682 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10683 "particular:"
10684
10685 #. type: Plain text
10686 #: build/C/man2/timer_create.2:237
10687 msgid ""
10688 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10689 "than the kernel."
10690 msgstr ""
10691 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10692 "than the kernel."
10693
10694 #.  See the glibc source file kernel-posix-timers.h for the structure
10695 #.  that glibc uses to map userspace timer IDs to kernel timer IDs
10696 #.  The kernel-level timer ID is exposed via siginfo.si_tid.
10697 #. type: Plain text
10698 #: build/C/man2/timer_create.2:243
10699 msgid ""
10700 "The timer IDs presented at user level are maintained by glibc, which maps "
10701 "these IDs to the timer IDs employed by the kernel."
10702 msgstr ""
10703 "The timer IDs presented at user level are maintained by glibc, which maps "
10704 "these IDs to the timer IDs employed by the kernel."
10705
10706 #. type: Plain text
10707 #: build/C/man2/timer_create.2:251
10708 msgid ""
10709 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10710 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10711 "timers only) using POSIX threads, and current glibc falls back to this "
10712 "implementation on systems running pre-2.6 Linux kernels."
10713 msgstr ""
10714 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10715 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10716 "timers only) using POSIX threads, and current glibc falls back to this "
10717 "implementation on systems running pre-2.6 Linux kernels."
10718
10719 #. type: Plain text
10720 #: build/C/man2/timer_create.2:263
10721 msgid ""
10722 "The program below takes two arguments: a sleep period in seconds, and a "
10723 "timer frequency in nanoseconds.  The program establishes a handler for the "
10724 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10725 "that expires with the given frequency, sleeps for the specified number of "
10726 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10727 "expired at least once while the program slept, the signal handler will be "
10728 "invoked, and the handler displays some information about the timer "
10729 "notification.  The program terminates after one invocation of the signal "
10730 "handler."
10731 msgstr ""
10732 "The program below takes two arguments: a sleep period in seconds, and a "
10733 "timer frequency in nanoseconds.  The program establishes a handler for the "
10734 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10735 "that expires with the given frequency, sleeps for the specified number of "
10736 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10737 "expired at least once while the program slept, the signal handler will be "
10738 "invoked, and the handler displays some information about the timer "
10739 "notification.  The program terminates after one invocation of the signal "
10740 "handler."
10741
10742 #. type: Plain text
10743 #: build/C/man2/timer_create.2:268
10744 msgid ""
10745 "In the following example run, the program sleeps for 1 second, after "
10746 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10747 "signal is unblocked and delivered, there have been around ten million "
10748 "overruns."
10749 msgstr ""
10750 "In the following example run, the program sleeps for 1 second, after "
10751 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10752 "signal is unblocked and delivered, there have been around ten million "
10753 "overruns."
10754
10755 #. type: Plain text
10756 #: build/C/man2/timer_create.2:280
10757 #, no-wrap
10758 msgid ""
10759 "$ B<./a.out 1 100>\n"
10760 "Establishing handler for signal 34\n"
10761 "Blocking signal 34\n"
10762 "timer ID is 0x804c008\n"
10763 "Sleeping for 1 seconds\n"
10764 "Unblocking signal 34\n"
10765 "Caught signal 34\n"
10766 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10767 "    overrun count = 10004886\n"
10768 msgstr ""
10769 "$ B<./a.out 1 100>\n"
10770 "Establishing handler for signal 34\n"
10771 "Blocking signal 34\n"
10772 "timer ID is 0x804c008\n"
10773 "Sleeping for 1 seconds\n"
10774 "Unblocking signal 34\n"
10775 "Caught signal 34\n"
10776 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10777 "    overrun count = 10004886\n"
10778
10779 #. type: SS
10780 #: build/C/man2/timer_create.2:282
10781 #, no-wrap
10782 msgid "Program Source"
10783 msgstr "Program Source"
10784
10785 #. type: Plain text
10786 #: build/C/man2/timer_create.2:290
10787 #, no-wrap
10788 msgid ""
10789 "#include E<lt>stdlib.hE<gt>\n"
10790 "#include E<lt>unistd.hE<gt>\n"
10791 "#include E<lt>stdio.hE<gt>\n"
10792 "#include E<lt>signal.hE<gt>\n"
10793 "#include E<lt>time.hE<gt>\n"
10794 msgstr ""
10795 "#include E<lt>stdlib.hE<gt>\n"
10796 "#include E<lt>unistd.hE<gt>\n"
10797 "#include E<lt>stdio.hE<gt>\n"
10798 "#include E<lt>signal.hE<gt>\n"
10799 "#include E<lt>time.hE<gt>\n"
10800
10801 #. type: Plain text
10802 #: build/C/man2/timer_create.2:293
10803 #, no-wrap
10804 msgid ""
10805 "#define CLOCKID CLOCK_REALTIME\n"
10806 "#define SIG SIGRTMIN\n"
10807 msgstr ""
10808 "#define CLOCKID CLOCK_REALTIME\n"
10809 "#define SIG SIGRTMIN\n"
10810
10811 #. type: Plain text
10812 #: build/C/man2/timer_create.2:296
10813 #, no-wrap
10814 msgid ""
10815 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10816 "                        } while (0)\n"
10817 msgstr ""
10818 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10819 "                        } while (0)\n"
10820
10821 #. type: Plain text
10822 #: build/C/man2/timer_create.2:302
10823 #, no-wrap
10824 msgid ""
10825 "static void\n"
10826 "print_siginfo(siginfo_t *si)\n"
10827 "{\n"
10828 "    timer_t *tidp;\n"
10829 "    int or;\n"
10830 msgstr ""
10831 "static void\n"
10832 "print_siginfo(siginfo_t *si)\n"
10833 "{\n"
10834 "    timer_t *tidp;\n"
10835 "    int or;\n"
10836
10837 #. type: Plain text
10838 #: build/C/man2/timer_create.2:304
10839 #, no-wrap
10840 msgid "    tidp = si-E<gt>si_value.sival_ptr;\n"
10841 msgstr "    tidp = si-E<gt>si_value.sival_ptr;\n"
10842
10843 #. type: Plain text
10844 #: build/C/man2/timer_create.2:307
10845 #, no-wrap
10846 msgid ""
10847 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10848 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10849 msgstr ""
10850 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10851 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10852
10853 #. type: Plain text
10854 #: build/C/man2/timer_create.2:314
10855 #, no-wrap
10856 msgid ""
10857 "    or = timer_getoverrun(*tidp);\n"
10858 "    if (or == -1)\n"
10859 "        errExit(\"timer_getoverrun\");\n"
10860 "    else\n"
10861 "        printf(\"    overrun count = %d\\en\", or);\n"
10862 "}\n"
10863 msgstr ""
10864 "    or = timer_getoverrun(*tidp);\n"
10865 "    if (or == -1)\n"
10866 "        errExit(\"timer_getoverrun\");\n"
10867 "    else\n"
10868 "        printf(\"    overrun count = %d\\en\", or);\n"
10869 "}\n"
10870
10871 #. type: Plain text
10872 #: build/C/man2/timer_create.2:321
10873 #, no-wrap
10874 msgid ""
10875 "static void\n"
10876 "handler(int sig, siginfo_t *si, void *uc)\n"
10877 "{\n"
10878 "    /* Note: calling printf() from a signal handler is not\n"
10879 "       strictly correct, since printf() is not async-signal-safe;\n"
10880 "       see signal(7) */\n"
10881 msgstr ""
10882 "static void\n"
10883 "handler(int sig, siginfo_t *si, void *uc)\n"
10884 "{\n"
10885 "    /* Note: calling printf() from a signal handler is not\n"
10886 "       strictly correct, since printf() is not async-signal-safe;\n"
10887 "       see signal(7) */\n"
10888
10889 #. type: Plain text
10890 #: build/C/man2/timer_create.2:326
10891 #, no-wrap
10892 msgid ""
10893 "    printf(\"Caught signal %d\\en\", sig);\n"
10894 "    print_siginfo(si);\n"
10895 "    signal(sig, SIG_IGN);\n"
10896 "}\n"
10897 msgstr ""
10898 "    printf(\"Caught signal %d\\en\", sig);\n"
10899 "    print_siginfo(si);\n"
10900 "    signal(sig, SIG_IGN);\n"
10901 "}\n"
10902
10903 #. type: Plain text
10904 #: build/C/man2/timer_create.2:336
10905 #, no-wrap
10906 msgid ""
10907 "int\n"
10908 "main(int argc, char *argv[])\n"
10909 "{\n"
10910 "    timer_t timerid;\n"
10911 "    struct sigevent sev;\n"
10912 "    struct itimerspec its;\n"
10913 "    long long freq_nanosecs;\n"
10914 "    sigset_t mask;\n"
10915 "    struct sigaction sa;\n"
10916 msgstr ""
10917 "int\n"
10918 "main(int argc, char *argv[])\n"
10919 "{\n"
10920 "    timer_t timerid;\n"
10921 "    struct sigevent sev;\n"
10922 "    struct itimerspec its;\n"
10923 "    long long freq_nanosecs;\n"
10924 "    sigset_t mask;\n"
10925 "    struct sigaction sa;\n"
10926
10927 #. type: Plain text
10928 #: build/C/man2/timer_create.2:342
10929 #, no-wrap
10930 msgid ""
10931 "    if (argc != 3) {\n"
10932 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10933 "                argv[0]);\n"
10934 "        exit(EXIT_FAILURE);\n"
10935 "    }\n"
10936 msgstr ""
10937 "    if (argc != 3) {\n"
10938 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10939 "                argv[0]);\n"
10940 "        exit(EXIT_FAILURE);\n"
10941 "    }\n"
10942
10943 #. type: Plain text
10944 #: build/C/man2/timer_create.2:344
10945 #, no-wrap
10946 msgid "    /* Establish handler for timer signal */\n"
10947 msgstr "    /* Establish handler for timer signal */\n"
10948
10949 #. type: Plain text
10950 #: build/C/man2/timer_create.2:351
10951 #, no-wrap
10952 msgid ""
10953 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10954 "    sa.sa_flags = SA_SIGINFO;\n"
10955 "    sa.sa_sigaction = handler;\n"
10956 "    sigemptyset(&sa.sa_mask);\n"
10957 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10958 "        errExit(\"sigaction\");\n"
10959 msgstr ""
10960 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10961 "    sa.sa_flags = SA_SIGINFO;\n"
10962 "    sa.sa_sigaction = handler;\n"
10963 "    sigemptyset(&sa.sa_mask);\n"
10964 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10965 "        errExit(\"sigaction\");\n"
10966
10967 #. type: Plain text
10968 #: build/C/man2/timer_create.2:353
10969 #, no-wrap
10970 msgid "    /* Block timer signal temporarily */\n"
10971 msgstr "    /* Block timer signal temporarily */\n"
10972
10973 #. type: Plain text
10974 #: build/C/man2/timer_create.2:359
10975 #, no-wrap
10976 msgid ""
10977 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10978 "    sigemptyset(&mask);\n"
10979 "    sigaddset(&mask, SIG);\n"
10980 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10981 "        errExit(\"sigprocmask\");\n"
10982 msgstr ""
10983 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10984 "    sigemptyset(&mask);\n"
10985 "    sigaddset(&mask, SIG);\n"
10986 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10987 "        errExit(\"sigprocmask\");\n"
10988
10989 #. type: Plain text
10990 #: build/C/man2/timer_create.2:361
10991 #, no-wrap
10992 msgid "    /* Create the timer */\n"
10993 msgstr "    /* Create the timer */\n"
10994
10995 #. type: Plain text
10996 #: build/C/man2/timer_create.2:367
10997 #, no-wrap
10998 msgid ""
10999 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
11000 "    sev.sigev_signo = SIG;\n"
11001 "    sev.sigev_value.sival_ptr = &timerid;\n"
11002 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
11003 "        errExit(\"timer_create\");\n"
11004 msgstr ""
11005 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
11006 "    sev.sigev_signo = SIG;\n"
11007 "    sev.sigev_value.sival_ptr = &timerid;\n"
11008 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
11009 "        errExit(\"timer_create\");\n"
11010
11011 #. type: Plain text
11012 #: build/C/man2/timer_create.2:369
11013 #, no-wrap
11014 msgid "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
11015 msgstr "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
11016
11017 #. type: Plain text
11018 #: build/C/man2/timer_create.2:371
11019 #, no-wrap
11020 msgid "    /* Start the timer */\n"
11021 msgstr "    /* Start the timer */\n"
11022
11023 #. type: Plain text
11024 #: build/C/man2/timer_create.2:377
11025 #, no-wrap
11026 msgid ""
11027 "    freq_nanosecs = atoll(argv[2]);\n"
11028 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
11029 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
11030 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
11031 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
11032 msgstr ""
11033 "    freq_nanosecs = atoll(argv[2]);\n"
11034 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
11035 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
11036 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
11037 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
11038
11039 #. type: Plain text
11040 #: build/C/man2/timer_create.2:380
11041 #, no-wrap
11042 msgid ""
11043 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
11044 "         errExit(\"timer_settime\");\n"
11045 msgstr ""
11046 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
11047 "         errExit(\"timer_settime\");\n"
11048
11049 #. type: Plain text
11050 #: build/C/man2/timer_create.2:383
11051 #, no-wrap
11052 msgid ""
11053 "    /* Sleep for a while; meanwhile, the timer may expire\n"
11054 "       multiple times */\n"
11055 msgstr ""
11056 "    /* Sleep for a while; meanwhile, the timer may expire\n"
11057 "       multiple times */\n"
11058
11059 #. type: Plain text
11060 #: build/C/man2/timer_create.2:386
11061 #, no-wrap
11062 msgid ""
11063 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
11064 "    sleep(atoi(argv[1]));\n"
11065 msgstr ""
11066 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
11067 "    sleep(atoi(argv[1]));\n"
11068
11069 #. type: Plain text
11070 #: build/C/man2/timer_create.2:389
11071 #, no-wrap
11072 msgid ""
11073 "    /* Unlock the timer signal, so that timer notification\n"
11074 "       can be delivered */\n"
11075 msgstr ""
11076 "    /* Unlock the timer signal, so that timer notification\n"
11077 "       can be delivered */\n"
11078
11079 #. type: Plain text
11080 #: build/C/man2/timer_create.2:393
11081 #, no-wrap
11082 msgid ""
11083 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
11084 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
11085 "        errExit(\"sigprocmask\");\n"
11086 msgstr ""
11087 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
11088 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
11089 "        errExit(\"sigprocmask\");\n"
11090
11091 #. type: Plain text
11092 #: build/C/man2/timer_create.2:396 build/C/man2/timerfd_create.2:533
11093 #, no-wrap
11094 msgid ""
11095 "    exit(EXIT_SUCCESS);\n"
11096 "}\n"
11097 msgstr ""
11098 "    exit(EXIT_SUCCESS);\n"
11099 "}\n"
11100
11101 #. type: Plain text
11102 #: build/C/man2/timer_create.2:409
11103 msgid ""
11104 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
11105 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
11106 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
11107 "B<time>(7)"
11108 msgstr ""
11109 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
11110 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
11111 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
11112 "B<time>(7)"
11113
11114 #. type: TH
11115 #: build/C/man2/timer_delete.2:23
11116 #, no-wrap
11117 msgid "TIMER_DELETE"
11118 msgstr "TIMER_DELETE"
11119
11120 #. type: TH
11121 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
11122 #: build/C/man2/timer_settime.2:23
11123 #, no-wrap
11124 msgid "2009-02-20"
11125 msgstr "2009-02-20"
11126
11127 #. type: Plain text
11128 #: build/C/man2/timer_delete.2:26
11129 msgid "timer_delete - delete a POSIX per-process timer"
11130 msgstr "timer_delete - delete a POSIX per-process timer"
11131
11132 #. type: Plain text
11133 #: build/C/man2/timer_delete.2:29 build/C/man2/timer_getoverrun.2:29
11134 #: build/C/man2/timer_settime.2:30
11135 #, no-wrap
11136 msgid "B<#include E<lt>time.hE<gt>>\n"
11137 msgstr "B<#include E<lt>time.hE<gt>>\n"
11138
11139 #. type: Plain text
11140 #: build/C/man2/timer_delete.2:31
11141 #, no-wrap
11142 msgid "B<int timer_delete(timer_t >I<timerid>B<);>\n"
11143 msgstr "B<int timer_delete(timer_t >I<timerid>B<);>\n"
11144
11145 #. type: Plain text
11146 #: build/C/man2/timer_delete.2:42
11147 msgid "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11148 msgstr "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11149
11150 #. type: Plain text
11151 #: build/C/man2/timer_delete.2:50
11152 msgid ""
11153 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
11154 "the timer was armed at the time of this call, it is disarmed before being "
11155 "deleted.  The treatment of any pending signal generated by the deleted timer "
11156 "is unspecified."
11157 msgstr ""
11158 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
11159 "the timer was armed at the time of this call, it is disarmed before being "
11160 "deleted.  The treatment of any pending signal generated by the deleted timer "
11161 "is unspecified."
11162
11163 #. type: Plain text
11164 #: build/C/man2/timer_delete.2:57
11165 msgid ""
11166 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
11167 "I<errno> is set to indicate the error."
11168 msgstr ""
11169 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
11170 "I<errno> is set to indicate the error."
11171
11172 #. type: Plain text
11173 #: build/C/man2/timer_delete.2:62 build/C/man2/timer_getoverrun.2:92
11174 msgid "I<timerid> is not a valid timer ID."
11175 msgstr "I<timerid> is not a valid timer ID."
11176
11177 #. type: Plain text
11178 #: build/C/man2/timer_delete.2:71
11179 msgid ""
11180 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
11181 "B<timer_settime>(2), B<time>(7)"
11182 msgstr ""
11183 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
11184 "B<timer_settime>(2), B<time>(7)"
11185
11186 #. type: TH
11187 #: build/C/man2/timer_getoverrun.2:23
11188 #, no-wrap
11189 msgid "TIMER_GETOVERRUN"
11190 msgstr "TIMER_GETOVERRUN"
11191
11192 #. type: Plain text
11193 #: build/C/man2/timer_getoverrun.2:26
11194 msgid "timer_getoverrun - get overrun count for a POSIX per-process timer"
11195 msgstr "timer_getoverrun - get overrun count for a POSIX per-process timer"
11196
11197 #. type: Plain text
11198 #: build/C/man2/timer_getoverrun.2:31
11199 #, no-wrap
11200 msgid "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
11201 msgstr "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
11202
11203 #. type: Plain text
11204 #: build/C/man2/timer_getoverrun.2:42
11205 msgid "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11206 msgstr "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11207
11208 #. type: Plain text
11209 #: build/C/man2/timer_getoverrun.2:53
11210 msgid ""
11211 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
11212 "to by I<timerid>.  An application can use the overrun count to accurately "
11213 "calculate the number of timer expirations that would have occurred over a "
11214 "given time interval.  Timer overruns can occur both when receiving "
11215 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
11216 "(B<SIGEV_THREAD>)."
11217 msgstr ""
11218 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
11219 "to by I<timerid>.  An application can use the overrun count to accurately "
11220 "calculate the number of timer expirations that would have occurred over a "
11221 "given time interval.  Timer overruns can occur both when receiving "
11222 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
11223 "(B<SIGEV_THREAD>)."
11224
11225 #. type: Plain text
11226 #: build/C/man2/timer_getoverrun.2:73
11227 msgid ""
11228 "When expiration notifications are delivered via a signal, overruns can occur "
11229 "as follows.  Regardless of whether or not a real-time signal is used for "
11230 "timer notifications, the system queues at most one signal per timer.  (This "
11231 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
11232 "signal for each timer expiration, could easily result in overflowing the "
11233 "allowed limits for queued signals on the system.)  Because of system "
11234 "scheduling delays, or because the signal may be temporarily blocked, there "
11235 "can be a delay between the time when the notification signal is generated "
11236 "and the time when it is delivered (e.g., caught by a signal handler) or "
11237 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
11238 "expirations may occur.  The timer overrun count is the number of additional "
11239 "timer expirations that occurred between the time when the signal was "
11240 "generated and when it was delivered or accepted."
11241 msgstr ""
11242 "When expiration notifications are delivered via a signal, overruns can occur "
11243 "as follows.  Regardless of whether or not a real-time signal is used for "
11244 "timer notifications, the system queues at most one signal per timer.  (This "
11245 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
11246 "signal for each timer expiration, could easily result in overflowing the "
11247 "allowed limits for queued signals on the system.)  Because of system "
11248 "scheduling delays, or because the signal may be temporarily blocked, there "
11249 "can be a delay between the time when the notification signal is generated "
11250 "and the time when it is delivered (e.g., caught by a signal handler) or "
11251 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
11252 "expirations may occur.  The timer overrun count is the number of additional "
11253 "timer expirations that occurred between the time when the signal was "
11254 "generated and when it was delivered or accepted."
11255
11256 #. type: Plain text
11257 #: build/C/man2/timer_getoverrun.2:79
11258 msgid ""
11259 "Timer overruns can also occur when expiration notifications are delivered "
11260 "via invocation of a thread, since there may be an arbitrary delay between an "
11261 "expiration of the timer and the invocation of the notification thread, and "
11262 "in that delay interval, additional timer expirations may occur"
11263 msgstr ""
11264 "Timer overruns can also occur when expiration notifications are delivered "
11265 "via invocation of a thread, since there may be an arbitrary delay between an "
11266 "expiration of the timer and the invocation of the notification thread, and "
11267 "in that delay interval, additional timer expirations may occur"
11268
11269 #. type: Plain text
11270 #: build/C/man2/timer_getoverrun.2:87
11271 msgid ""
11272 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11273 "specified timer; this count may be 0 if no overruns have occurred.  On "
11274 "failure, -1 is returned, and I<errno> is set to indicate the error."
11275 msgstr ""
11276 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11277 "specified timer; this count may be 0 if no overruns have occurred.  On "
11278 "failure, -1 is returned, and I<errno> is set to indicate the error."
11279
11280 #. type: Plain text
11281 #: build/C/man2/timer_getoverrun.2:108
11282 msgid ""
11283 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11284 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11285 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11286 "application to avoid the overhead of making a system call to obtain the "
11287 "overrun count, but is a nonportable extension to POSIX.1-2001."
11288 msgstr ""
11289 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11290 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11291 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11292 "application to avoid the overhead of making a system call to obtain the "
11293 "overrun count, but is a nonportable extension to POSIX.1-2001."
11294
11295 #.  FIXME . Austin bug filed, 11 Feb 09
11296 #. type: Plain text
11297 #: build/C/man2/timer_getoverrun.2:112
11298 msgid ""
11299 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11300 "notifications using signals."
11301 msgstr ""
11302 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11303 "notifications using signals."
11304
11305 #.  Bug filed: http://bugzilla.kernel.org/show_bug.cgi?id=12665
11306 #.  http://thread.gmane.org/gmane.linux.kernel/113276/
11307 #. type: Plain text
11308 #: build/C/man2/timer_getoverrun.2:125
11309 msgid ""
11310 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11311 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11312 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11313 "not implement this feature: instead, if the timer overrun value exceeds the "
11314 "maximum representable integer, the counter cycles, starting once more from "
11315 "low values."
11316 msgstr ""
11317 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11318 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11319 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11320 "not implement this feature: instead, if the timer overrun value exceeds the "
11321 "maximum representable integer, the counter cycles, starting once more from "
11322 "low values."
11323
11324 #. type: Plain text
11325 #: build/C/man2/timer_getoverrun.2:128 build/C/man2/timer_settime.2:208
11326 msgid "See B<timer_create>(2)."
11327 msgstr "See B<timer_create>(2)."
11328
11329 #. type: Plain text
11330 #: build/C/man2/timer_getoverrun.2:137
11331 msgid ""
11332 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11333 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11334 "B<time>(7)"
11335 msgstr ""
11336 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11337 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11338 "B<time>(7)"
11339
11340 #. type: TH
11341 #: build/C/man2/timer_settime.2:23
11342 #, no-wrap
11343 msgid "TIMER_SETTIME"
11344 msgstr "TIMER_SETTIME"
11345
11346 #. type: Plain text
11347 #: build/C/man2/timer_settime.2:27
11348 msgid ""
11349 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11350 "process timer"
11351 msgstr ""
11352 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11353 "process timer"
11354
11355 #. type: Plain text
11356 #: build/C/man2/timer_settime.2:35
11357 #, no-wrap
11358 msgid ""
11359 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11360 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11361 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11362 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11363 msgstr ""
11364 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11365 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11366 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11367 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11368
11369 #. type: Plain text
11370 #: build/C/man2/timer_settime.2:47
11371 msgid ""
11372 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11373 msgstr ""
11374 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11375
11376 #. type: Plain text
11377 #: build/C/man2/timer_settime.2:60
11378 msgid ""
11379 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11380 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11381 "initial value and the new interval for the timer.  The I<itimerspec> "
11382 "structure is defined as follows:"
11383 msgstr ""
11384 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11385 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11386 "initial value and the new interval for the timer.  The I<itimerspec> "
11387 "structure is defined as follows:"
11388
11389 #. type: Plain text
11390 #: build/C/man2/timer_settime.2:67 build/C/man2/timerfd_create.2:127
11391 #, no-wrap
11392 msgid ""
11393 "struct timespec {\n"
11394 "    time_t tv_sec;                /* Seconds */\n"
11395 "    long   tv_nsec;               /* Nanoseconds */\n"
11396 "};\n"
11397 msgstr ""
11398 "struct timespec {\n"
11399 "    time_t tv_sec;                /* Seconds */\n"
11400 "    long   tv_nsec;               /* Nanoseconds */\n"
11401 "};\n"
11402
11403 #. type: Plain text
11404 #: build/C/man2/timer_settime.2:72
11405 #, no-wrap
11406 msgid ""
11407 "struct itimerspec {\n"
11408 "    struct timespec it_interval;  /* Timer interval */\n"
11409 "    struct timespec it_value;     /* Initial expiration */\n"
11410 "};\n"
11411 msgstr ""
11412 "struct itimerspec {\n"
11413 "    struct timespec it_interval;  /* Timer interval */\n"
11414 "    struct timespec it_value;     /* Initial expiration */\n"
11415 "};\n"
11416
11417 #. type: Plain text
11418 #: build/C/man2/timer_settime.2:84
11419 msgid ""
11420 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11421 "structure that allows a time value to be specified in seconds and "
11422 "nanoseconds.  These time values are measured according to the clock that was "
11423 "specified when the timer was created by B<timer_create>(2)"
11424 msgstr ""
11425 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11426 "structure that allows a time value to be specified in seconds and "
11427 "nanoseconds.  These time values are measured according to the clock that was "
11428 "specified when the timer was created by B<timer_create>(2)"
11429
11430 #. type: Plain text
11431 #: build/C/man2/timer_settime.2:98
11432 msgid ""
11433 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11434 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11435 "setting it to initially expire at the given time.  (If the timer was already "
11436 "armed, then the previous settings are overwritten.)  If I<new_value-"
11437 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11438 "the timer is disarmed."
11439 msgstr ""
11440 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11441 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11442 "setting it to initially expire at the given time.  (If the timer was already "
11443 "armed, then the previous settings are overwritten.)  If I<new_value-"
11444 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11445 "the timer is disarmed."
11446
11447 #. type: Plain text
11448 #: build/C/man2/timer_settime.2:110
11449 msgid ""
11450 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11451 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11452 "an armed timer expires, the timer is reloaded from the value specified in "
11453 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11454 "zero value then the timer expires just once, at the time specified by "
11455 "I<it_value>."
11456 msgstr ""
11457 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11458 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11459 "an armed timer expires, the timer is reloaded from the value specified in "
11460 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11461 "zero value then the timer expires just once, at the time specified by "
11462 "I<it_value>."
11463
11464 #.  By experiment: the overrun count is set correctly, for CLOCK_REALTIME.
11465 #. type: Plain text
11466 #: build/C/man2/timer_settime.2:131
11467 msgid ""
11468 "By default, the initial expiration time specified in I<new_value-"
11469 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11470 "clock at the time of the call.  This can be modified by specifying "
11471 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11472 "interpreted as an absolute value as measured on the timer's clock; that is, "
11473 "the timer will expire when the clock value reaches the value specified by "
11474 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11475 "passed, then the timer expires immediately, and the overrun count (see "
11476 "B<timer_getoverrun>(2))  will be set correctly."
11477 msgstr ""
11478 "By default, the initial expiration time specified in I<new_value-"
11479 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11480 "clock at the time of the call.  This can be modified by specifying "
11481 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11482 "interpreted as an absolute value as measured on the timer's clock; that is, "
11483 "the timer will expire when the clock value reaches the value specified by "
11484 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11485 "passed, then the timer expires immediately, and the overrun count (see "
11486 "B<timer_getoverrun>(2))  will be set correctly."
11487
11488 #.  Similar remarks might apply with respect to process and thread CPU time
11489 #.  clocks, but these clocks are not currently (2.6.28) settable on Linux.
11490 #. type: Plain text
11491 #: build/C/man2/timer_settime.2:141
11492 msgid ""
11493 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11494 "timer based on that clock is armed, then the expiration of the timer will be "
11495 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11496 "effect on relative timers based on that clock."
11497 msgstr ""
11498 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11499 "timer based on that clock is armed, then the expiration of the timer will be "
11500 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11501 "effect on relative timers based on that clock."
11502
11503 #. type: Plain text
11504 #: build/C/man2/timer_settime.2:149
11505 msgid ""
11506 "If I<old_value> is not NULL, then it returns the previous interval of the "
11507 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11508 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11509 msgstr ""
11510 "If I<old_value> is not NULL, then it returns the previous interval of the "
11511 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11512 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11513
11514 #. type: Plain text
11515 #: build/C/man2/timer_settime.2:169
11516 msgid ""
11517 "B<timer_gettime>()  returns the time until next expiration, and the "
11518 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11519 "I<curr_value>.  The time remaining until the next timer expiration is "
11520 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11521 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11522 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11523 "the timer is currently disarmed.  The timer interval is returned in "
11524 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11525 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11526 msgstr ""
11527 "B<timer_gettime>()  returns the time until next expiration, and the "
11528 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11529 "I<curr_value>.  The time remaining until the next timer expiration is "
11530 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11531 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11532 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11533 "the timer is currently disarmed.  The timer interval is returned in "
11534 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11535 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11536
11537 #. type: Plain text
11538 #: build/C/man2/timer_settime.2:178
11539 msgid ""
11540 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11541 "-1 is returned, and I<errno> is set to indicate the error."
11542 msgstr ""
11543 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11544 "-1 is returned, and I<errno> is set to indicate the error."
11545
11546 #. type: Plain text
11547 #: build/C/man2/timer_settime.2:180
11548 msgid "These functions may fail with the following errors:"
11549 msgstr "These functions may fail with the following errors:"
11550
11551 #. type: Plain text
11552 #: build/C/man2/timer_settime.2:187
11553 msgid "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11554 msgstr "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11555
11556 #.  FIXME . eventually: invalid value in flags
11557 #. type: Plain text
11558 #: build/C/man2/timer_settime.2:192
11559 msgid "I<timerid> is invalid."
11560 msgstr "I<timerid> is invalid."
11561
11562 #. type: Plain text
11563 #: build/C/man2/timer_settime.2:195
11564 msgid "B<timer_settime>()  may fail with the following errors:"
11565 msgstr "B<timer_settime>()  may fail with the following errors:"
11566
11567 #. type: Plain text
11568 #: build/C/man2/timer_settime.2:201
11569 msgid ""
11570 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11571 "negative or greater than 999,999,999."
11572 msgstr ""
11573 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11574 "negative or greater than 999,999,999."
11575
11576 #. type: Plain text
11577 #: build/C/man2/timer_settime.2:203
11578 msgid "These system calls are available since Linux 2.6."
11579 msgstr "These system calls are available since Linux 2.6."
11580
11581 #. type: Plain text
11582 #: build/C/man2/timer_settime.2:211
11583 msgid "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11584 msgstr "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11585
11586 #. type: TH
11587 #: build/C/man2/timerfd_create.2:20
11588 #, no-wrap
11589 msgid "TIMERFD_CREATE"
11590 msgstr "TIMERFD_CREATE"
11591
11592 #. type: TH
11593 #: build/C/man2/timerfd_create.2:20
11594 #, fuzzy, no-wrap
11595 #| msgid "2011-09-18"
11596 msgid "2011-09-14"
11597 msgstr "2011-09-18"
11598
11599 #. type: Plain text
11600 #: build/C/man2/timerfd_create.2:24
11601 msgid ""
11602 "timerfd_create, timerfd_settime, timerfd_gettime - timers that notify via "
11603 "file descriptors"
11604 msgstr ""
11605 "timerfd_create, timerfd_settime, timerfd_gettime - ファイルディスクリプタ経由"
11606 "で通知するタイマー"
11607
11608 #. type: Plain text
11609 #: build/C/man2/timerfd_create.2:27
11610 #, no-wrap
11611 msgid "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11612 msgstr "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11613
11614 #. type: Plain text
11615 #: build/C/man2/timerfd_create.2:29
11616 #, no-wrap
11617 msgid "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11618 msgstr "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11619
11620 #. type: Plain text
11621 #: build/C/man2/timerfd_create.2:33
11622 #, no-wrap
11623 msgid ""
11624 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11625 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11626 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11627 msgstr ""
11628 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11629 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11630 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11631
11632 #. type: Plain text
11633 #: build/C/man2/timerfd_create.2:35
11634 #, no-wrap
11635 msgid "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11636 msgstr "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11637
11638 #. type: Plain text
11639 #: build/C/man2/timerfd_create.2:48
11640 msgid ""
11641 "These system calls create and operate on a timer that delivers timer "
11642 "expiration notifications via a file descriptor.  They provide an alternative "
11643 "to the use of B<setitimer>(2)  or B<timer_create>(2), with the advantage "
11644 "that the file descriptor may be monitored by B<select>(2), B<poll>(2), and "
11645 "B<epoll>(7)."
11646 msgstr ""
11647 "これらのシステムコールは、満了通知をファイルディスクリプタ経由で配送する タイ"
11648 "マーの生成と操作を行う。 これらは、 B<setitimer>(2)  や B<timer_create>(2)  "
11649 "を用いる方法の代わりとなるものであり、このファイルディスクリプタを B<select>"
11650 "(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
11651
11652 #. type: Plain text
11653 #: build/C/man2/timerfd_create.2:60
11654 msgid ""
11655 "The use of these three system calls is analogous to the use of "
11656 "B<timer_create>(2), B<timer_settime>(2), and B<timer_gettime>(2).  (There is "
11657 "no analog of B<timer_getoverrun>(2), since that functionality is provided by "
11658 "B<read>(2), as described below.)"
11659 msgstr ""
11660 "これらのシステムコールを使うのは、それぞれ B<timer_create>(2), "
11661 "B<timer_settime>(2), B<timer_gettime>(2)  を使うのと同様である "
11662 "(B<timer_getoverrun>(2)  に対応するものはなく、以下で説明するように この機能"
11663 "は B<read>(2)  により提供される)。"
11664
11665 #. type: SS
11666 #: build/C/man2/timerfd_create.2:60
11667 #, no-wrap
11668 msgid "timerfd_create()"
11669 msgstr "timerfd_create()"
11670
11671 #. type: Plain text
11672 #: build/C/man2/timerfd_create.2:79
11673 msgid ""
11674 "B<timerfd_create>()  creates a new timer object, and returns a file "
11675 "descriptor that refers to that timer.  The I<clockid> argument specifies the "
11676 "clock that is used to mark the progress of the timer, and must be either "
11677 "B<CLOCK_REALTIME> or B<CLOCK_MONOTONIC>.  B<CLOCK_REALTIME> is a settable "
11678 "system-wide clock.  B<CLOCK_MONOTONIC> is a nonsettable clock that is not "
11679 "affected by discontinuous changes in the system clock (e.g., manual changes "
11680 "to system time).  The current value of each of these clocks can be retrieved "
11681 "using B<clock_gettime>(2)."
11682 msgstr ""
11683 "B<timerfd_create>()  は新規のタイマーオブジェクトを生成し、そのタイマーを参照"
11684 "するファイル ディスクリプタを返す。 I<clockid> 引き数は、タイマーの進捗を管理"
11685 "するためのクロックを指定するもので、 B<CLOCK_REALTIME> か B<CLOCK_MONOTONIC> "
11686 "のいずれかでなければならない。 B<CLOCK_REALTIME> はシステム全体で使用されるク"
11687 "ロックで、このクロックは変更可能である。 B<CLOCK_MONOTONIC> は変更されること"
11688 "のないクロックで、(システム時刻の手動での変更などの)  システムクロックの不連"
11689 "続な変化の影響を受けない。 これらのクロックの現在の値は B<clock_gettime>(2)  "
11690 "を使って取得できる。"
11691
11692 #. type: Plain text
11693 #: build/C/man2/timerfd_create.2:84
11694 msgid ""
11695 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
11696 "I<flags> to change the behavior of B<timerfd_create>():"
11697 msgstr ""
11698 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
11699 "ることで、 B<timerfd_create>()  の振舞いを変更することができる。"
11700
11701 #. type: TP
11702 #: build/C/man2/timerfd_create.2:84
11703 #, no-wrap
11704 msgid "B<TFD_NONBLOCK>"
11705 msgstr "B<TFD_NONBLOCK>"
11706
11707 #. type: TP
11708 #: build/C/man2/timerfd_create.2:92
11709 #, no-wrap
11710 msgid "B<TFD_CLOEXEC>"
11711 msgstr "B<TFD_CLOEXEC>"
11712
11713 #. type: Plain text
11714 #: build/C/man2/timerfd_create.2:106
11715 msgid ""
11716 "In Linux versions up to and including 2.6.26, I<flags> must be specified as "
11717 "zero."
11718 msgstr ""
11719 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
11720 "しなければならない。"
11721
11722 #. type: SS
11723 #: build/C/man2/timerfd_create.2:106
11724 #, no-wrap
11725 msgid "timerfd_settime()"
11726 msgstr "timerfd_settime()"
11727
11728 #. type: Plain text
11729 #: build/C/man2/timerfd_create.2:111
11730 msgid ""
11731 "B<timerfd_settime>()  arms (starts) or disarms (stops)  the timer referred "
11732 "to by the file descriptor I<fd>."
11733 msgstr ""
11734 "B<timerfd_settime>()  は、ファイルディスクリプタ I<fd> により参照されるタイ"
11735 "マーを開始したり停止したりする。"
11736
11737 #. type: Plain text
11738 #: build/C/man2/timerfd_create.2:120
11739 msgid ""
11740 "The I<new_value> argument specifies the initial expiration and interval for "
11741 "the timer.  The I<itimer> structure used for this argument contains two "
11742 "fields, each of which is in turn a structure of type I<timespec>:"
11743 msgstr ""
11744 "I<new_value> 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 "
11745 "(interval) を 指定する。この引き数で使用されている I<itimerspec> 構造体には "
11746 "2 つのフィールドがあり、各フィールドは I<timespec> 型の構造体である。"
11747
11748 #. type: Plain text
11749 #: build/C/man2/timerfd_create.2:132
11750 #, no-wrap
11751 msgid ""
11752 "struct itimerspec {\n"
11753 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11754 "    struct timespec it_value;     /* Initial expiration */\n"
11755 "};\n"
11756 msgstr ""
11757 "struct itimerspec {\n"
11758 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11759 "    struct timespec it_value;     /* Initial expiration */\n"
11760 "};\n"
11761
11762 #. type: Plain text
11763 #: build/C/man2/timerfd_create.2:144
11764 msgid ""
11765 "I<new_value.it_value> specifies the initial expiration of the timer, in "
11766 "seconds and nanoseconds.  Setting either field of I<new_value.it_value> to a "
11767 "nonzero value arms the timer.  Setting both fields of I<new_value.it_value> "
11768 "to zero disarms the timer."
11769 msgstr ""
11770 "I<new_value.it_value> はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 "
11771 "I<new_value.it_value> のフィールドのうち少なくとも一方に 0 以外の値を設定する"
11772 "と、 タイマーが開始される。 両方のフィールドに 0 を設定すると、タイマーが停止"
11773 "する。"
11774
11775 #. type: Plain text
11776 #: build/C/man2/timerfd_create.2:153
11777 msgid ""
11778 "Setting one or both fields of I<new_value.it_interval> to nonzero values "
11779 "specifies the period, in seconds and nanoseconds, for repeated timer "
11780 "expirations after the initial expiration.  If both fields of I<new_value."
11781 "it_interval> are zero, the timer expires just once, at the time specified by "
11782 "I<new_value.it_value>."
11783 msgstr ""
11784 "I<new_value.it_interval> はタイマーの一回目の満了後に繰り返しタイマーの満了間"
11785 "隔を、秒とナノ秒で指定する。 I<new_value.it_interval> のフィールドのうち少な"
11786 "くとも一方に 0 以外の値を設定すると、 繰り返しタイマーが有効になる。 両方の"
11787 "フィールドに 0 を設定した場合、タイマーは I<new_value.it_value> で指定された"
11788 "時間後に、一回だけ満了して停止する。"
11789
11790 #. type: Plain text
11791 #: build/C/man2/timerfd_create.2:169
11792 #, fuzzy
11793 #| msgid ""
11794 #| "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11795 #| "it_interval> specifies a time relative to the current value of the clock "
11796 #| "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11797 #| "timer (I<new_value.it_value> specifies an absolute time for the clock "
11798 #| "specified by I<clockid>; that is, the timer will expire when the value of "
11799 #| "that clock reaches the value specified in I<new_value.it_value>)."
11800 msgid ""
11801 "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11802 "it_value> specifies a time relative to the current value of the clock "
11803 "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11804 "timer (I<new_value.it_value> specifies an absolute time for the clock "
11805 "specified by I<clockid>; that is, the timer will expire when the value of "
11806 "that clock reaches the value specified in I<new_value.it_value>)."
11807 msgstr ""
11808 "I<flags> 引き数には 0 か B<TFD_TIMER_ABSTIME> を指定する。 0 は相対時刻タイ"
11809 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11810 "の現在の値からの相対的な時刻を指定する。 B<TFD_TIMER_ABSTIME> は絶対時刻タイ"
11811 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11812 "の絶対時刻を指定する。つまり、 クロックの値が I<new_value.it_interval> で指定"
11813 "された時刻に達したら、タイマーが満了する。"
11814
11815 #. type: Plain text
11816 #: build/C/man2/timerfd_create.2:180
11817 #, fuzzy
11818 #| msgid ""
11819 #| "The I<old_value> argument returns a structure containing the setting of "
11820 #| "the timer that was current at the time of the call; see the description "
11821 #| "of B<timerfd_gettime>()  following."
11822 msgid ""
11823 "If the I<old_value> argument is not NULL, then the I<itimerspec> structure "
11824 "that it points to is used to return the setting of the timer that was "
11825 "current at the time of the call; see the description of B<timerfd_gettime>"
11826 "()  following."
11827 msgstr ""
11828 "I<old_value> 引き数を通じて、 B<timerfd_settime>()  を呼び出した時点でのタイ"
11829 "マーの設定を保持した構造体が返される。 下記の B<timerfd_gettime>()  の説明を"
11830 "参照。"
11831
11832 #. type: SS
11833 #: build/C/man2/timerfd_create.2:180
11834 #, no-wrap
11835 msgid "timerfd_gettime()"
11836 msgstr "timerfd_gettime()"
11837
11838 #. type: Plain text
11839 #: build/C/man2/timerfd_create.2:189
11840 msgid ""
11841 "B<timerfd_gettime>()  returns, in I<curr_value>, an I<itimerspec> structure "
11842 "that contains the current setting of the timer referred to by the file "
11843 "descriptor I<fd>."
11844 msgstr ""
11845 "B<timerfd_gettime>()  は、ファイルディスクリプタ I<fd> で参照されるタイマーの"
11846 "現在の設定が入った I<itimerspec> 構造体を、 I<curr_value> に格納して返す。"
11847
11848 #. type: Plain text
11849 #: build/C/man2/timerfd_create.2:199
11850 msgid ""
11851 "The I<it_value> field returns the amount of time until the timer will next "
11852 "expire.  If both fields of this structure are zero, then the timer is "
11853 "currently disarmed.  This field always contains a relative value, regardless "
11854 "of whether the B<TFD_TIMER_ABSTIME> flag was specified when setting the "
11855 "timer."
11856 msgstr ""
11857 "I<it_value> フィールドは、タイマーが次に満了するまでの残り時間を返す。 この構"
11858 "造体の両方のフィールドが 0 であれば、タイマーは現在停止している。 タイマー設"
11859 "定時に B<TFD_TIMER_ABSTIME> フラグが指定されたかに関わらず、このフィールドは"
11860 "常に相対値が格納される。"
11861
11862 #. type: Plain text
11863 #: build/C/man2/timerfd_create.2:206
11864 msgid ""
11865 "The I<it_interval> field returns the interval of the timer.  If both fields "
11866 "of this structure are zero, then the timer is set to expire just once, at "
11867 "the time specified by I<curr_value.it_value>."
11868 msgstr ""
11869 "I<it_interval> フィールドは、タイマーの間隔を返す。 この構造体の両方のフィー"
11870 "ルドが 0 であれば、タイマーは I<new_value.it_value> で指定された時間後に一回"
11871 "だけ満了して停止するように設定されている。"
11872
11873 #. type: SS
11874 #: build/C/man2/timerfd_create.2:206
11875 #, no-wrap
11876 msgid "Operating on a timer file descriptor"
11877 msgstr "タイマー・ファイルディスクリプタに対する操作"
11878
11879 #. type: Plain text
11880 #: build/C/man2/timerfd_create.2:210
11881 msgid ""
11882 "The file descriptor returned by B<timerfd_create>()  supports the following "
11883 "operations:"
11884 msgstr ""
11885 "B<timerfd_create>()  が返すファイルディスクリプタは以下の操作をサポートしてい"
11886 "る。"
11887
11888 #. type: Plain text
11889 #: build/C/man2/timerfd_create.2:224
11890 msgid ""
11891 "If the timer has already expired one or more times since its settings were "
11892 "last modified using B<timerfd_settime>(), or since the last successful "
11893 "B<read>(2), then the buffer given to B<read>(2)  returns an unsigned 8-byte "
11894 "integer (I<uint64_t>)  containing the number of expirations that have "
11895 "occurred.  (The returned value is in host byte order, i.e., the native byte "
11896 "order for integers on the host machine.)"
11897 msgstr ""
11898 "B<timerfd_settime>()  を使ってタイマーの設定が最後変更されて以降、または "
11899 "B<read>(2)  の呼び出しに最後に成功して以降に、タイマーの満了が一回以上発生し"
11900 "ていれば、 B<read>(2)  に渡されたバッファに、タイマー満了回数を示す 8 バイト"
11901 "の unsigned 型の整数 (I<uint64_t>)  が返される (返される値はホストバイトオー"
11902 "ダ、つまりそのホストマシンにおける 整数の通常のバイトオーダである)。"
11903
11904 #. type: Plain text
11905 #: build/C/man2/timerfd_create.2:237
11906 msgid ""
11907 "If no timer expirations have occurred at the time of the B<read>(2), then "
11908 "the call either blocks until the next timer expiration, or fails with the "
11909 "error B<EAGAIN> if the file descriptor has been made nonblocking (via the "
11910 "use of the B<fcntl>(2)  B<F_SETFL> operation to set the B<O_NONBLOCK> flag)."
11911 msgstr ""
11912 "B<read>(2)  を行った時点でタイマーの満了が発生していなければ、 B<read>(2)  は"
11913 "停止 (block) する、もしくはファイルディスクリプタが 非停止 (nonblocking) に設"
11914 "定されている場合はエラー B<EAGAIN> で失敗する (非停止モードにするには、 "
11915 "B<fcntl>(2)  の B<F_SETFL> 命令で B<O_NONBLOCK> フラグをセットする)。"
11916
11917 #. type: Plain text
11918 #: build/C/man2/timerfd_create.2:243
11919 msgid ""
11920 "A B<read>(2)  will fail with the error B<EINVAL> if the size of the supplied "
11921 "buffer is less than 8 bytes."
11922 msgstr ""
11923 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
11924 "B<EINVAL> で失敗する。"
11925
11926 #. type: Plain text
11927 #: build/C/man2/timerfd_create.2:254
11928 msgid ""
11929 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
11930 "B<poll>(2)  B<POLLIN> flag)  if one or more timer expirations have occurred."
11931 msgstr ""
11932 "一つ以上のタイマー満了が発生していれば、 ファイルディスクリプタは読み出し可能"
11933 "となる (B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラ"
11934 "グ)。"
11935
11936 #. type: Plain text
11937 #: build/C/man2/timerfd_create.2:261
11938 msgid ""
11939 "The file descriptor also supports the other file-descriptor multiplexing "
11940 "APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
11941 msgstr ""
11942 "このファイルディスクリプタは、他のファイルディスクリプタ多重 API である "
11943 "B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
11944
11945 #. type: Plain text
11946 #: build/C/man2/timerfd_create.2:268
11947 msgid ""
11948 "When the file descriptor is no longer required it should be closed.  When "
11949 "all file descriptors associated with the same timer object have been closed, "
11950 "the timer is disarmed and its resources are freed by the kernel."
11951 msgstr ""
11952 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
11953 "る。 同じ timer オブジェクトに関連付けられたファイルディスクリプタが全て ク"
11954 "ローズされると、そのタイマーは解除され、 そのオブジェクト用の資源がカーネルに"
11955 "より解放される。"
11956
11957 #. type: Plain text
11958 #: build/C/man2/timerfd_create.2:280
11959 msgid ""
11960 "After a B<fork>(2), the child inherits a copy of the file descriptor created "
11961 "by B<timerfd_create>().  The file descriptor refers to the same underlying "
11962 "timer object as the corresponding file descriptor in the parent, and B<read>"
11963 "(2)s in the child will return information about expirations of the timer."
11964 msgstr ""
11965 "B<fork>(2)  が行われると、子プロセスは B<timerfd_create>()  により生成された"
11966 "ファイルディスクリプタのコピーを 継承する。そのファイルディスクリプタは、親プ"
11967 "ロセスの対応する ファイルディスクリプタと同じタイマーオブジェクトを参照してお"
11968 "り、 子プロセスの B<read>(2)  でも同じタイマーの満了に関する情報が返される。"
11969
11970 #. type: Plain text
11971 #: build/C/man2/timerfd_create.2:286
11972 msgid ""
11973 "A file descriptor created by B<timerfd_create>()  is preserved across "
11974 "B<execve>(2), and continues to generate timer expirations if the timer was "
11975 "armed."
11976 msgstr ""
11977 "B<execve>(2)  の前後で B<timerfd_create>()  により生成されたファイルディスク"
11978 "リプタは保持され、 タイマーが開始されていた場合にはタイマーの満了が発生し続け"
11979 "る。"
11980
11981 #. type: Plain text
11982 #: build/C/man2/timerfd_create.2:293
11983 msgid ""
11984 "On success, B<timerfd_create>()  returns a new file descriptor.  On error, "
11985 "-1 is returned and I<errno> is set to indicate the error."
11986 msgstr ""
11987 "成功すると、 B<timerfd_create>()  は新しいファイルディスクリプタを返す。 エ"
11988 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11989
11990 #. type: Plain text
11991 #: build/C/man2/timerfd_create.2:301
11992 msgid ""
11993 "B<timerfd_settime>()  and B<timerfd_gettime>()  return 0 on success; on "
11994 "error they return -1, and set I<errno> to indicate the error."
11995 msgstr ""
11996 "B<timerfd_settime>()  と B<timerfd_gettime>()  は成功すると 0 を返す。 エラー"
11997 "の場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11998
11999 #. type: Plain text
12000 #: build/C/man2/timerfd_create.2:304
12001 msgid "B<timerfd_create>()  can fail with the following errors:"
12002 msgstr "B<timerfd_create>()  は以下のエラーで失敗する可能性がある。"
12003
12004 #. type: Plain text
12005 #: build/C/man2/timerfd_create.2:312
12006 msgid ""
12007 "The I<clockid> argument is neither B<CLOCK_MONOTONIC> nor B<CLOCK_REALTIME>;"
12008 msgstr ""
12009 "I<clockid> 引き数が B<CLOCK_MONOTONIC> でも B<CLOCK_REALTIME> でもない。"
12010
12011 #. type: Plain text
12012 #: build/C/man2/timerfd_create.2:332
12013 msgid "There was insufficient kernel memory to create the timer."
12014 msgstr "タイマーを作成するのに十分なカーネルメモリがなかった。"
12015
12016 #. type: Plain text
12017 #: build/C/man2/timerfd_create.2:337
12018 msgid ""
12019 "B<timerfd_settime>()  and B<timerfd_gettime>()  can fail with the following "
12020 "errors:"
12021 msgstr ""
12022 "B<timerfd_settime>()  と B<timerfd_gettime>()  は以下のエラーで失敗する可能性"
12023 "がある。"
12024
12025 #. type: Plain text
12026 #: build/C/man2/timerfd_create.2:341
12027 msgid "I<fd> is not a valid file descriptor."
12028 msgstr "I<fd> が有効なファイルディスクリプタでない。"
12029
12030 #. type: Plain text
12031 #: build/C/man2/timerfd_create.2:352
12032 msgid "I<fd> is not a valid timerfd file descriptor."
12033 msgstr "I<fd> が有効な timerfd ファイルディスクリプタでない。"
12034
12035 #. type: Plain text
12036 #: build/C/man2/timerfd_create.2:355
12037 msgid "B<timerfd_settime>()  can also fail with the following errors:"
12038 msgstr "B<timerfd_settime>()  は以下のエラーで失敗することもある。"
12039
12040 #. type: Plain text
12041 #: build/C/man2/timerfd_create.2:361
12042 msgid ""
12043 "I<new_value> is not properly initialized (one of the I<tv_nsec> falls "
12044 "outside the range zero to 999,999,999)."
12045 msgstr ""
12046 "I<new_value> が適切に初期化されていない (I<tv_nsec> の一つが 0 から "
12047 "999,999,999 までの範囲に入っていない)。"
12048
12049 #.  This case only checked since 2.6.29, and 2.2.2[78].some-stable-version.
12050 #.  In older kernel versions, no check was made for invalid flags.
12051 #. type: Plain text
12052 #: build/C/man2/timerfd_create.2:367
12053 msgid "I<flags> is invalid."
12054 msgstr "I<flags> が無効である。"
12055
12056 #. type: Plain text
12057 #: build/C/man2/timerfd_create.2:370
12058 msgid ""
12059 "These system calls are available on Linux since kernel 2.6.25.  Library "
12060 "support is provided by glibc since version 2.8."
12061 msgstr ""
12062 "これらのシステムコールはカーネル 2.6.25 以降の Linux で利用可能である。 ライ"
12063 "ブラリ側のサポートはバージョン 2.8 以降の glibc で提供されている。"
12064
12065 #. type: Plain text
12066 #: build/C/man2/timerfd_create.2:381
12067 msgid ""
12068 "The following program creates a timer and then monitors its progress.  The "
12069 "program accepts up to three command-line arguments.  The first argument "
12070 "specifies the number of seconds for the initial expiration of the timer.  "
12071 "The second argument specifies the interval for the timer, in seconds.  The "
12072 "third argument specifies the number of times the program should allow the "
12073 "timer to expire before terminating.  The second and third command-line "
12074 "arguments are optional."
12075 msgstr ""
12076 "以下のプログラムは、タイマーを作成し、その進捗をモニターするものである。 この"
12077 "プログラムは最大で 3 個のコマンドライン引き数を取り、 第一引き数ではタイマー"
12078 "の満了時間の初期値 (秒数単位) を、 第二引き数ではタイマーの間隔 (秒数単位) "
12079 "を、 第三引き数ではタイマーが何回満了したらプログラムが終了するかを指定す"
12080 "る。 第二引き数と第三引き数は省略可能である。"
12081
12082 #. type: Plain text
12083 #: build/C/man2/timerfd_create.2:383 build/C/man2/wait.2:541
12084 msgid "The following shell session demonstrates the use of the program:"
12085 msgstr "以下のシェルのセッションはこのプログラムの使用例を示したものである。"
12086
12087 #. type: Plain text
12088 #: build/C/man2/timerfd_create.2:398
12089 #, no-wrap
12090 msgid ""
12091 "$B< a.out 3 1 100>\n"
12092 "0.000: timer started\n"
12093 "3.000: read: 1; total=1\n"
12094 "4.000: read: 1; total=2\n"
12095 "B<^Z >                 # type control-Z to suspend the program\n"
12096 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
12097 "$ B<fg>                # Resume execution after a few seconds\n"
12098 "a.out 3 1 100\n"
12099 "9.660: read: 5; total=7\n"
12100 "10.000: read: 1; total=8\n"
12101 "11.000: read: 1; total=9\n"
12102 "B<^C >                 # type control-C to suspend the program\n"
12103 msgstr ""
12104 "$B< a.out 3 1 100>\n"
12105 "0.000: timer started\n"
12106 "3.000: read: 1; total=1\n"
12107 "4.000: read: 1; total=2\n"
12108 "B<^Z >                 # type control-Z to suspend the program\n"
12109 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
12110 "$ B<fg>                # Resume execution after a few seconds\n"
12111 "a.out 3 1 100\n"
12112 "9.660: read: 5; total=7\n"
12113 "10.000: read: 1; total=8\n"
12114 "11.000: read: 1; total=9\n"
12115 "B<^C >                 # type control-C to suspend the program\n"
12116
12117 #.  The commented out code here is what we currently need until
12118 #.  the required stuff is in glibc
12119 #. /* Link with -lrt */
12120 #. #define _GNU_SOURCE
12121 #. #include <sys/syscall.h>
12122 #. #include <unistd.h>
12123 #. #include <time.h>
12124 #. #if defined(__i386__)
12125 #. #define __NR_timerfd_create 322
12126 #. #define __NR_timerfd_settime 325
12127 #. #define __NR_timerfd_gettime 326
12128 #. #endif
12129 #. static int
12130 #. timerfd_create(int clockid, int flags)
12131 #. {
12132 #.     return syscall(__NR_timerfd_create, clockid, flags);
12133 #. }
12134 #. static int
12135 #. timerfd_settime(int fd, int flags, struct itimerspec *new_value,
12136 #.         struct itimerspec *curr_value)
12137 #. {
12138 #.     return syscall(__NR_timerfd_settime, fd, flags, new_value,
12139 #.                    curr_value);
12140 #. }
12141 #. static int
12142 #. timerfd_gettime(int fd, struct itimerspec *curr_value)
12143 #. {
12144 #.     return syscall(__NR_timerfd_gettime, fd, curr_value);
12145 #. }
12146 #. #define TFD_TIMER_ABSTIME (1 << 0)
12147 #. ////////////////////////////////////////////////////////////
12148 #. type: Plain text
12149 #: build/C/man2/timerfd_create.2:447
12150 #, no-wrap
12151 msgid ""
12152 "#include E<lt>sys/timerfd.hE<gt>\n"
12153 "#include E<lt>time.hE<gt>\n"
12154 "#include E<lt>unistd.hE<gt>\n"
12155 "#include E<lt>stdlib.hE<gt>\n"
12156 "#include E<lt>stdio.hE<gt>\n"
12157 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
12158 msgstr ""
12159 "#include E<lt>sys/timerfd.hE<gt>\n"
12160 "#include E<lt>time.hE<gt>\n"
12161 "#include E<lt>unistd.hE<gt>\n"
12162 "#include E<lt>stdlib.hE<gt>\n"
12163 "#include E<lt>stdio.hE<gt>\n"
12164 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
12165
12166 #. type: Plain text
12167 #: build/C/man2/timerfd_create.2:450
12168 #, no-wrap
12169 msgid ""
12170 "#define handle_error(msg) \\e\n"
12171 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
12172 msgstr ""
12173 "#define handle_error(msg) \\e\n"
12174 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
12175
12176 #. type: Plain text
12177 #: build/C/man2/timerfd_create.2:458
12178 #, no-wrap
12179 msgid ""
12180 "static void\n"
12181 "print_elapsed_time(void)\n"
12182 "{\n"
12183 "    static struct timespec start;\n"
12184 "    struct timespec curr;\n"
12185 "    static int first_call = 1;\n"
12186 "    int secs, nsecs;\n"
12187 msgstr ""
12188 "static void\n"
12189 "print_elapsed_time(void)\n"
12190 "{\n"
12191 "    static struct timespec start;\n"
12192 "    struct timespec curr;\n"
12193 "    static int first_call = 1;\n"
12194 "    int secs, nsecs;\n"
12195
12196 #. type: Plain text
12197 #: build/C/man2/timerfd_create.2:464
12198 #, no-wrap
12199 msgid ""
12200 "    if (first_call) {\n"
12201 "        first_call = 0;\n"
12202 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
12203 "            handle_error(\"clock_gettime\");\n"
12204 "    }\n"
12205 msgstr ""
12206 "    if (first_call) {\n"
12207 "        first_call = 0;\n"
12208 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
12209 "            handle_error(\"clock_gettime\");\n"
12210 "    }\n"
12211
12212 #. type: Plain text
12213 #: build/C/man2/timerfd_create.2:467
12214 #, no-wrap
12215 msgid ""
12216 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
12217 "        handle_error(\"clock_gettime\");\n"
12218 msgstr ""
12219 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
12220 "        handle_error(\"clock_gettime\");\n"
12221
12222 #. type: Plain text
12223 #: build/C/man2/timerfd_create.2:476
12224 #, no-wrap
12225 msgid ""
12226 "    secs = curr.tv_sec - start.tv_sec;\n"
12227 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
12228 "    if (nsecs E<lt> 0) {\n"
12229 "        secs--;\n"
12230 "        nsecs += 1000000000;\n"
12231 "    }\n"
12232 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
12233 "}\n"
12234 msgstr ""
12235 "    secs = curr.tv_sec - start.tv_sec;\n"
12236 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
12237 "    if (nsecs E<lt> 0) {\n"
12238 "        secs--;\n"
12239 "        nsecs += 1000000000;\n"
12240 "    }\n"
12241 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
12242 "}\n"
12243
12244 #. type: Plain text
12245 #: build/C/man2/timerfd_create.2:485
12246 #, no-wrap
12247 msgid ""
12248 "int\n"
12249 "main(int argc, char *argv[])\n"
12250 "{\n"
12251 "    struct itimerspec new_value;\n"
12252 "    int max_exp, fd;\n"
12253 "    struct timespec now;\n"
12254 "    uint64_t exp, tot_exp;\n"
12255 "    ssize_t s;\n"
12256 msgstr ""
12257 "int\n"
12258 "main(int argc, char *argv[])\n"
12259 "{\n"
12260 "    struct itimerspec new_value;\n"
12261 "    int max_exp, fd;\n"
12262 "    struct timespec now;\n"
12263 "    uint64_t exp, tot_exp;\n"
12264 "    ssize_t s;\n"
12265
12266 #. type: Plain text
12267 #: build/C/man2/timerfd_create.2:491
12268 #, no-wrap
12269 msgid ""
12270 "    if ((argc != 2) && (argc != 4)) {\n"
12271 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12272 "                argv[0]);\n"
12273 "        exit(EXIT_FAILURE);\n"
12274 "    }\n"
12275 msgstr ""
12276 "    if ((argc != 2) && (argc != 4)) {\n"
12277 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12278 "                argv[0]);\n"
12279 "        exit(EXIT_FAILURE);\n"
12280 "    }\n"
12281
12282 #. type: Plain text
12283 #: build/C/man2/timerfd_create.2:494
12284 #, no-wrap
12285 msgid ""
12286 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12287 "        handle_error(\"clock_gettime\");\n"
12288 msgstr ""
12289 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12290 "        handle_error(\"clock_gettime\");\n"
12291
12292 #. type: Plain text
12293 #: build/C/man2/timerfd_create.2:497
12294 #, no-wrap
12295 msgid ""
12296 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12297 "       expiration and interval as specified in command line */\n"
12298 msgstr ""
12299 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12300 "       expiration and interval as specified in command line */\n"
12301
12302 #. type: Plain text
12303 #: build/C/man2/timerfd_create.2:508
12304 #, no-wrap
12305 msgid ""
12306 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12307 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12308 "    if (argc == 2) {\n"
12309 "        new_value.it_interval.tv_sec = 0;\n"
12310 "        max_exp = 1;\n"
12311 "    } else {\n"
12312 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12313 "        max_exp = atoi(argv[3]);\n"
12314 "    }\n"
12315 "    new_value.it_interval.tv_nsec = 0;\n"
12316 msgstr ""
12317 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12318 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12319 "    if (argc == 2) {\n"
12320 "        new_value.it_interval.tv_sec = 0;\n"
12321 "        max_exp = 1;\n"
12322 "    } else {\n"
12323 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12324 "        max_exp = atoi(argv[3]);\n"
12325 "    }\n"
12326 "    new_value.it_interval.tv_nsec = 0;\n"
12327
12328 #. type: Plain text
12329 #: build/C/man2/timerfd_create.2:512
12330 #, no-wrap
12331 msgid ""
12332 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12333 "    if (fd == -1)\n"
12334 "        handle_error(\"timerfd_create\");\n"
12335 msgstr ""
12336 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12337 "    if (fd == -1)\n"
12338 "        handle_error(\"timerfd_create\");\n"
12339
12340 #. type: Plain text
12341 #: build/C/man2/timerfd_create.2:515
12342 #, no-wrap
12343 msgid ""
12344 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12345 "        handle_error(\"timerfd_settime\");\n"
12346 msgstr ""
12347 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12348 "        handle_error(\"timerfd_settime\");\n"
12349
12350 #. type: Plain text
12351 #: build/C/man2/timerfd_create.2:518
12352 #, no-wrap
12353 msgid ""
12354 "    print_elapsed_time();\n"
12355 "    printf(\"timer started\\en\");\n"
12356 msgstr ""
12357 "    print_elapsed_time();\n"
12358 "    printf(\"timer started\\en\");\n"
12359
12360 #. type: Plain text
12361 #: build/C/man2/timerfd_create.2:523
12362 #, no-wrap
12363 msgid ""
12364 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12365 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12366 "        if (s != sizeof(uint64_t))\n"
12367 "            handle_error(\"read\");\n"
12368 msgstr ""
12369 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12370 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12371 "        if (s != sizeof(uint64_t))\n"
12372 "            handle_error(\"read\");\n"
12373
12374 #. type: Plain text
12375 #: build/C/man2/timerfd_create.2:530
12376 #, no-wrap
12377 msgid ""
12378 "        tot_exp += exp;\n"
12379 "        print_elapsed_time();\n"
12380 "        printf(\"read: %llu; total=%llu\\en\",\n"
12381 "                (unsigned long long) exp,\n"
12382 "                (unsigned long long) tot_exp);\n"
12383 "    }\n"
12384 msgstr ""
12385 "        tot_exp += exp;\n"
12386 "        print_elapsed_time();\n"
12387 "        printf(\"read: %llu; total=%llu\\en\",\n"
12388 "                (unsigned long long) exp,\n"
12389 "                (unsigned long long) tot_exp);\n"
12390 "    }\n"
12391
12392 #.  2.6.29
12393 #. type: Plain text
12394 #: build/C/man2/timerfd_create.2:540
12395 msgid ""
12396 "Currently, B<timerfd_create>()  supports fewer types of clock IDs than "
12397 "B<timer_create>(2)."
12398 msgstr ""
12399 "現在のところ、 B<timerfd_create>()  が対応している clockid の種類は "
12400 "B<timer_create>(2)  よりも少ない。"
12401
12402 #. type: Plain text
12403 #: build/C/man2/timerfd_create.2:551
12404 msgid ""
12405 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12406 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12407 "(2), B<epoll>(7), B<time>(7)"
12408 msgstr ""
12409 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12410 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12411 "(2), B<epoll>(7), B<time>(7)"
12412
12413 #. type: TH
12414 #: build/C/man2/tkill.2:29
12415 #, no-wrap
12416 msgid "TKILL"
12417 msgstr "TKILL"
12418
12419 #. type: Plain text
12420 #: build/C/man2/tkill.2:32
12421 msgid "tkill, tgkill - send a signal to a thread"
12422 msgstr "tkill, tgkill - スレッドにシグナルを送る"
12423
12424 #. type: Plain text
12425 #: build/C/man2/tkill.2:35
12426 #, no-wrap
12427 msgid "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12428 msgstr "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12429
12430 #. type: Plain text
12431 #: build/C/man2/tkill.2:37
12432 #, no-wrap
12433 msgid "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12434 msgstr "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12435
12436 #. type: Plain text
12437 #: build/C/man2/tkill.2:51
12438 msgid ""
12439 "B<tgkill>()  sends the signal I<sig> to the thread with the thread ID I<tid> "
12440 "in the thread group I<tgid>.  (By contrast, B<kill>(2)  can only be used to "
12441 "send a signal to a process (i.e., thread group)  as a whole, and the signal "
12442 "will be delivered to an arbitrary thread within that process.)"
12443 msgstr ""
12444 "B<tgkill>()  はスレッド・グループ I<tgid> に属するスレッド ID が I<tid> のス"
12445 "レッドにシグナル I<sig> を送る。 (これに対し、 B<kill>(2)  は一つのプロセス "
12446 "(すなわち、スレッド・グループ) にまとめてシグナルを 送るのにだけ利用できる。 "
12447 "B<kill>(2)  で送信されたシグナルはプロセス内の任意のスレッドに配送される。)"
12448
12449 #. type: Plain text
12450 #: build/C/man2/tkill.2:59
12451 msgid ""
12452 "B<tkill>()  is an obsolete predecessor to B<tgkill>().  It only allows the "
12453 "target thread ID to be specified, which may result in the wrong thread being "
12454 "signaled if a thread terminates and its thread ID is recycled.  Avoid using "
12455 "this system call."
12456 msgstr ""
12457 "B<tkill>()  はもう使われなくなった B<tgkill>()  の先祖である。 B<tkill>()  で"
12458 "はシグナルの送り先のスレッド ID しか指定できない。 そのため、スレッドが終了し"
12459 "て、そのスレッド ID が再利用される場合に、 意図しないスレッドにシグナルが送ら"
12460 "れる可能性がある。 このシステムコールの使用は避けること。"
12461
12462 #. type: Plain text
12463 #: build/C/man2/tkill.2:66
12464 msgid ""
12465 "If I<tgid> is specified as -1, B<tgkill>()  is equivalent to B<tkill>()."
12466 msgstr ""
12467 "I<tgid> に -1 が指定された場合、 B<tgkill>()  は B<tkill>()  と等価である。"
12468
12469 #. type: Plain text
12470 #: build/C/man2/tkill.2:69
12471 msgid ""
12472 "These are the raw system call interfaces, meant for internal thread library "
12473 "use."
12474 msgstr ""
12475 "これらはシステムコールへの直接のインターフェースであり、 スレッド・ライブラリ"
12476 "内部での使用を意図したものである。"
12477
12478 #. type: Plain text
12479 #: build/C/man2/tkill.2:77
12480 msgid "An invalid thread ID, thread group ID, or signal was specified."
12481 msgstr "指定されたスレッド ID、スレッドグループ ID、シグナルが不正であった。"
12482
12483 #. type: Plain text
12484 #: build/C/man2/tkill.2:82
12485 msgid "Permission denied.  For the required permissions, see B<kill>(2)."
12486 msgstr ""
12487 "許可がなかった。どのような許可が必要かについては、 B<kill>(2)  を参照のこと。"
12488
12489 #. type: Plain text
12490 #: build/C/man2/tkill.2:85
12491 msgid "No process with the specified thread ID (and thread group ID) exists."
12492 msgstr ""
12493 "指定されたスレッドID (とスレッド・グループID) を持つプロセスが存在しない。"
12494
12495 #. type: Plain text
12496 #: build/C/man2/tkill.2:90
12497 msgid ""
12498 "B<tkill>()  is supported since Linux 2.4.19 / 2.5.4.  B<tgkill>()  was added "
12499 "in Linux 2.5.75."
12500 msgstr ""
12501 "B<tkill>()  は Linux 2.4.19 / 2.5.4 以降でサポートされ、 B<tgkill>()  は "
12502 "Linux 2.5.75 で追加された。"
12503
12504 #. type: Plain text
12505 #: build/C/man2/tkill.2:96
12506 msgid ""
12507 "B<tkill>()  and B<tgkill>()  are Linux-specific and should not be used in "
12508 "programs that are intended to be portable."
12509 msgstr ""
12510 "B<tkill>()  と B<tgkill>()  は Linux 固有であり、 移植を想定したプログラムで"
12511 "は使用すべきではない。"
12512
12513 #. type: Plain text
12514 #: build/C/man2/tkill.2:102
12515 msgid ""
12516 "See the description of B<CLONE_THREAD> in B<clone>(2)  for an explanation of "
12517 "thread groups."
12518 msgstr ""
12519 "スレッド・グループの説明については B<clone>(2)  の B<CLONE_THREAD> の説明を参"
12520 "照のこと。"
12521
12522 #. type: Plain text
12523 #: build/C/man2/tkill.2:105
12524 msgid ""
12525 "Glibc does not provide wrappers for these system calls; call them using "
12526 "B<syscall>(2)."
12527 msgstr ""
12528 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
12529 "B<syscall>(2)  を使って呼び出すこと。"
12530
12531 #. type: Plain text
12532 #: build/C/man2/tkill.2:109
12533 msgid "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12534 msgstr "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12535
12536 #. type: TH
12537 #: build/C/man2/wait.2:50
12538 #, no-wrap
12539 msgid "WAIT"
12540 msgstr "WAIT"
12541
12542 #. type: Plain text
12543 #: build/C/man2/wait.2:53
12544 msgid "wait, waitpid, waitid - wait for process to change state"
12545 msgstr "wait, waitpid, waitid - プロセスの状態変化を待つ"
12546
12547 #. type: Plain text
12548 #: build/C/man2/wait.2:55
12549 msgid "B<#include E<lt>sys/types.hE<gt>>"
12550 msgstr "B<#include E<lt>sys/types.hE<gt>>"
12551
12552 #. type: Plain text
12553 #: build/C/man2/wait.2:57
12554 msgid "B<#include E<lt>sys/wait.hE<gt>>"
12555 msgstr "B<#include E<lt>sys/wait.hE<gt>>"
12556
12557 #. type: Plain text
12558 #: build/C/man2/wait.2:59
12559 msgid "B<pid_t wait(int *>I<status>B<);>"
12560 msgstr "B<pid_t wait(int *>I<status>B<);>"
12561
12562 #. type: Plain text
12563 #: build/C/man2/wait.2:61
12564 msgid ""
12565 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12566 msgstr ""
12567 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12568
12569 #. type: Plain text
12570 #: build/C/man2/wait.2:64
12571 msgid ""
12572 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12573 "int >I<options>B<);>"
12574 msgstr ""
12575 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12576 "int >I<options>B<);>"
12577
12578 #. type: Plain text
12579 #: build/C/man2/wait.2:73
12580 msgid "B<waitid>():"
12581 msgstr "B<waitid>():"
12582
12583 #. type: Plain text
12584 #: build/C/man2/wait.2:77
12585 msgid ""
12586 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12587 "_XOPEN_SOURCE_EXTENDED"
12588 msgstr ""
12589 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12590 "_XOPEN_SOURCE_EXTENDED"
12591
12592 #. type: Plain text
12593 #: build/C/man2/wait.2:92
12594 msgid ""
12595 "All of these system calls are used to wait for state changes in a child of "
12596 "the calling process, and obtain information about the child whose state has "
12597 "changed.  A state change is considered to be: the child terminated; the "
12598 "child was stopped by a signal; or the child was resumed by a signal.  In the "
12599 "case of a terminated child, performing a wait allows the system to release "
12600 "the resources associated with the child; if a wait is not performed, then "
12601 "the terminated child remains in a \"zombie\" state (see NOTES below)."
12602 msgstr ""
12603 "これらのシステムコールはいずれも、呼び出し元プロセスの子プロセスの 状態変化を"
12604 "待ち、状態が変化したその子プロセスの情報を取得するのに 使用される。 状態変化"
12605 "とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、 "
12606 "シグナルによる子プロセスの再開。 子プロセスが終了した場合は、wait を実行する"
12607 "ことで、 システムがその子プロセスに関連するリソースを解放できるようになる。 "
12608 "wait が実行されなかった場合には、終了した子プロセスは 「ゾンビ」状態で残り続"
12609 "ける (下記の注意の章を参照のこと)。"
12610
12611 #. type: Plain text
12612 #: build/C/man2/wait.2:104
12613 msgid ""
12614 "If a child has already changed state, then these calls return immediately.  "
12615 "Otherwise they block until either a child changes state or a signal handler "
12616 "interrupts the call (assuming that system calls are not automatically "
12617 "restarted using the B<SA_RESTART> flag of B<sigaction>(2)).  In the "
12618 "remainder of this page, a child whose state has changed and which has not "
12619 "yet been waited upon by one of these system calls is termed I<waitable>."
12620 msgstr ""
12621 "子プロセスの状態変化がすでに発生していた場合、これらのコールは すぐに復帰す"
12622 "る。それ以外の場合は、子プロセスの状態変化が起こるか、 シグナルハンドラにより"
12623 "システムコールが中断されるまで、 停止 (block) する (後者は、 B<sigaction>"
12624 "(2)  の B<SA_RESTART> フラグによりシステムコールが自動的に再スタートするよう"
12625 "になっていない 場合の動作である)。 以下の説明では、状態変化が起こったがこれら"
12626 "のシステムコールのいずれかに よって待たれていない子プロセスを I<waitable> (待"
12627 "ち可能) と呼ぶ。"
12628
12629 #. type: SS
12630 #: build/C/man2/wait.2:104
12631 #, no-wrap
12632 msgid "wait() and waitpid()"
12633 msgstr "wait() と waitpid()"
12634
12635 #. type: Plain text
12636 #: build/C/man2/wait.2:112
12637 msgid ""
12638 "The B<wait>()  system call suspends execution of the calling process until "
12639 "one of its children terminates.  The call I<wait(&status)> is equivalent to:"
12640 msgstr ""
12641 "B<wait>()  システムコールは、子プロセスのいずれかが終了するまで 呼び出し元の"
12642 "プロセスの実行を一時停止する。 呼び出し I<wait(&status)> は以下と等価である:"
12643
12644 #. type: Plain text
12645 #: build/C/man2/wait.2:115
12646 #, no-wrap
12647 msgid "    waitpid(-1, &status, 0);\n"
12648 msgstr "    waitpid(-1, &status, 0);\n"
12649
12650 #. type: Plain text
12651 #: build/C/man2/wait.2:129
12652 msgid ""
12653 "The B<waitpid>()  system call suspends execution of the calling process "
12654 "until a child specified by I<pid> argument has changed state.  By default, "
12655 "B<waitpid>()  waits only for terminated children, but this behavior is "
12656 "modifiable via the I<options> argument, as described below."
12657 msgstr ""
12658 "B<waitpid>()  システムコールは、 I<pid> 引き数で指定した子プロセスの状態変化"
12659 "が起こるまで、 呼び出し元のプロセスの実行を一時停止する。デフォルトでは、 "
12660 "B<waitpid>()  は子プロセスの終了だけを待つが、この動作は I<options> 引き数に"
12661 "より変更可能である。"
12662
12663 #. type: Plain text
12664 #: build/C/man2/wait.2:133
12665 msgid "The value of I<pid> can be:"
12666 msgstr "I<pid> に指定できる値は以下の通り:"
12667
12668 #. type: IP
12669 #: build/C/man2/wait.2:133
12670 #, no-wrap
12671 msgid "E<lt> -1"
12672 msgstr "E<lt> -1"
12673
12674 #. type: Plain text
12675 #: build/C/man2/wait.2:137
12676 msgid ""
12677 "meaning wait for any child process whose process group ID is equal to the "
12678 "absolute value of I<pid>."
12679 msgstr ""
12680 "プロセスグループID が I<pid> の絶対値に等しい子プロセスのいずれかが終了するま"
12681 "でを待つ。"
12682
12683 #. type: IP
12684 #: build/C/man2/wait.2:137
12685 #, no-wrap
12686 msgid "-1"
12687 msgstr "-1"
12688
12689 #. type: Plain text
12690 #: build/C/man2/wait.2:139
12691 msgid "meaning wait for any child process."
12692 msgstr "子プロセスのどれかが終了するまで待つ。"
12693
12694 #. type: IP
12695 #: build/C/man2/wait.2:139
12696 #, no-wrap
12697 msgid "0"
12698 msgstr "0"
12699
12700 #. type: Plain text
12701 #: build/C/man2/wait.2:142
12702 msgid ""
12703 "meaning wait for any child process whose process group ID is equal to that "
12704 "of the calling process."
12705 msgstr ""
12706 "プロセスグループID が呼び出したプロセスのものと等しい 子プロセスを待つ。"
12707
12708 #. type: IP
12709 #: build/C/man2/wait.2:142
12710 #, no-wrap
12711 msgid "E<gt> 0"
12712 msgstr "E<gt> 0"
12713
12714 #. type: Plain text
12715 #: build/C/man2/wait.2:146
12716 msgid ""
12717 "meaning wait for the child whose process ID is equal to the value of I<pid>."
12718 msgstr "プロセスID が I<pid> に等しい子プロセスを待つ。"
12719
12720 #. type: Plain text
12721 #: build/C/man2/wait.2:150
12722 msgid ""
12723 "The value of I<options> is an OR of zero or more of the following constants:"
12724 msgstr "I<options> の値は次の定数の 0 個以上の論理和である:"
12725
12726 #. type: TP
12727 #: build/C/man2/wait.2:150 build/C/man2/wait.2:279
12728 #, no-wrap
12729 msgid "B<WNOHANG>"
12730 msgstr "B<WNOHANG>"
12731
12732 #. type: Plain text
12733 #: build/C/man2/wait.2:153
12734 msgid "return immediately if no child has exited."
12735 msgstr "状態変化が起こった子プロセスがない場合にすぐに復帰する。"
12736
12737 #. type: TP
12738 #: build/C/man2/wait.2:153
12739 #, no-wrap
12740 msgid "B<WUNTRACED>"
12741 msgstr "B<WUNTRACED>"
12742
12743 #. type: Plain text
12744 #: build/C/man2/wait.2:162
12745 msgid ""
12746 "also return if a child has stopped (but not traced via B<ptrace>(2)).  "
12747 "Status for I<traced> children which have stopped is provided even if this "
12748 "option is not specified."
12749 msgstr ""
12750 "子プロセスが停止した場合にも復帰する (子プロセスが B<ptrace>(2)  でトレースさ"
12751 "れている場合は除く)。 このオプションが指定されていない場合でも、停止したプロ"
12752 "セスが 「トレース (traced)」されていれば、子プロセスの状態が報告される。"
12753
12754 #. type: TP
12755 #: build/C/man2/wait.2:162
12756 #, no-wrap
12757 msgid "B<WCONTINUED> (since Linux 2.6.10)"
12758 msgstr "B<WCONTINUED> (Linux 2.6.10 以降)"
12759
12760 #. type: Plain text
12761 #: build/C/man2/wait.2:166
12762 msgid ""
12763 "also return if a stopped child has been resumed by delivery of B<SIGCONT>."
12764 msgstr "停止した子プロセスが B<SIGCONT> の配送により再開した場合にも復帰する。"
12765
12766 #. type: Plain text
12767 #: build/C/man2/wait.2:168
12768 msgid "(For Linux-only options, see below.)"
12769 msgstr "(Linux 専用オプションについては後述する)"
12770
12771 #. type: Plain text
12772 #: build/C/man2/wait.2:182
12773 msgid ""
12774 "If I<status> is not NULL, B<wait>()  and B<waitpid>()  store status "
12775 "information in the I<int> to which it points.  This integer can be inspected "
12776 "with the following macros (which take the integer itself as an argument, not "
12777 "a pointer to it, as is done in B<wait>()  and B<waitpid>()!):"
12778 msgstr ""
12779 "I<status> が NULL でなければ、 B<wait>()  や B<waitpid>()  は I<status> で指"
12780 "す I<int> に状態情報を格納する。 この整数は以下のマクロを使って検査できる。 "
12781 "(これらのマクロの引き数には、 B<wait>()  や B<waitpid>()  が書き込んだ整数そ"
12782 "のものを指定する。ポインタではない!)"
12783
12784 #. type: TP
12785 #: build/C/man2/wait.2:182
12786 #, no-wrap
12787 msgid "B<WIFEXITED(>I<status>B<)>"
12788 msgstr "B<WIFEXITED(>I<status>B<)>"
12789
12790 #. type: Plain text
12791 #: build/C/man2/wait.2:190
12792 msgid ""
12793 "returns true if the child terminated normally, that is, by calling B<exit>"
12794 "(3)  or B<_exit>(2), or by returning from main()."
12795 msgstr ""
12796 "子プロセスが正常に終了した場合に真を返す。 「正常に」とは、 B<exit>(3)  か "
12797 "B<_exit>(2)  が呼び出された場合、もしくは main() から復帰した場合である。"
12798
12799 #. type: TP
12800 #: build/C/man2/wait.2:190
12801 #, no-wrap
12802 msgid "B<WEXITSTATUS(>I<status>B<)>"
12803 msgstr "B<WEXITSTATUS(>I<status>B<)>"
12804
12805 #. type: Plain text
12806 #: build/C/man2/wait.2:203
12807 msgid ""
12808 "returns the exit status of the child.  This consists of the least "
12809 "significant 8 bits of the I<status> argument that the child specified in a "
12810 "call to B<exit>(3)  or B<_exit>(2)  or as the argument for a return "
12811 "statement in main().  This macro should only be employed if B<WIFEXITED> "
12812 "returned true."
12813 msgstr ""
12814 "子プロセスの終了ステータスを返す。 終了ステータスは I<status> 引き数の下位 8"
12815 "ビットで構成されており、 B<exit>(3)  や B<_exit>(2)  の呼び出し時に渡された"
12816 "値、もしくは main() の return 文の 引き数として指定された値である。 このマク"
12817 "ロを使用するのは B<WIFEXITED> が真を返した場合だけにすべきである。"
12818
12819 #. type: TP
12820 #: build/C/man2/wait.2:203
12821 #, no-wrap
12822 msgid "B<WIFSIGNALED(>I<status>B<)>"
12823 msgstr "B<WIFSIGNALED(>I<status>B<)>"
12824
12825 #. type: Plain text
12826 #: build/C/man2/wait.2:206
12827 msgid "returns true if the child process was terminated by a signal."
12828 msgstr "子プロセスがシグナルにより終了した場合に真を返す。"
12829
12830 #. type: TP
12831 #: build/C/man2/wait.2:206
12832 #, no-wrap
12833 msgid "B<WTERMSIG(>I<status>B<)>"
12834 msgstr "B<WTERMSIG(>I<status>B<)>"
12835
12836 #. type: Plain text
12837 #: build/C/man2/wait.2:213
12838 msgid ""
12839 "returns the number of the signal that caused the child process to "
12840 "terminate.  This macro should only be employed if B<WIFSIGNALED> returned "
12841 "true."
12842 msgstr ""
12843 "子プロセス終了の原因となったシグナルの番号を返す。 このマクロを使用するのは "
12844 "B<WIFSIGNALED> が真を返した場合だけにすべきである。"
12845
12846 #. type: TP
12847 #: build/C/man2/wait.2:213
12848 #, no-wrap
12849 msgid "B<WCOREDUMP(>I<status>B<)>"
12850 msgstr "B<WCOREDUMP(>I<status>B<)>"
12851
12852 #. type: Plain text
12853 #: build/C/man2/wait.2:222
12854 msgid ""
12855 "returns true if the child produced a core dump.  This macro should only be "
12856 "employed if B<WIFSIGNALED> returned true.  This macro is not specified in "
12857 "POSIX.1-2001 and is not available on some UNIX implementations (e.g., AIX, "
12858 "SunOS).  Only use this enclosed in #ifdef WCOREDUMP ... #endif."
12859 msgstr ""
12860 "子プロセスがコアダンプを生成した場合に真を返す。 このマクロを使用するのは "
12861 "B<WIFSIGNALED> が真を返した場合だけにすべきである。 このマクロは "
12862 "POSIX.1-2001 では規定されておらず、 (AIX, SunOS などの) いくつかの UNIX の実"
12863 "装では利用できない。 必ず #ifdef WCOREDUMP ... #endif で括って使用すること。"
12864
12865 #. type: TP
12866 #: build/C/man2/wait.2:222
12867 #, no-wrap
12868 msgid "B<WIFSTOPPED(>I<status>B<)>"
12869 msgstr "B<WIFSTOPPED(>I<status>B<)>"
12870
12871 #. type: Plain text
12872 #: build/C/man2/wait.2:229
12873 msgid ""
12874 "returns true if the child process was stopped by delivery of a signal; this "
12875 "is only possible if the call was done using B<WUNTRACED> or when the child "
12876 "is being traced (see B<ptrace>(2))."
12877 msgstr ""
12878 "子プロセスがシグナルの配送により停止した場合に真を返す。 これが真になるのは、"
12879 "システムコールが B<WUNTRACED> を指定して呼び出された場合か、子プロセスがト"
12880 "レースされている場合 (B<ptrace>(2)  参照) だけである。"
12881
12882 #. type: TP
12883 #: build/C/man2/wait.2:229
12884 #, no-wrap
12885 msgid "B<WSTOPSIG(>I<status>B<)>"
12886 msgstr "B<WSTOPSIG(>I<status>B<)>"
12887
12888 #. type: Plain text
12889 #: build/C/man2/wait.2:235
12890 msgid ""
12891 "returns the number of the signal which caused the child to stop.  This macro "
12892 "should only be employed if B<WIFSTOPPED> returned true."
12893 msgstr ""
12894 "子プロセスを停止させたシグナルの番号を返す。 このマクロを使用するのは "
12895 "B<WIFSTOPPED> が 0 以外を返した場合だけにすべきである。"
12896
12897 #. type: TP
12898 #: build/C/man2/wait.2:235
12899 #, no-wrap
12900 msgid "B<WIFCONTINUED(>I<status>B<)>"
12901 msgstr "B<WIFCONTINUED(>I<status>B<)>"
12902
12903 #. type: Plain text
12904 #: build/C/man2/wait.2:240
12905 msgid ""
12906 "(since Linux 2.6.10)  returns true if the child process was resumed by "
12907 "delivery of B<SIGCONT>."
12908 msgstr ""
12909 "(Linux 2.6.10 以降)  子プロセスが B<SIGCONT> の配送により再開した場合に真を返"
12910 "す。"
12911
12912 #. type: SS
12913 #: build/C/man2/wait.2:240
12914 #, no-wrap
12915 msgid "waitid()"
12916 msgstr "waitid()"
12917
12918 #. type: Plain text
12919 #: build/C/man2/wait.2:245
12920 msgid ""
12921 "The B<waitid>()  system call (available since Linux 2.6.9) provides more "
12922 "precise control over which child state changes to wait for."
12923 msgstr ""
12924 "B<waitid>()  システムコール (Linux 2.6.9 以降で利用可能) を使うと、 子プロセ"
12925 "スのどの状態変化を待つかについてより細かな制御ができる。"
12926
12927 #. type: Plain text
12928 #: build/C/man2/wait.2:251
12929 msgid ""
12930 "The I<idtype> and I<id> arguments select the child(ren) to wait for, as "
12931 "follows:"
12932 msgstr "引き数 I<idtype> と I<id> でどの子プロセスを待つかを選択する:"
12933
12934 #. type: IP
12935 #: build/C/man2/wait.2:251
12936 #, no-wrap
12937 msgid "I<idtype> == B<P_PID>"
12938 msgstr "I<idtype> == B<P_PID>"
12939
12940 #. type: Plain text
12941 #: build/C/man2/wait.2:254
12942 msgid "Wait for the child whose process ID matches I<id>."
12943 msgstr "プロセスID が I<id> と一致する子プロセスを待つ。"
12944
12945 #. type: IP
12946 #: build/C/man2/wait.2:254
12947 #, no-wrap
12948 msgid "I<idtype> == B<P_PGID>"
12949 msgstr "I<idtype> == B<P_PGID>"
12950
12951 #. type: Plain text
12952 #: build/C/man2/wait.2:257
12953 msgid "Wait for any child whose process group ID matches I<id>."
12954 msgstr "プロセスグループID が I<id> と一致する子プロセスを待つ。"
12955
12956 #. type: IP
12957 #: build/C/man2/wait.2:257
12958 #, no-wrap
12959 msgid "I<idtype> == B<P_ALL>"
12960 msgstr "I<idtype> == B<P_ALL>"
12961
12962 #. type: Plain text
12963 #: build/C/man2/wait.2:261
12964 msgid "Wait for any child; I<id> is ignored."
12965 msgstr "子プロセス全部を対象に待つ。 I<id> は無視される。"
12966
12967 #. type: Plain text
12968 #: build/C/man2/wait.2:265
12969 msgid ""
12970 "The child state changes to wait for are specified by ORing one or more of "
12971 "the following flags in I<options>:"
12972 msgstr ""
12973 "子プロセスのどの状態変化を待つかは以下のフラグで指定する (I<options> には 1個"
12974 "以上のフラグの論理和をとって指定する):"
12975
12976 #. type: TP
12977 #: build/C/man2/wait.2:265
12978 #, no-wrap
12979 msgid "B<WEXITED>"
12980 msgstr "B<WEXITED>"
12981
12982 #. type: Plain text
12983 #: build/C/man2/wait.2:268
12984 msgid "Wait for children that have terminated."
12985 msgstr "子プロセスの終了を待つ。"
12986
12987 #. type: TP
12988 #: build/C/man2/wait.2:268
12989 #, no-wrap
12990 msgid "B<WSTOPPED>"
12991 msgstr "B<WSTOPPED>"
12992
12993 #. type: Plain text
12994 #: build/C/man2/wait.2:271
12995 msgid "Wait for children that have been stopped by delivery of a signal."
12996 msgstr "子プロセスがシグナルの配送により停止するのを待つ。"
12997
12998 #. type: TP
12999 #: build/C/man2/wait.2:271
13000 #, no-wrap
13001 msgid "B<WCONTINUED>"
13002 msgstr "B<WCONTINUED>"
13003
13004 #. type: Plain text
13005 #: build/C/man2/wait.2:276
13006 msgid ""
13007 "Wait for (previously stopped) children that have been resumed by delivery of "
13008 "B<SIGCONT>."
13009 msgstr "(停止していた) 子プロセスが B<SIGCONT> が配送されて再開するのを待つ。"
13010
13011 #. type: Plain text
13012 #: build/C/man2/wait.2:279
13013 msgid "The following flags may additionally be ORed in I<options>:"
13014 msgstr "さらに以下のフラグを論理和の形で I<options> に指定できる:"
13015
13016 #. type: Plain text
13017 #: build/C/man2/wait.2:283
13018 msgid "As for B<waitpid>()."
13019 msgstr "B<waitpid>()  と同様。"
13020
13021 #. type: TP
13022 #: build/C/man2/wait.2:283
13023 #, no-wrap
13024 msgid "B<WNOWAIT>"
13025 msgstr "B<WNOWAIT>"
13026
13027 #. type: Plain text
13028 #: build/C/man2/wait.2:287
13029 msgid ""
13030 "Leave the child in a waitable state; a later wait call can be used to again "
13031 "retrieve the child status information."
13032 msgstr ""
13033 "waitable 状態のプロセスをそのままにする。この後で wait コールを 使って、同じ"
13034 "子プロセスの状態情報をもう一度取得することができる。"
13035
13036 #. type: Plain text
13037 #: build/C/man2/wait.2:294
13038 msgid ""
13039 "Upon successful return, B<waitid>()  fills in the following fields of the "
13040 "I<siginfo_t> structure pointed to by I<infop>:"
13041 msgstr ""
13042 "成功した場合には、 B<waitid>()  は I<infop> が指す I<siginfo_t> 構造体の以下"
13043 "のフィールドを設定する:"
13044
13045 #. type: Plain text
13046 #: build/C/man2/wait.2:297
13047 msgid "The process ID of the child."
13048 msgstr "子プロセスのプロセスID。"
13049
13050 #. type: Plain text
13051 #: build/C/man2/wait.2:301
13052 msgid ""
13053 "The real user ID of the child.  (This field is not set on most other "
13054 "implementations.)"
13055 msgstr ""
13056 "子プロセスの実ユーザID (このフィールドは他のほとんどの実装では設定されない)。"
13057
13058 #. type: Plain text
13059 #: build/C/man2/wait.2:305
13060 msgid "Always set to B<SIGCHLD>."
13061 msgstr "常に B<SIGCHLD> が設定される。"
13062
13063 #. type: TP
13064 #: build/C/man2/wait.2:305
13065 #, no-wrap
13066 msgid "I<si_status>"
13067 msgstr "I<si_status>"
13068
13069 #. type: Plain text
13070 #: build/C/man2/wait.2:315
13071 msgid ""
13072 "Either the exit status of the child, as given to B<_exit>(2)  (or B<exit>"
13073 "(3)), or the signal that caused the child to terminate, stop, or continue.  "
13074 "The I<si_code> field can be used to determine how to interpret this field."
13075 msgstr ""
13076 "B<_exit>(2)  (か B<exit>(3))  に指定された子プロセスの終了ステータス、もしく"
13077 "は 子プロセスの終了、停止、再開の原因となったシグナルが設定される。 この"
13078 "フィールドをどう解釈するかは、 I<si_code> フィールドを参照して決めることがで"
13079 "きる。"
13080
13081 #. type: Plain text
13082 #: build/C/man2/wait.2:332
13083 msgid ""
13084 "Set to one of: B<CLD_EXITED> (child called B<_exit>(2)); B<CLD_KILLED> "
13085 "(child killed by signal); B<CLD_DUMPED> (child killed by signal, and dumped "
13086 "core); B<CLD_STOPPED> (child stopped by signal); B<CLD_TRAPPED> (traced "
13087 "child has trapped); or B<CLD_CONTINUED> (child continued by B<SIGCONT>)."
13088 msgstr ""
13089 "以下のいずれかが設定される: B<CLD_EXITED> (子プロセスが B<_exit>(2)  を呼び出"
13090 "した); B<CLD_KILLED> (シグナルにより子プロセスが kill された); B<CLD_DUMPED> "
13091 "(シグナルにより子プロセスが kill され、コア・ダンプが行われた); "
13092 "B<CLD_STOPPED> (シグナルにより子プロセスが停止した); B<CLD_TRAPPED> (トレース"
13093 "されていた子プロセスがトラップを受信した); B<CLD_CONTINUED> (B<SIGCONT> によ"
13094 "り子プロセスが再開された)。"
13095
13096 #.  POSIX.1-2001 leaves this possibility unspecified; most
13097 #.  implementations (including Linux) zero out the structure
13098 #.  in this case, but at least one implementation (AIX 5.1)
13099 #.  does not -- MTK Nov 04
13100 #. type: Plain text
13101 #: build/C/man2/wait.2:354
13102 msgid ""
13103 "If B<WNOHANG> was specified in I<options> and there were no children in a "
13104 "waitable state, then B<waitid>()  returns 0 immediately and the state of the "
13105 "I<siginfo_t> structure pointed to by I<infop> is unspecified.  To "
13106 "distinguish this case from that where a child was in a waitable state, zero "
13107 "out the I<si_pid> field before the call and check for a nonzero value in "
13108 "this field after the call returns."
13109 msgstr ""
13110 "B<WNOHANG> が I<options> に指定されていて、 waitable 状態の子プロセスがなかっ"
13111 "た場合には、 B<waitid>()  はすぐに 0 を返す。このとき、 I<infop> が指す "
13112 "I<siginfo_t> 構造体の内容は不定である。 この場合を waitable 状態の子プロセス"
13113 "があった場合と区別するには、 B<waitid>()  を呼び出す前に I<si_pid> を 0 にし"
13114 "ておき、コールが復帰した後でこのフィールドが 0 以外の値かどうか をチェックす"
13115 "ればよい。"
13116
13117 #. type: Plain text
13118 #: build/C/man2/wait.2:358
13119 msgid ""
13120 "B<wait>(): on success, returns the process ID of the terminated child; on "
13121 "error, -1 is returned."
13122 msgstr ""
13123 "B<wait>(): 成功すると、終了した子プロセスのプロセスID を返す。 エラーの場合 "
13124 "-1 を返す。"
13125
13126 #. type: Plain text
13127 #: build/C/man2/wait.2:367
13128 msgid ""
13129 "B<waitpid>(): on success, returns the process ID of the child whose state "
13130 "has changed; if B<WNOHANG> was specified and one or more child(ren) "
13131 "specified by I<pid> exist, but have not yet changed state, then 0 is "
13132 "returned.  On error, -1 is returned."
13133 msgstr ""
13134 "B<waitpid>(): 成功すると、状態が変化した子プロセスのプロセスID を返す。 "
13135 "B<WNOHANG> が指定されていて、 I<pid> で指示された子プロセスが一つ以上存在する"
13136 "が、どの子プロセスでも 状態変化が起こっていなかった場合は、 0 を返す。 エラー"
13137 "の場合 -1 を返す。"
13138
13139 #.  FIXME: As reported by Vegard Nossum, if infop is NULL, then waitid()
13140 #.  returns the PID of the child.  Either this is a bug, or it is intended
13141 #.  behavior that needs to be documented.  See my Jan 2009 LKML mail
13142 #.  "waitid() return value strangeness when infop is NULL".
13143 #. type: Plain text
13144 #: build/C/man2/wait.2:383
13145 msgid ""
13146 "B<waitid>(): returns 0 on success or if B<WNOHANG> was specified and no child"
13147 "(ren) specified by I<id> has yet changed state; on error, -1 is returned.  "
13148 "Each of these calls sets I<errno> to an appropriate value in the case of an "
13149 "error."
13150 msgstr ""
13151 "B<waitid>(): 成功すると 0 を返す。 B<WNOHANG> が指定されていて、 I<pid> で指"
13152 "示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。 エラーの"
13153 "場合 -1 を返す。 エラーの場合、これらのシステムコールはいずれも I<errno> に適"
13154 "切な値を設定する。"
13155
13156 #. type: TP
13157 #: build/C/man2/wait.2:384 build/C/man2/wait.2:389
13158 #, no-wrap
13159 msgid "B<ECHILD>"
13160 msgstr "B<ECHILD>"
13161
13162 #. type: Plain text
13163 #: build/C/man2/wait.2:389
13164 msgid ""
13165 "(for B<wait>())  The calling process does not have any unwaited-for children."
13166 msgstr ""
13167 "(B<wait>()  の場合)  呼び出し元プロセスには、wait を行っていない子プロセスは"
13168 "ない。"
13169
13170 #. type: Plain text
13171 #: build/C/man2/wait.2:409
13172 msgid ""
13173 "(for B<waitpid>()  or B<waitid>())  The process specified by I<pid> "
13174 "(B<waitpid>())  or I<idtype> and I<id> (B<waitid>())  does not exist or is "
13175 "not a child of the calling process.  (This can happen for one's own child if "
13176 "the action for B<SIGCHLD> is set to B<SIG_IGN>.  See also the I<Linux Notes> "
13177 "section about threads.)"
13178 msgstr ""
13179 "(B<waitpid>()  か B<waitid>()  の場合)  I<pid> (B<waitpid>())  か I<idtype> "
13180 "と I<id> (B<waitid>())  で指定したプロセスが存在しないか、呼び出し元プロセス"
13181 "の子プロセスでない (B<SIGCHLD> の動作に B<SIG_IGN> を設定した場合には、自分自"
13182 "身の子プロセスでも起こりうる。 スレッドに関しては「Linux での注意」の節も参照"
13183 "すること)。"
13184
13185 #. type: Plain text
13186 #: build/C/man2/wait.2:416
13187 msgid ""
13188 "B<WNOHANG> was not set and an unblocked signal or a B<SIGCHLD> was caught; "
13189 "see B<signal>(7)."
13190 msgstr ""
13191 "B<WNOHANG> が設定されておらず、禁止 (block) されていないシグナルや "
13192 "B<SIGCHLD> を受信した。 B<signal>(7)  参照。"
13193
13194 #. type: Plain text
13195 #: build/C/man2/wait.2:421
13196 msgid "The I<options> argument was invalid."
13197 msgstr "I<options> 引き数が不正である。"
13198
13199 #. type: Plain text
13200 #: build/C/man2/wait.2:436
13201 msgid ""
13202 "A child that terminates, but has not been waited for becomes a \"zombie\".  "
13203 "The kernel maintains a minimal set of information about the zombie process "
13204 "(PID, termination status, resource usage information)  in order to allow the "
13205 "parent to later perform a wait to obtain information about the child.  As "
13206 "long as a zombie is not removed from the system via a wait, it will consume "
13207 "a slot in the kernel process table, and if this table fills, it will not be "
13208 "possible to create further processes.  If a parent process terminates, then "
13209 "its \"zombie\" children (if any)  are adopted by B<init>(8), which "
13210 "automatically performs a wait to remove the zombies."
13211 msgstr ""
13212 "終了したが、wait されていない子プロセスは「ゾンビ」になる。 後で親プロセスが "
13213 "wait を実行して子プロセスについての情報を取得できるように、 カーネルはゾンビ"
13214 "プロセスについて最小限の情報 (PID、終了ステータス、 リソース使用状況) を保持"
13215 "する。 ゾンビプロセスは、 wait によってシステムから削除されない限り、 カーネ"
13216 "ルのプロセステーブルの 1 エントリを消費する。このプロセステーブルが 一杯にな"
13217 "ると、新たにプロセスを作ることができなくなる。 親プロセスが終了すると、その親"
13218 "プロセスの「ゾンビ」の 子プロセスは (もしあれば)  B<init>(8)  の養子となる。 "
13219 "B<init>(8)  は wait を自動的に実行し、ゾンビを削除する。"
13220
13221 #. type: Plain text
13222 #: build/C/man2/wait.2:477
13223 msgid ""
13224 "POSIX.1-2001 specifies that if the disposition of B<SIGCHLD> is set to "
13225 "B<SIG_IGN> or the B<SA_NOCLDWAIT> flag is set for B<SIGCHLD> (see "
13226 "B<sigaction>(2)), then children that terminate do not become zombies and a "
13227 "call to B<wait>()  or B<waitpid>()  will block until all children have "
13228 "terminated, and then fail with I<errno> set to B<ECHILD>.  (The original "
13229 "POSIX standard left the behavior of setting B<SIGCHLD> to B<SIG_IGN> "
13230 "unspecified.  Note that even though the default disposition of B<SIGCHLD> is "
13231 "\"ignore\", explicitly setting the disposition to B<SIG_IGN> results in "
13232 "different treatment of zombie process children.)  Linux 2.6 conforms to this "
13233 "specification.  However, Linux 2.4 (and earlier) does not: if a B<wait>()  "
13234 "or B<waitpid>()  call is made while B<SIGCHLD> is being ignored, the call "
13235 "behaves just as though B<SIGCHLD> were not being ignored, that is, the call "
13236 "blocks until the next child terminates and then returns the process ID and "
13237 "status of that child."
13238 msgstr ""
13239 "POSIX.1-2001 では以下のように規定されている。 B<SIGCHLD> の動作が B<SIG_IGN> "
13240 "に設定されたか、 B<SIGCHLD> に対して B<SA_NOCLDWAIT> フラグが設定された場合 "
13241 "(B<sigaction>(2)  参照)、終了した子プロセスはゾンビにはならず、 B<wait>()  "
13242 "や B<waitpid>()  の呼び出しは全ての子プロセスが終了するまで停止し、 子プロセ"
13243 "スが全部終了した後 I<errno> に B<ECHILD> を設定して失敗する。 (もともとの "
13244 "POSIX 標準は B<SIGCHLD> に B<SIG_IGN> を設定した場合の振る舞いを未規定のまま"
13245 "にしている。 B<SIGCHLD> のデフォルトの動作が「無視」であるにもかかわらず、 "
13246 "B<SIGCHLD> の動作として B<SIG_IGN> を明示的に設定した場合にはゾンビプロセスの"
13247 "子プロセスの扱いが 異なる点に注意すること。)  Linux 2.6 はこの仕様に準拠して"
13248 "いる。 しかし、Linux 2.4 (とそれ以前のバージョン) はそうではない: B<SIGCHLD> "
13249 "が無視される状態で B<wait>()  または B<waitpid>()  が呼び出された場合、 "
13250 "B<SIGCHLD> が無視されていないかのように振る舞う。 つまり、呼び出しによって次"
13251 "の子プロセスの終了までブロックされ、 終了した子プロセスの PID と状態が返され"
13252 "る。"
13253
13254 #. type: Plain text
13255 #: build/C/man2/wait.2:493
13256 msgid ""
13257 "In the Linux kernel, a kernel-scheduled thread is not a distinct construct "
13258 "from a process.  Instead, a thread is simply a process that is created using "
13259 "the Linux-unique B<clone>(2)  system call; other routines such as the "
13260 "portable B<pthread_create>(3)  call are implemented using B<clone>(2).  "
13261 "Before Linux 2.4, a thread was just a special case of a process, and as a "
13262 "consequence one thread could not wait on the children of another thread, "
13263 "even when the latter belongs to the same thread group.  However, POSIX "
13264 "prescribes such functionality, and since Linux 2.4 a thread can, and by "
13265 "default will, wait on children of other threads in the same thread group."
13266 msgstr ""
13267 "Linux カーネルでは、カーネルによってスケジュールされるスレッドは プロセスと明"
13268 "確に区別できる構成要素ではない。スレッドは Linux 固有の B<clone>(2)  システム"
13269 "コールを使用して生成されるプロセスに過ぎない。 移植性のある B<pthread_create>"
13270 "(3)  コールのような他のルーチンは B<clone>(2)  を使用して実装されている; これ"
13271 "らでは B<waitid>()  を使うことはできない。 Linux 2.4 より前では、スレッドは単"
13272 "に特殊なプロセスであったので、 例え同じスレッドグループであっても、 あるス"
13273 "レッドが別のスレッドの子プロセスが終了するのを待つことは出来なかった。 しか"
13274 "し、POSIX ではこのような機能を規定しており、 Linux 2.4 以降では、あるスレッド"
13275 "が同じスレッドグループの他のスレッドの 子プロセスが終了するのを待つことができ"
13276 "るようになった。 そして将来はこれがデフォルトの動作になるであろう。"
13277
13278 #. type: Plain text
13279 #: build/C/man2/wait.2:500
13280 msgid ""
13281 "The following Linux-specific I<options> are for use with children created "
13282 "using B<clone>(2); they cannot be used with B<waitid>():"
13283 msgstr ""
13284 "B<clone>(2)  を用いて作られた子プロセスには、以下の Linux 固有の I<options> "
13285 "が使用できる。"
13286
13287 #. type: TP
13288 #: build/C/man2/wait.2:500
13289 #, no-wrap
13290 msgid "B<__WCLONE>"
13291 msgstr "B<__WCLONE>"
13292
13293 #.  since 0.99pl10
13294 #. type: Plain text
13295 #: build/C/man2/wait.2:511
13296 msgid ""
13297 "Wait for \"clone\" children only.  If omitted then wait for \"non-clone\" "
13298 "children only.  (A \"clone\" child is one which delivers no signal, or a "
13299 "signal other than B<SIGCHLD> to its parent upon termination.)  This option "
13300 "is ignored if B<__WALL> is also specified."
13301 msgstr ""
13302 "\"clone\" な子プロセスだけを待つ。 指定されなかった場合は非 \"clone\" な子プ"
13303 "ロセスだけを待つ (\"clone\" な子プロセスは、終了時に親プロセスへ全くシグナル"
13304 "を送らないか、 B<SIGCHLD> 以外のシグナルを送る)。 このオプションは B<__WALL> "
13305 "も指定された場合は無視される。"
13306
13307 #. type: TP
13308 #: build/C/man2/wait.2:511
13309 #, no-wrap
13310 msgid "B<__WALL> (since Linux 2.4)"
13311 msgstr "B<__WALL> (Linux 2.4 以降)"
13312
13313 #.  since patch-2.3.48
13314 #. type: Plain text
13315 #: build/C/man2/wait.2:516
13316 msgid "Wait for all children, regardless of type (\"clone\" or \"non-clone\")."
13317 msgstr "\"clone\" であるかないかに関わらず、 全ての子プロセスを待つ。"
13318
13319 #. type: TP
13320 #: build/C/man2/wait.2:516
13321 #, no-wrap
13322 msgid "B<__WNOTHREAD> (since Linux 2.4)"
13323 msgstr "B<__WNOTHREAD> (Linux 2.4 以降)"
13324
13325 #.  since patch-2.4.0-test8
13326 #. type: Plain text
13327 #: build/C/man2/wait.2:522
13328 msgid ""
13329 "Do not wait for children of other threads in the same thread group.  This "
13330 "was the default before Linux 2.4."
13331 msgstr ""
13332 "同じスレッドグループの他のスレッドの子プロセスは待たない。 Linux 2.4 より前で"
13333 "はデフォルトであった。"
13334
13335 #.  fork.2 refers to this example program.
13336 #. type: Plain text
13337 #: build/C/man2/wait.2:539
13338 msgid ""
13339 "The following program demonstrates the use of B<fork>(2)  and B<waitpid>().  "
13340 "The program creates a child process.  If no command-line argument is "
13341 "supplied to the program, then the child suspends its execution using B<pause>"
13342 "(2), to allow the user to send signals to the child.  Otherwise, if a "
13343 "command-line argument is supplied, then the child exits immediately, using "
13344 "the integer supplied on the command line as the exit status.  The parent "
13345 "process executes a loop that monitors the child using B<waitpid>(), and uses "
13346 "the W*() macros described above to analyze the wait status value."
13347 msgstr ""
13348 "以下のプログラムは、 B<fork>(2)  と B<waitpid>()  の使用方法の例を示してい"
13349 "る。 このプログラムでは子プロセスを生成する。 コマンドライン引き数が指定され"
13350 "なかったときは、 子プロセスは B<pause>(2)  を使ってその実行を一時停止し、ユー"
13351 "ザがその子プロセスに シグナルを送信できるようにする。 コマンドライン引き数が"
13352 "指定された場合は、 子プロセスは直ちに終了し、 コマンドラインで指定された整数"
13353 "を終了ステータスとして使用する。 親プロセスは、 B<waitpid>()  を使って子プロ"
13354 "セスを監視し、 wait のステータス値を上記の W*() マクロを使って解析するという "
13355 "ループを実行する。"
13356
13357 #. type: Plain text
13358 #: build/C/man2/wait.2:555
13359 #, no-wrap
13360 msgid ""
13361 "$B< ./a.out &>\n"
13362 "Child PID is 32360\n"
13363 "[1] 32359\n"
13364 "$B< kill -STOP 32360>\n"
13365 "stopped by signal 19\n"
13366 "$B< kill -CONT 32360>\n"
13367 "continued\n"
13368 "$B< kill -TERM 32360>\n"
13369 "killed by signal 15\n"
13370 "[1]+  Done                    ./a.out\n"
13371 "$\n"
13372 msgstr ""
13373 "$B< ./a.out &>\n"
13374 "Child PID is 32360\n"
13375 "[1] 32359\n"
13376 "$B< kill -STOP 32360>\n"
13377 "stopped by signal 19\n"
13378 "$B< kill -CONT 32360>\n"
13379 "continued\n"
13380 "$B< kill -TERM 32360>\n"
13381 "killed by signal 15\n"
13382 "[1]+  Done                    ./a.out\n"
13383 "$\n"
13384
13385 #. type: Plain text
13386 #: build/C/man2/wait.2:564
13387 #, no-wrap
13388 msgid ""
13389 "#include E<lt>sys/wait.hE<gt>\n"
13390 "#include E<lt>stdlib.hE<gt>\n"
13391 "#include E<lt>unistd.hE<gt>\n"
13392 "#include E<lt>stdio.hE<gt>\n"
13393 msgstr ""
13394 "#include E<lt>sys/wait.hE<gt>\n"
13395 "#include E<lt>stdlib.hE<gt>\n"
13396 "#include E<lt>unistd.hE<gt>\n"
13397 "#include E<lt>stdio.hE<gt>\n"
13398
13399 #. type: Plain text
13400 #: build/C/man2/wait.2:570
13401 #, no-wrap
13402 msgid ""
13403 "int\n"
13404 "main(int argc, char *argv[])\n"
13405 "{\n"
13406 "    pid_t cpid, w;\n"
13407 "    int status;\n"
13408 msgstr ""
13409 "int\n"
13410 "main(int argc, char *argv[])\n"
13411 "{\n"
13412 "    pid_t cpid, w;\n"
13413 "    int status;\n"
13414
13415 #. type: Plain text
13416 #: build/C/man2/wait.2:576
13417 #, no-wrap
13418 msgid ""
13419 "    cpid = fork();\n"
13420 "    if (cpid == -1) {\n"
13421 "        perror(\"fork\");\n"
13422 "        exit(EXIT_FAILURE);\n"
13423 "    }\n"
13424 msgstr ""
13425 "    cpid = fork();\n"
13426 "    if (cpid == -1) {\n"
13427 "        perror(\"fork\");\n"
13428 "        exit(EXIT_FAILURE);\n"
13429 "    }\n"
13430
13431 #. type: Plain text
13432 #: build/C/man2/wait.2:582
13433 #, no-wrap
13434 msgid ""
13435 "    if (cpid == 0) {            /* Code executed by child */\n"
13436 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13437 "        if (argc == 1)\n"
13438 "            pause();                    /* Wait for signals */\n"
13439 "        _exit(atoi(argv[1]));\n"
13440 msgstr ""
13441 "    if (cpid == 0) {            /* Code executed by child */\n"
13442 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13443 "        if (argc == 1)\n"
13444 "            pause();                    /* Wait for signals */\n"
13445 "        _exit(atoi(argv[1]));\n"
13446
13447 #. type: Plain text
13448 #: build/C/man2/wait.2:590
13449 #, no-wrap
13450 msgid ""
13451 "    } else {                    /* Code executed by parent */\n"
13452 "        do {\n"
13453 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13454 "            if (w == -1) {\n"
13455 "                perror(\"waitpid\");\n"
13456 "                exit(EXIT_FAILURE);\n"
13457 "            }\n"
13458 msgstr ""
13459 "    } else {                    /* Code executed by parent */\n"
13460 "        do {\n"
13461 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13462 "            if (w == -1) {\n"
13463 "                perror(\"waitpid\");\n"
13464 "                exit(EXIT_FAILURE);\n"
13465 "            }\n"
13466
13467 #. type: Plain text
13468 #: build/C/man2/wait.2:604
13469 #, no-wrap
13470 msgid ""
13471 "            if (WIFEXITED(status)) {\n"
13472 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13473 "            } else if (WIFSIGNALED(status)) {\n"
13474 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13475 "            } else if (WIFSTOPPED(status)) {\n"
13476 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13477 "            } else if (WIFCONTINUED(status)) {\n"
13478 "                printf(\"continued\\en\");\n"
13479 "            }\n"
13480 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13481 "        exit(EXIT_SUCCESS);\n"
13482 "    }\n"
13483 "}\n"
13484 msgstr ""
13485 "            if (WIFEXITED(status)) {\n"
13486 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13487 "            } else if (WIFSIGNALED(status)) {\n"
13488 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13489 "            } else if (WIFSTOPPED(status)) {\n"
13490 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13491 "            } else if (WIFCONTINUED(status)) {\n"
13492 "                printf(\"continued\\en\");\n"
13493 "            }\n"
13494 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13495 "        exit(EXIT_SUCCESS);\n"
13496 "    }\n"
13497 "}\n"
13498
13499 #. type: Plain text
13500 #: build/C/man2/wait.2:616
13501 msgid ""
13502 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13503 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13504 "B<signal>(7)"
13505 msgstr ""
13506 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13507 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13508 "B<signal>(7)"
13509
13510 #. type: TH
13511 #: build/C/man2/wait4.2:34
13512 #, no-wrap
13513 msgid "WAIT4"
13514 msgstr "WAIT4"
13515
13516 #. type: Plain text
13517 #: build/C/man2/wait4.2:37
13518 msgid "wait3, wait4 - wait for process to change state, BSD style"
13519 msgstr "wait3, wait4 - BSD スタイルでプロセスの状態変化を待つ"
13520
13521 #. type: Plain text
13522 #: build/C/man2/wait4.2:43
13523 #, no-wrap
13524 msgid ""
13525 "B<#include E<lt>sys/types.hE<gt>>\n"
13526 "B<#include E<lt>sys/time.hE<gt>>\n"
13527 "B<#include E<lt>sys/resource.hE<gt>>\n"
13528 "B<#include E<lt>sys/wait.hE<gt>>\n"
13529 msgstr ""
13530 "B<#include E<lt>sys/types.hE<gt>>\n"
13531 "B<#include E<lt>sys/time.hE<gt>>\n"
13532 "B<#include E<lt>sys/resource.hE<gt>>\n"
13533 "B<#include E<lt>sys/wait.hE<gt>>\n"
13534
13535 #. type: Plain text
13536 #: build/C/man2/wait4.2:46
13537 #, no-wrap
13538 msgid ""
13539 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13540 "B<            struct rusage *>I<rusage>B<);>\n"
13541 msgstr ""
13542 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13543 "B<            struct rusage *>I<rusage>B<);>\n"
13544
13545 #. type: Plain text
13546 #: build/C/man2/wait4.2:49
13547 #, no-wrap
13548 msgid ""
13549 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13550 "B<            struct rusage *>I<rusage>B<);>\n"
13551 msgstr ""
13552 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13553 "B<            struct rusage *>I<rusage>B<);>\n"
13554
13555 #. type: Plain text
13556 #: build/C/man2/wait4.2:58
13557 msgid "B<wait3>():"
13558 msgstr "B<wait3>():"
13559
13560 #. type: Plain text
13561 #: build/C/man2/wait4.2:64
13562 msgid "B<wait4>():"
13563 msgstr "B<wait4>():"
13564
13565 #. type: Plain text
13566 #: build/C/man2/wait4.2:66
13567 msgid "_BSD_SOURCE"
13568 msgstr "_BSD_SOURCE"
13569
13570 #. type: Plain text
13571 #: build/C/man2/wait4.2:78
13572 msgid ""
13573 "The B<wait3>()  and B<wait4>()  system calls are similar to B<waitpid>(2), "
13574 "but additionally return resource usage information about the child in the "
13575 "structure pointed to by I<rusage>."
13576 msgstr ""
13577 "システムコール B<wait3>()  と B<wait4>()  は B<waitpid>(2)  と同様の動作をす"
13578 "る。それに加え、子プロセスのリソース使用状況の情報を I<rusage> が指す構造体に"
13579 "入れて返す。"
13580
13581 #. type: Plain text
13582 #: build/C/man2/wait4.2:84
13583 msgid ""
13584 "Other than the use of the I<rusage> argument, the following B<wait3>()  call:"
13585 msgstr "I<rusage> を使用する点を除けば、次の B<wait3>()  の呼び出し"
13586
13587 #. type: Plain text
13588 #: build/C/man2/wait4.2:87
13589 #, no-wrap
13590 msgid "    wait3(status, options, rusage);\n"
13591 msgstr "    wait3(status, options, rusage);\n"
13592
13593 #. type: Plain text
13594 #: build/C/man2/wait4.2:90 build/C/man2/wait4.2:104
13595 msgid "is equivalent to:"
13596 msgstr "は以下と等価である。"
13597
13598 #. type: Plain text
13599 #: build/C/man2/wait4.2:93
13600 #, no-wrap
13601 msgid "    waitpid(-1, status, options);\n"
13602 msgstr "    waitpid(-1, status, options);\n"
13603
13604 #. type: Plain text
13605 #: build/C/man2/wait4.2:98
13606 msgid "Similarly, the following B<wait4>()  call:"
13607 msgstr "同様に、次の B<wait4>()  の呼び出し"
13608
13609 #. type: Plain text
13610 #: build/C/man2/wait4.2:101
13611 #, no-wrap
13612 msgid "    wait4(pid, status, options, rusage);\n"
13613 msgstr "    wait4(pid, status, options, rusage);\n"
13614
13615 #. type: Plain text
13616 #: build/C/man2/wait4.2:107
13617 #, no-wrap
13618 msgid "    waitpid(pid, status, options);\n"
13619 msgstr "    waitpid(pid, status, options);\n"
13620
13621 #. type: Plain text
13622 #: build/C/man2/wait4.2:117
13623 msgid ""
13624 "In other words, B<wait3>()  waits of any child, while B<wait4>()  can be "
13625 "used to select a specific child, or children, on which to wait.  See B<wait>"
13626 "(2)  for further details."
13627 msgstr ""
13628 "言い換えると、 B<wait3>()  は全ての子プロセスを対象に待つが、 B<wait4>()  で"
13629 "は特定の子プロセス (複数可) を選んで待つことができる。"
13630
13631 #. type: Plain text
13632 #: build/C/man2/wait4.2:127
13633 msgid ""
13634 "If I<rusage> is not NULL, the I<struct rusage> to which it points will be "
13635 "filled with accounting information about the child.  See B<getrusage>(2)  "
13636 "for details."
13637 msgstr ""
13638 "I<rusage> が NULL でない場合、 I<rusage> が指す I<rusage 構造体> には子プロセ"
13639 "スのアカウント情報が格納される。 詳しくは B<getrusage>(2)  を参照のこと。"
13640
13641 #. type: Plain text
13642 #: build/C/man2/wait4.2:130 build/C/man2/wait4.2:133
13643 msgid "As for B<waitpid>(2)."
13644 msgstr "B<waitpid>(2)  と同様。"
13645
13646 #. type: Plain text
13647 #: build/C/man2/wait4.2:135
13648 msgid "4.3BSD."
13649 msgstr "4.3BSD."
13650
13651 #. type: Plain text
13652 #: build/C/man2/wait4.2:147
13653 msgid ""
13654 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
13655 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
13656 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
13657 "hE<gt>>.)"
13658 msgstr ""
13659 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
13660 "しておくと 移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> "
13661 "で I<rusage> 構造体が定義されているが、そのフィールドで使用されている "
13662 "I<struct timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
13663
13664 #. type: Plain text
13665 #: build/C/man2/wait4.2:153
13666 msgid ""
13667 "On Linux, B<wait3>()  is a library function implemented on top of the "
13668 "B<wait4>()  system call."
13669 msgstr ""
13670 "Linux では、 B<wait3>()  はライブラリ関数であり、 B<wait4>()  システムコール"
13671 "を使って実装されている。"
13672
13673 #. type: Plain text
13674 #: build/C/man2/wait4.2:159
13675 msgid ""
13676 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13677 "B<signal>(7)"
13678 msgstr ""
13679 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13680 "B<signal>(7)"
13681
13682 #~ msgid "COLOPHON"
13683 #~ msgstr "この文書について"
13684
13685 #, fuzzy
13686 #~| msgid ""
13687 #~| "This page is part of release 3.37 of the Linux I<man-pages> project.  A "
13688 #~| "description of the project, and information about reporting bugs, can be "
13689 #~| "found at http://www.kernel.org/doc/man-pages/."
13690 #~ msgid ""
13691 #~ "This page is part of release 3.38 of the Linux I<man-pages> project.  A "
13692 #~ "description of the project, and information about reporting bugs, can be "
13693 #~ "found at http://www.kernel.org/doc/man-pages/."
13694 #~ msgstr ""
13695 #~ "この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部で"
13696 #~ "ある。\n"
13697 #~ "プロジェクトの説明とバグ報告に関する情報は\n"
13698 #~ "http://www.kernel.org/doc/man-pages/ に書かれている。"
13699
13700 #, fuzzy
13701 #~| msgid "2011-09-18"
13702 #~ msgid "2011-09-17"
13703 #~ msgstr "2011-09-18"
13704
13705 #, fuzzy
13706 #~| msgid "2011-09-09"
13707 #~ msgid "2011-09-08"
13708 #~ msgstr "2011-09-09"
13709
13710 #~ msgid "queued SIGIO"
13711 #~ msgstr "キューイングされた SIGIO"
13712
13713 #~ msgid "EXAMPLES"
13714 #~ msgstr "例"
13715
13716 #~ msgid "2009-01-26"
13717 #~ msgstr "2009-01-26"
13718
13719 #~ msgid "B<EFD_NONBLOCK>"
13720 #~ msgstr "B<EFD_NONBLOCK>"
13721
13722 #~ msgid "B<EFD_CLOEXEC>"
13723 #~ msgstr "B<EFD_CLOEXEC>"
13724
13725 #~ msgid "2008-07-16"
13726 #~ msgstr "2008-07-16"
13727
13728 #~ msgid "2008-08-21"
13729 #~ msgstr "2008-08-21"
13730
13731 #~ msgid "B<perror>(3), B<strsignal>(3)"
13732 #~ msgstr "B<perror>(3), B<strsignal>(3)"
13733
13734 #~ msgid "2009-07-25"
13735 #~ msgstr "2009-07-25"
13736
13737 #~ msgid "POSIX.1b signals and B<SIGCHLD> fill in I<si_pid> and I<si_uid>."
13738 #~ msgstr ""
13739 #~ "POSIX.1b シグナルと B<SIGCHLD> は I<si_pid> と I<si_uid> を設定する。"
13740
13741 #~ msgid ""
13742 #~ "I<si_int> and I<si_ptr> are specified by the sender of the POSIX.1b "
13743 #~ "signal.  See B<sigqueue>(2)  for more details."
13744 #~ msgstr ""
13745 #~ "I<si_int> と I<si_ptr> は POSIX.1b シグナルの送信者によって指定される。 詳"
13746 #~ "細は B<sigqueue>(2)  を参照のこと。"
13747
13748 #~ msgid ""
13749 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, and B<SIGBUS> fill in I<si_addr> with "
13750 #~ "the address of the fault.  B<SIGPOLL> fills in I<si_band> and I<si_fd>."
13751 #~ msgstr ""
13752 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS> は I<si_addr> にエラーが発生し"
13753 #~ "たアドレスを設定する。 SIGPOLL は I<si_band> と I<si_fd> を設定する。"
13754
13755 #~ msgid "B<sigqueue>(2)"
13756 #~ msgstr "B<sigqueue>(2)"
13757
13758 #~ msgid "2009-03-10"
13759 #~ msgstr "2009-03-10"