OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.37.
[linuxjm/LDP_man-pages.git] / po4a / signal / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-03-22 04:26+0900\n"
10 "PO-Revision-Date: 2012-03-22 02:06+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/bsd_signal.3:23
20 #, no-wrap
21 msgid "BSD_SIGNAL"
22 msgstr "BSD_SIGNAL"
23
24 #. type: TH
25 #: build/C/man3/bsd_signal.3:23 build/C/man2/getitimer.2:7
26 #, no-wrap
27 msgid "2009-03-15"
28 msgstr "2009-03-15"
29
30 #. type: TH
31 #: build/C/man3/bsd_signal.3:23 build/C/man2/eventfd.2:21
32 #: build/C/man2/getitimer.2:7 build/C/man3/gsignal.3:25 build/C/man2/kill.2:44
33 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:46
34 #: build/C/man3/profil.3:28 build/C/man3/psignal.3:28 build/C/man3/raise.3:27
35 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man2/sgetmask.2:24
36 #: build/C/man2/sigaction.2:45 build/C/man2/sigaltstack.2:25
37 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
38 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
39 #: build/C/man2/signalfd.2:19 build/C/man3/sigpause.3:23
40 #: build/C/man2/sigpending.2:27 build/C/man2/sigprocmask.2:27
41 #: build/C/man3/sigqueue.3:26 build/C/man2/sigreturn.2:27
42 #: build/C/man3/sigset.3:24 build/C/man3/sigsetops.3:29
43 #: build/C/man2/sigsuspend.2:27 build/C/man3/sigvec.3:24
44 #: build/C/man3/sigwait.3:24 build/C/man2/sigwaitinfo.2:23
45 #: build/C/man3/sysv_signal.3:23 build/C/man2/timer_create.2:29
46 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
47 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
48 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
49 #, no-wrap
50 msgid "Linux Programmer's Manual"
51 msgstr "Linux Programmer's Manual"
52
53 #. type: SH
54 #: build/C/man3/bsd_signal.3:24 build/C/man2/eventfd.2:22
55 #: build/C/man2/getitimer.2:8 build/C/man3/gsignal.3:26 build/C/man2/kill.2:45
56 #: build/C/man2/killpg.2:41 build/C/man2/pause.2:31 build/C/man2/prctl.2:47
57 #: build/C/man3/profil.3:29 build/C/man3/psignal.3:29 build/C/man3/raise.3:28
58 #: build/C/man2/rt_sigqueueinfo.2:24 build/C/man2/sgetmask.2:25
59 #: build/C/man2/sigaction.2:46 build/C/man2/sigaltstack.2:26
60 #: build/C/man7/sigevent.7:25 build/C/man3/siginterrupt.3:30
61 #: build/C/man2/signal.2:35 build/C/man7/signal.7:45
62 #: build/C/man2/signalfd.2:20 build/C/man3/sigpause.3:24
63 #: build/C/man2/sigpending.2:28 build/C/man2/sigprocmask.2:28
64 #: build/C/man3/sigqueue.3:27 build/C/man2/sigreturn.2:28
65 #: build/C/man3/sigset.3:25 build/C/man3/sigsetops.3:30
66 #: build/C/man2/sigsuspend.2:28 build/C/man3/sigvec.3:25
67 #: build/C/man3/sigwait.3:25 build/C/man2/sigwaitinfo.2:24
68 #: build/C/man3/sysv_signal.3:24 build/C/man2/timer_create.2:30
69 #: build/C/man2/timer_delete.2:24 build/C/man2/timer_getoverrun.2:24
70 #: build/C/man2/timer_settime.2:24 build/C/man2/timerfd_create.2:21
71 #: build/C/man2/tkill.2:30 build/C/man2/wait.2:51 build/C/man2/wait4.2:35
72 #, no-wrap
73 msgid "NAME"
74 msgstr "名前"
75
76 #. type: Plain text
77 #: build/C/man3/bsd_signal.3:26
78 msgid "bsd_signal - signal handling with BSD semantics"
79 msgstr "bsd_signal - BSD 方式のシグナル処理"
80
81 #. type: SH
82 #: build/C/man3/bsd_signal.3:26 build/C/man2/eventfd.2:24
83 #: build/C/man2/getitimer.2:10 build/C/man3/gsignal.3:28
84 #: build/C/man2/kill.2:47 build/C/man2/killpg.2:43 build/C/man2/pause.2:33
85 #: build/C/man2/prctl.2:49 build/C/man3/profil.3:31 build/C/man3/psignal.3:31
86 #: build/C/man3/raise.3:30 build/C/man2/rt_sigqueueinfo.2:26
87 #: build/C/man2/sgetmask.2:27 build/C/man2/sigaction.2:48
88 #: build/C/man2/sigaltstack.2:28 build/C/man7/sigevent.7:27
89 #: build/C/man3/siginterrupt.3:32 build/C/man2/signal.2:37
90 #: build/C/man2/signalfd.2:22 build/C/man3/sigpause.3:26
91 #: build/C/man2/sigpending.2:30 build/C/man2/sigprocmask.2:30
92 #: build/C/man3/sigqueue.3:29 build/C/man2/sigreturn.2:30
93 #: build/C/man3/sigset.3:27 build/C/man3/sigsetops.3:33
94 #: build/C/man2/sigsuspend.2:30 build/C/man3/sigvec.3:27
95 #: build/C/man3/sigwait.3:27 build/C/man2/sigwaitinfo.2:26
96 #: build/C/man3/sysv_signal.3:26 build/C/man2/timer_create.2:32
97 #: build/C/man2/timer_delete.2:26 build/C/man2/timer_getoverrun.2:26
98 #: build/C/man2/timer_settime.2:27 build/C/man2/timerfd_create.2:24
99 #: build/C/man2/tkill.2:32 build/C/man2/wait.2:53 build/C/man2/wait4.2:37
100 #, no-wrap
101 msgid "SYNOPSIS"
102 msgstr "書式"
103
104 #. type: Plain text
105 #: build/C/man3/bsd_signal.3:28
106 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
107 msgstr "B<#define _XOPEN_SOURCE> /* feature_test_macros(7) 参照 */"
108
109 #. type: Plain text
110 #: build/C/man3/bsd_signal.3:30 build/C/man2/killpg.2:45
111 #: build/C/man2/sigaltstack.2:30 build/C/man2/signal.2:39
112 #: build/C/man2/sigpending.2:32 build/C/man2/sigprocmask.2:32
113 #: build/C/man3/sigqueue.3:31 build/C/man3/sigset.3:29
114 #: build/C/man3/sigsetops.3:35 build/C/man2/sigsuspend.2:32
115 #: build/C/man3/sigvec.3:29 build/C/man3/sysv_signal.3:30
116 msgid "B<#include E<lt>signal.hE<gt>>"
117 msgstr "B<#include E<lt>signal.hE<gt>>"
118
119 #. type: Plain text
120 #: build/C/man3/bsd_signal.3:32 build/C/man2/signal.2:41
121 #: build/C/man3/sigset.3:31 build/C/man3/sysv_signal.3:32
122 msgid "B<typedef void (*sighandler_t)(int);>"
123 msgstr "B<typedef void (*sighandler_t)(int);>"
124
125 #. type: Plain text
126 #: build/C/man3/bsd_signal.3:34
127 msgid ""
128 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
129 msgstr ""
130 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
131
132 #. type: SH
133 #: build/C/man3/bsd_signal.3:34 build/C/man2/eventfd.2:28
134 #: build/C/man2/getitimer.2:19 build/C/man3/gsignal.3:47
135 #: build/C/man2/kill.2:65 build/C/man2/killpg.2:59 build/C/man2/pause.2:37
136 #: build/C/man2/prctl.2:56 build/C/man3/profil.3:44 build/C/man3/psignal.3:54
137 #: build/C/man3/raise.3:36 build/C/man2/rt_sigqueueinfo.2:33
138 #: build/C/man2/sgetmask.2:31 build/C/man2/sigaction.2:65
139 #: build/C/man2/sigaltstack.2:49 build/C/man7/sigevent.7:50
140 #: build/C/man3/siginterrupt.3:53 build/C/man2/signal.2:43
141 #: build/C/man7/signal.7:47 build/C/man2/signalfd.2:26
142 #: build/C/man3/sigpause.3:34 build/C/man2/sigpending.2:44
143 #: build/C/man2/sigprocmask.2:45 build/C/man3/sigqueue.3:41
144 #: build/C/man2/sigreturn.2:32 build/C/man3/sigset.3:56
145 #: build/C/man3/sigsetops.3:61 build/C/man2/sigsuspend.2:44
146 #: build/C/man3/sigvec.3:47 build/C/man3/sigwait.3:43
147 #: build/C/man2/sigwaitinfo.2:44 build/C/man3/sysv_signal.3:34
148 #: build/C/man2/timer_create.2:50 build/C/man2/timer_delete.2:42
149 #: build/C/man2/timer_getoverrun.2:42 build/C/man2/timer_settime.2:47
150 #: build/C/man2/timerfd_create.2:36 build/C/man2/tkill.2:38
151 #: build/C/man2/wait.2:82 build/C/man2/wait4.2:68
152 #, no-wrap
153 msgid "DESCRIPTION"
154 msgstr "説明"
155
156 #. type: Plain text
157 #: build/C/man3/bsd_signal.3:39
158 msgid ""
159 "The B<bsd_signal>()  function takes the same arguments, and performs the "
160 "same task, as B<signal>(2)."
161 msgstr ""
162 "B<bsd_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
163 "る。"
164
165 #. type: Plain text
166 #: build/C/man3/bsd_signal.3:52
167 msgid ""
168 "The difference between the two is that B<bsd_signal>()  is guaranteed to "
169 "provide reliable signal semantics, that is: a) the disposition of the signal "
170 "is not reset to the default when the handler is invoked; b) delivery of "
171 "further instances of the signal is blocked while the signal handler is "
172 "executing; and c) if the handler interrupts a blocking system call, then the "
173 "system call is automatically restarted.  A portable application cannot rely "
174 "on B<signal>(2)  to provide these guarantees."
175 msgstr ""
176 "両者の違いは、 B<bsd_signal>()  では信頼性のあるシグナル処理方式の提供が保証"
177 "されていることである。 信頼性のあるシグナル処理方式は以下の特徴を持つ。 a) ハ"
178 "ンドラが起動された場合に、シグナルの処理方法 (disposition) が デフォルトにリ"
179 "セットされない、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナ"
180 "ルの配送が ブロックされない、 c) ハンドラが停止中の (blocking している) シス"
181 "テムコールを 中断した場合、そのシステムコールが自動的に再開される。 移植性が"
182 "必要なアプリケーションでは、 B<signal>(2)  でこれらが保証されることを前提にす"
183 "べきではない。"
184
185 #. type: SH
186 #: build/C/man3/bsd_signal.3:52 build/C/man2/eventfd.2:222
187 #: build/C/man2/getitimer.2:117 build/C/man2/kill.2:99
188 #: build/C/man2/killpg.2:88 build/C/man2/pause.2:42 build/C/man2/prctl.2:381
189 #: build/C/man3/profil.3:66 build/C/man3/psignal.3:87 build/C/man3/raise.3:59
190 #: build/C/man2/rt_sigqueueinfo.2:124 build/C/man2/sgetmask.2:54
191 #: build/C/man2/sigaction.2:651 build/C/man2/sigaltstack.2:131
192 #: build/C/man3/siginterrupt.3:71 build/C/man2/signal.2:95
193 #: build/C/man2/signalfd.2:248 build/C/man3/sigpause.3:46
194 #: build/C/man2/sigpending.2:51 build/C/man2/sigprocmask.2:91
195 #: build/C/man3/sigqueue.3:81 build/C/man2/sigreturn.2:51
196 #: build/C/man3/sigset.3:127 build/C/man3/sigsetops.3:105
197 #: build/C/man2/sigsuspend.2:68 build/C/man3/sigvec.3:197
198 #: build/C/man3/sigwait.3:66 build/C/man2/sigwaitinfo.2:98
199 #: build/C/man3/sysv_signal.3:49 build/C/man2/timer_create.2:165
200 #: build/C/man2/timer_delete.2:50 build/C/man2/timer_getoverrun.2:79
201 #: build/C/man2/timer_settime.2:169 build/C/man2/timerfd_create.2:286
202 #: build/C/man2/tkill.2:69 build/C/man2/wait.2:354 build/C/man2/wait4.2:127
203 #, no-wrap
204 msgid "RETURN VALUE"
205 msgstr "返り値"
206
207 #. type: Plain text
208 #: build/C/man3/bsd_signal.3:58
209 msgid ""
210 "The B<bsd_signal>()  function returns the previous value of the signal "
211 "handler, or B<SIG_ERR> on error."
212 msgstr ""
213 "B<bsd_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
214 "B<SIG_ERR> を返す。"
215
216 #. type: SH
217 #: build/C/man3/bsd_signal.3:58 build/C/man2/eventfd.2:229
218 #: build/C/man2/getitimer.2:122 build/C/man2/kill.2:104
219 #: build/C/man2/killpg.2:93 build/C/man2/pause.2:53 build/C/man2/prctl.2:398
220 #: build/C/man2/rt_sigqueueinfo.2:129 build/C/man2/sgetmask.2:59
221 #: build/C/man2/sigaction.2:654 build/C/man2/sigaltstack.2:135
222 #: build/C/man3/siginterrupt.3:76 build/C/man2/signal.2:100
223 #: build/C/man2/signalfd.2:262 build/C/man2/sigpending.2:54
224 #: build/C/man2/sigprocmask.2:94 build/C/man3/sigqueue.3:89
225 #: build/C/man3/sigset.3:152 build/C/man3/sigsetops.3:121
226 #: build/C/man2/sigsuspend.2:72 build/C/man3/sigvec.3:214
227 #: build/C/man3/sigwait.3:71 build/C/man2/sigwaitinfo.2:107
228 #: build/C/man3/sysv_signal.3:55 build/C/man2/timer_create.2:173
229 #: build/C/man2/timer_delete.2:57 build/C/man2/timer_getoverrun.2:87
230 #: build/C/man2/timer_settime.2:178 build/C/man2/timerfd_create.2:301
231 #: build/C/man2/tkill.2:73 build/C/man2/wait.2:383 build/C/man2/wait4.2:130
232 #, no-wrap
233 msgid "ERRORS"
234 msgstr "エラー"
235
236 #. type: Plain text
237 #: build/C/man3/bsd_signal.3:61 build/C/man3/sysv_signal.3:58
238 msgid "As for B<signal>(2)."
239 msgstr "B<signal>(2)  と同じ。"
240
241 #. type: SH
242 #: build/C/man3/bsd_signal.3:61 build/C/man2/eventfd.2:266
243 #: build/C/man2/getitimer.2:143 build/C/man3/gsignal.3:93
244 #: build/C/man2/kill.2:120 build/C/man2/killpg.2:110 build/C/man2/pause.2:57
245 #: build/C/man2/prctl.2:475 build/C/man3/profil.3:68 build/C/man3/psignal.3:97
246 #: build/C/man3/raise.3:62 build/C/man2/rt_sigqueueinfo.2:171
247 #: build/C/man2/sgetmask.2:61 build/C/man2/sigaction.2:666
248 #: build/C/man2/sigaltstack.2:154 build/C/man7/sigevent.7:128
249 #: build/C/man3/siginterrupt.3:80 build/C/man2/signal.2:105
250 #: build/C/man7/signal.7:834 build/C/man2/signalfd.2:304
251 #: build/C/man3/sigpause.3:54 build/C/man2/sigpending.2:59
252 #: build/C/man2/sigprocmask.2:99 build/C/man3/sigqueue.3:112
253 #: build/C/man2/sigreturn.2:58 build/C/man3/sigset.3:171
254 #: build/C/man3/sigsetops.3:126 build/C/man2/sigsuspend.2:80
255 #: build/C/man3/sigvec.3:219 build/C/man3/sigwait.3:77
256 #: build/C/man2/sigwaitinfo.2:126 build/C/man3/sysv_signal.3:58
257 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
258 #: build/C/man2/timer_getoverrun.2:94 build/C/man2/timer_settime.2:203
259 #: build/C/man2/timerfd_create.2:370 build/C/man2/tkill.2:90
260 #: build/C/man2/wait.2:421 build/C/man2/wait4.2:133
261 #, no-wrap
262 msgid "CONFORMING TO"
263 msgstr "準拠"
264
265 #. type: Plain text
266 #: build/C/man3/bsd_signal.3:68
267 msgid ""
268 "4.2BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of "
269 "B<bsd_signal>(), recommending the use of B<sigaction>(2)  instead."
270 msgstr ""
271 "4.2BSD, POSIX.1-2001.  POSIX.1-2008 では B<bsd_signal>()  の仕様が削除されて"
272 "いる。 代わりに、 B<sigaction>(2)  の使用が推奨されている。"
273
274 #. type: SH
275 #: build/C/man3/bsd_signal.3:68 build/C/man2/eventfd.2:271
276 #: build/C/man2/getitimer.2:153 build/C/man2/kill.2:122
277 #: build/C/man2/killpg.2:114 build/C/man2/rt_sigqueueinfo.2:173
278 #: build/C/man2/sgetmask.2:63 build/C/man2/sigaction.2:669
279 #: build/C/man2/sigaltstack.2:156 build/C/man2/signal.2:107
280 #: build/C/man2/signalfd.2:309 build/C/man3/sigpause.3:58
281 #: build/C/man2/sigpending.2:61 build/C/man2/sigprocmask.2:101
282 #: build/C/man3/sigqueue.3:114 build/C/man2/sigreturn.2:62
283 #: build/C/man3/sigset.3:188 build/C/man3/sigsetops.3:128
284 #: build/C/man2/sigsuspend.2:82 build/C/man3/sigvec.3:225
285 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
286 #: build/C/man3/sysv_signal.3:60 build/C/man2/timer_create.2:193
287 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/tkill.2:96
288 #: build/C/man2/wait.2:423 build/C/man2/wait4.2:135
289 #, no-wrap
290 msgid "NOTES"
291 msgstr "注意"
292
293 #. type: Plain text
294 #: build/C/man3/bsd_signal.3:74
295 msgid ""
296 "Use of B<bsd_signal>()  should be avoided; use B<sigaction>(2)  instead."
297 msgstr ""
298 "B<bsd_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使うこ"
299 "と。"
300
301 #. type: Plain text
302 #: build/C/man3/bsd_signal.3:85
303 msgid ""
304 "On modern Linux systems, B<bsd_signal>()  and B<signal>(2)  are equivalent.  "
305 "But on older systems, B<signal>(2)  provided unreliable signal semantics; "
306 "see B<signal>(2)  for details."
307 msgstr ""
308 "最近の Linux システムでは、 B<bsd_signal>()  と B<signal>(2)  は等価である。"
309 "しかし、以前のシステムでは、 B<signal>(2)  は信頼性に欠けるシグナル処理方式を"
310 "提供していた。 詳細は B<signal>(2)  を参照。"
311
312 #. type: Plain text
313 #: build/C/man3/bsd_signal.3:92 build/C/man3/sysv_signal.3:85
314 msgid ""
315 "The use of I<sighandler_t> is a GNU extension; this type is only defined if "
316 "the B<_GNU_SOURCE> feature test macro is defined."
317 msgstr ""
318 "I<sighandler_t> を使っているのは GNU による拡張である。 この型は機能検査マク"
319 "ロ B<_GNU_SOURCE> を定義した場合にのみ定義される。"
320
321 #. type: SH
322 #: build/C/man3/bsd_signal.3:92 build/C/man2/eventfd.2:417
323 #: build/C/man2/getitimer.2:219 build/C/man3/gsignal.3:101
324 #: build/C/man2/kill.2:170 build/C/man2/killpg.2:133 build/C/man2/pause.2:59
325 #: build/C/man2/prctl.2:489 build/C/man3/profil.3:79
326 #: build/C/man3/psignal.3:111 build/C/man3/raise.3:64
327 #: build/C/man2/rt_sigqueueinfo.2:183 build/C/man2/sgetmask.2:74
328 #: build/C/man2/sigaction.2:782 build/C/man2/sigaltstack.2:230
329 #: build/C/man7/sigevent.7:130 build/C/man3/siginterrupt.3:89
330 #: build/C/man2/signal.2:259 build/C/man7/signal.7:845
331 #: build/C/man2/signalfd.2:430 build/C/man3/sigpause.3:96
332 #: build/C/man2/sigpending.2:82 build/C/man2/sigprocmask.2:131
333 #: build/C/man3/sigqueue.3:147 build/C/man2/sigreturn.2:72
334 #: build/C/man3/sigset.3:264 build/C/man3/sigsetops.3:166
335 #: build/C/man2/sigsuspend.2:104 build/C/man3/sigvec.3:250
336 #: build/C/man3/sigwait.3:86 build/C/man2/sigwaitinfo.2:179
337 #: build/C/man3/sysv_signal.3:85 build/C/man2/timer_create.2:397
338 #: build/C/man2/timer_delete.2:66 build/C/man2/timer_getoverrun.2:128
339 #: build/C/man2/timer_settime.2:208 build/C/man2/timerfd_create.2:540
340 #: build/C/man2/tkill.2:105 build/C/man2/wait.2:605 build/C/man2/wait4.2:153
341 #, no-wrap
342 msgid "SEE ALSO"
343 msgstr "関連項目"
344
345 #. type: Plain text
346 #: build/C/man3/bsd_signal.3:97
347 msgid "B<sigaction>(2), B<signal>(2), B<sysv_signal>(3), B<signal>(7)"
348 msgstr "B<sigaction>(2), B<signal>(2), B<sysv_signal>(3), B<signal>(7)"
349
350 #. type: SH
351 #: build/C/man3/bsd_signal.3:97 build/C/man2/eventfd.2:428
352 #: build/C/man2/getitimer.2:226 build/C/man3/gsignal.3:105
353 #: build/C/man2/kill.2:180 build/C/man2/killpg.2:139 build/C/man2/pause.2:64
354 #: build/C/man2/prctl.2:492 build/C/man3/profil.3:84
355 #: build/C/man3/psignal.3:116 build/C/man3/raise.3:71
356 #: build/C/man2/rt_sigqueueinfo.2:191 build/C/man2/sgetmask.2:77
357 #: build/C/man2/sigaction.2:801 build/C/man2/sigaltstack.2:237
358 #: build/C/man7/sigevent.7:140 build/C/man3/siginterrupt.3:91
359 #: build/C/man2/signal.2:278 build/C/man7/signal.7:878
360 #: build/C/man2/signalfd.2:443 build/C/man3/sigpause.3:104
361 #: build/C/man2/sigpending.2:90 build/C/man2/sigprocmask.2:142
362 #: build/C/man3/sigqueue.3:155 build/C/man2/sigreturn.2:77
363 #: build/C/man3/sigset.3:274 build/C/man3/sigsetops.3:171
364 #: build/C/man2/sigsuspend.2:114 build/C/man3/sigvec.3:260
365 #: build/C/man3/sigwait.3:94 build/C/man2/sigwaitinfo.2:191
366 #: build/C/man3/sysv_signal.3:90 build/C/man2/timer_create.2:410
367 #: build/C/man2/timer_delete.2:72 build/C/man2/timer_getoverrun.2:138
368 #: build/C/man2/timer_settime.2:212 build/C/man2/timerfd_create.2:552
369 #: build/C/man2/tkill.2:110 build/C/man2/wait.2:617 build/C/man2/wait4.2:160
370 #, no-wrap
371 msgid "COLOPHON"
372 msgstr ""
373
374 #. type: Plain text
375 #: build/C/man3/bsd_signal.3:104 build/C/man2/eventfd.2:435
376 #: build/C/man2/getitimer.2:233 build/C/man3/gsignal.3:112
377 #: build/C/man2/kill.2:187 build/C/man2/killpg.2:146 build/C/man2/pause.2:71
378 #: build/C/man2/prctl.2:499 build/C/man3/profil.3:91
379 #: build/C/man3/psignal.3:123 build/C/man3/raise.3:78
380 #: build/C/man2/rt_sigqueueinfo.2:198 build/C/man2/sgetmask.2:84
381 #: build/C/man2/sigaction.2:808 build/C/man2/sigaltstack.2:244
382 #: build/C/man7/sigevent.7:147 build/C/man3/siginterrupt.3:98
383 #: build/C/man2/signal.2:285 build/C/man7/signal.7:885
384 #: build/C/man2/signalfd.2:450 build/C/man3/sigpause.3:111
385 #: build/C/man2/sigpending.2:97 build/C/man2/sigprocmask.2:149
386 #: build/C/man3/sigqueue.3:162 build/C/man2/sigreturn.2:84
387 #: build/C/man3/sigset.3:281 build/C/man3/sigsetops.3:178
388 #: build/C/man2/sigsuspend.2:121 build/C/man3/sigvec.3:267
389 #: build/C/man3/sigwait.3:101 build/C/man2/sigwaitinfo.2:198
390 #: build/C/man3/sysv_signal.3:97 build/C/man2/timer_create.2:417
391 #: build/C/man2/timer_delete.2:79 build/C/man2/timer_getoverrun.2:145
392 #: build/C/man2/timer_settime.2:219 build/C/man2/timerfd_create.2:559
393 #: build/C/man2/tkill.2:117 build/C/man2/wait.2:624 build/C/man2/wait4.2:167
394 msgid ""
395 "This page is part of release 3.37 of the Linux I<man-pages> project.  A "
396 "description of the project, and information about reporting bugs, can be "
397 "found at http://www.kernel.org/doc/man-pages/."
398 msgstr ""
399
400 #. type: TH
401 #: build/C/man2/eventfd.2:21
402 #, no-wrap
403 msgid "EVENTFD"
404 msgstr "EVENTFD"
405
406 #. type: TH
407 #: build/C/man2/eventfd.2:21
408 #, fuzzy, no-wrap
409 #| msgid "2010-09-20"
410 msgid "2010-08-30"
411 msgstr "2010-09-20"
412
413 #. type: TH
414 #: build/C/man2/eventfd.2:21 build/C/man2/getitimer.2:7 build/C/man2/kill.2:44
415 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:46
416 #: build/C/man3/profil.3:28 build/C/man2/rt_sigqueueinfo.2:23
417 #: build/C/man2/sgetmask.2:24 build/C/man2/sigaction.2:45
418 #: build/C/man2/sigaltstack.2:25 build/C/man2/signal.2:34
419 #: build/C/man7/signal.7:44 build/C/man2/signalfd.2:19
420 #: build/C/man3/sigpause.3:23 build/C/man2/sigpending.2:27
421 #: build/C/man2/sigprocmask.2:27 build/C/man3/sigqueue.3:26
422 #: build/C/man2/sigreturn.2:27 build/C/man3/sigset.3:24
423 #: build/C/man3/sigsetops.3:29 build/C/man2/sigsuspend.2:27
424 #: build/C/man3/sigvec.3:24 build/C/man3/sigwait.3:24
425 #: build/C/man2/sigwaitinfo.2:23 build/C/man2/timer_create.2:29
426 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
427 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
428 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
429 #, no-wrap
430 msgid "Linux"
431 msgstr "Linux"
432
433 #. type: Plain text
434 #: build/C/man2/eventfd.2:24
435 msgid "eventfd - create a file descriptor for event notification"
436 msgstr "eventfd - イベント通知用のファイルディスクリプタを生成する"
437
438 #. type: Plain text
439 #: build/C/man2/eventfd.2:26
440 msgid "B<#include E<lt>sys/eventfd.hE<gt>>"
441 msgstr "B<#include E<lt>sys/eventfd.hE<gt>>"
442
443 #. type: Plain text
444 #: build/C/man2/eventfd.2:28
445 msgid "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
446 msgstr "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
447
448 #. type: Plain text
449 #: build/C/man2/eventfd.2:38
450 msgid ""
451 "B<eventfd>()  creates an \"eventfd object\" that can be used as an event "
452 "wait/notify mechanism by userspace applications, and by the kernel to notify "
453 "userspace applications of events.  The object contains an unsigned 64-bit "
454 "integer (I<uint64_t>)  counter that is maintained by the kernel.  This "
455 "counter is initialized with the value specified in the argument I<initval>."
456 msgstr ""
457 "B<eventfd>()  は \"eventfd オブジェクト\" を生成する。 eventfd オブジェクトは"
458 "ユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことが"
459 "できる。また、カーネルがユーザ空間アプリケーションに イベントを通知するために"
460 "も使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 "
461 "(I<uint64_t>)  型のカウンタが含まれており、このカウンタはカーネルにより管理さ"
462 "れる。 このカウンタは I<initval> 引き数で指定された値で初期化される。"
463
464 #. type: Plain text
465 #: build/C/man2/eventfd.2:43
466 #, fuzzy
467 #| msgid ""
468 #| "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
469 #| "I<flags> to change the behaviour of B<eventfd>():"
470 msgid ""
471 "The following values may be bitwise ORed in I<flags> to change the behaviour "
472 "of B<eventfd>():"
473 msgstr ""
474 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
475 "ることで、 B<eventfd>()  の振舞いを変更することができる。"
476
477 #. type: TP
478 #: build/C/man2/eventfd.2:43
479 #, fuzzy, no-wrap
480 #| msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
481 msgid "B<EFD_CLOEXEC> (since Linux 2.6.27)"
482 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
483
484 #. type: Plain text
485 #: build/C/man2/eventfd.2:53 build/C/man2/signalfd.2:94
486 #: build/C/man2/timerfd_create.2:102
487 msgid ""
488 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the new file descriptor.  See "
489 "the description of the B<O_CLOEXEC> flag in B<open>(2)  for reasons why this "
490 "may be useful."
491 msgstr ""
492 "新しいファイルディスクリプタに対して close-on-exec (B<FD_CLOEXEC>)  フラグを"
493 "セットする。 このフラグが役に立つ理由については、 B<open>(2)  の "
494 "B<O_CLOEXEC> フラグの説明を参照のこと。"
495
496 #. type: TP
497 #: build/C/man2/eventfd.2:53
498 #, fuzzy, no-wrap
499 #| msgid "B<SA_SIGINFO> (since Linux 2.2)"
500 msgid "B<EFD_NONBLOCK> (since Linux 2.6.27)"
501 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
502
503 #. type: Plain text
504 #: build/C/man2/eventfd.2:61 build/C/man2/signalfd.2:84
505 #: build/C/man2/timerfd_create.2:92
506 msgid ""
507 "Set the B<O_NONBLOCK> file status flag on the new open file description.  "
508 "Using this flag saves extra calls to B<fcntl>(2)  to achieve the same result."
509 msgstr ""
510 "新しく生成されるオープンファイル記述 (open file description) の "
511 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
512 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
513 "なる。"
514
515 #. type: TP
516 #: build/C/man2/eventfd.2:61
517 #, fuzzy, no-wrap
518 #| msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
519 msgid "B<EFD_SEMAPHORE> (since Linux 2.6.30)"
520 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
521
522 #. type: Plain text
523 #: build/C/man2/eventfd.2:65
524 msgid ""
525 "Provide semaphore-like semantics for reads from the new file descriptor.  "
526 "See below."
527 msgstr ""
528
529 #. type: Plain text
530 #: build/C/man2/eventfd.2:69 build/C/man2/signalfd.2:98
531 msgid ""
532 "In Linux up to version 2.6.26, the I<flags> argument is unused, and must be "
533 "specified as zero."
534 msgstr ""
535 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
536 "しなければならない。"
537
538 #. type: Plain text
539 #: build/C/man2/eventfd.2:75
540 msgid ""
541 "As its return value, B<eventfd>()  returns a new file descriptor that can be "
542 "used to refer to the eventfd object.  The following operations can be "
543 "performed on the file descriptor:"
544 msgstr ""
545 "B<eventfd>()  は eventfd オブジェクトを参照するのに使用できる新しいファイル"
546 "ディスクリプタ を返す。返されたファイルディスクリプタに対しては以下の操作を実"
547 "行できる。"
548
549 #. type: TP
550 #: build/C/man2/eventfd.2:75 build/C/man2/signalfd.2:101
551 #: build/C/man2/timerfd_create.2:210
552 #, no-wrap
553 msgid "B<read>(2)"
554 msgstr "B<read>(2)"
555
556 #. type: Plain text
557 #: build/C/man2/eventfd.2:85
558 #, fuzzy
559 #| msgid ""
560 #| "A B<read>(2)  will fail with the error B<EINVAL> if the size of the "
561 #| "supplied buffer is less than 8 bytes."
562 msgid ""
563 "Each successful B<read>(2)  returns an 8-byte integer.  A B<read>(2)  will "
564 "fail with the error B<EINVAL> if the size of the supplied buffer is less "
565 "than 8 bytes."
566 msgstr ""
567 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
568 "B<EINVAL> で失敗する。"
569
570 #. type: Plain text
571 #: build/C/man2/eventfd.2:90
572 msgid ""
573 "The value returned by B<read>(2)  is in host byte order, i.e., the native "
574 "byte order for integers on the host machine."
575 msgstr ""
576
577 #. type: Plain text
578 #: build/C/man2/eventfd.2:97
579 msgid ""
580 "The semantics of B<read>(2)  depend on whether the eventfd counter currently "
581 "has a nonzero value and whether the B<EFD_SEMAPHORE> flag was specified when "
582 "creating the eventfd file descriptor:"
583 msgstr ""
584
585 #. type: IP
586 #: build/C/man2/eventfd.2:98 build/C/man2/eventfd.2:105
587 #: build/C/man2/eventfd.2:112 build/C/man2/eventfd.2:157
588 #: build/C/man2/eventfd.2:167 build/C/man2/eventfd.2:177
589 #: build/C/man3/psignal.3:103 build/C/man3/psignal.3:107
590 #: build/C/man2/sigaction.2:294 build/C/man2/sigaction.2:309
591 #: build/C/man2/sigaction.2:325 build/C/man2/sigaction.2:340
592 #: build/C/man2/sigaction.2:387 build/C/man2/sigaction.2:423
593 #: build/C/man2/signal.2:66 build/C/man2/signal.2:71 build/C/man2/signal.2:78
594 #: build/C/man2/signal.2:205 build/C/man2/signal.2:209
595 #: build/C/man2/signal.2:248 build/C/man7/signal.7:147
596 #: build/C/man7/signal.7:155 build/C/man7/signal.7:611
597 #: build/C/man7/signal.7:613 build/C/man7/signal.7:634
598 #: build/C/man7/signal.7:649 build/C/man7/signal.7:653
599 #: build/C/man7/signal.7:660 build/C/man7/signal.7:676
600 #: build/C/man7/signal.7:682 build/C/man7/signal.7:689
601 #: build/C/man7/signal.7:694 build/C/man7/signal.7:713
602 #: build/C/man7/signal.7:732 build/C/man7/signal.7:739
603 #: build/C/man7/signal.7:748 build/C/man7/signal.7:756
604 #: build/C/man7/signal.7:762 build/C/man7/signal.7:767
605 #: build/C/man7/signal.7:787 build/C/man7/signal.7:806
606 #: build/C/man7/signal.7:809 build/C/man7/signal.7:812
607 #: build/C/man7/signal.7:815 build/C/man7/signal.7:820
608 #: build/C/man7/signal.7:826 build/C/man7/signal.7:830
609 #: build/C/man3/sigwait.3:59 build/C/man3/sigwait.3:64
610 #: build/C/man2/timer_create.2:214 build/C/man2/timer_create.2:217
611 #: build/C/man2/timer_create.2:220 build/C/man2/timer_create.2:224
612 #: build/C/man2/timer_create.2:227 build/C/man2/timer_create.2:233
613 #: build/C/man2/timer_create.2:237
614 #, no-wrap
615 msgid "*"
616 msgstr "*"
617
618 #. type: Plain text
619 #: build/C/man2/eventfd.2:105
620 #, fuzzy
621 #| msgid ""
622 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
623 #| "bytes containing that value, and the counter's value is reset to zero.  "
624 #| "(The returned value is in host byte order, i.e., the native byte order "
625 #| "for integers on the host machine.)"
626 msgid ""
627 "If B<EFD_SEMAPHORE> was not specified and the eventfd counter has a nonzero "
628 "value, then a B<read>(2)  returns 8 bytes containing that value, and the "
629 "counter's value is reset to zero."
630 msgstr ""
631 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
632 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
633 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
634
635 #. type: Plain text
636 #: build/C/man2/eventfd.2:112
637 #, fuzzy
638 #| msgid ""
639 #| "If the eventfd counter has a nonzero value, then a B<read>(2)  returns 8 "
640 #| "bytes containing that value, and the counter's value is reset to zero.  "
641 #| "(The returned value is in host byte order, i.e., the native byte order "
642 #| "for integers on the host machine.)"
643 msgid ""
644 "If B<EFD_SEMAPHORE> was specified and the eventfd counter has a nonzero "
645 "value, then a B<read>(2)  returns 8 bytes containing the value 1, and the "
646 "counter's value is decremented by 1."
647 msgstr ""
648 "eventfd カウンタが 0 以外の値の場合、 B<read>(2)  はカウンタ値を格納した 8 バ"
649 "イトの値を返し、 カウンタ値は 0 にリセットされる (返り値はホスト・バイトオー"
650 "ダ、つまり ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。"
651
652 #. type: Plain text
653 #: build/C/man2/eventfd.2:122
654 #, fuzzy
655 #| msgid ""
656 #| "If the counter is zero at the time of the B<read>(2), then the call "
657 #| "either blocks until the counter becomes nonzero, or fails with the error "
658 #| "B<EAGAIN> if the file descriptor has been made nonblocking."
659 msgid ""
660 "If the eventfd counter is zero at the time of the call to B<read>(2), then "
661 "the call either blocks until the counter becomes nonzero (at which time, the "
662 "B<read>(2)  proceeds as described above)  or fails with the error B<EAGAIN> "
663 "if the file descriptor has been made nonblocking."
664 msgstr ""
665 "B<read>(2)  の時点でカウンタが 0 の場合、 B<read>(2)  はカウンタが 0 以外にな"
666 "るまで停止 (block) する、 もしくはファイルディスクリプタが非停止 "
667 "(nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
668
669 #. type: TP
670 #: build/C/man2/eventfd.2:123
671 #, no-wrap
672 msgid "B<write>(2)"
673 msgstr "B<write>(2)"
674
675 #. type: Plain text
676 #: build/C/man2/eventfd.2:140
677 msgid ""
678 "A B<write>(2)  call adds the 8-byte integer value supplied in its buffer to "
679 "the counter.  The maximum value that may be stored in the counter is the "
680 "largest unsigned 64-bit value minus 1 (i.e., 0xfffffffffffffffe).  If the "
681 "addition would cause the counter's value to exceed the maximum, then the "
682 "B<write>(2)  either blocks until a B<read>(2)  is performed on the file "
683 "descriptor, or fails with the error B<EAGAIN> if the file descriptor has "
684 "been made nonblocking."
685 msgstr ""
686 "B<write>(2)  は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算"
687 "する。 カウンタに格納可能な最大値は unsigned の 64 ビット整数の最大値から 1 "
688 "を引いた値 (すなわち 0xfffffffffffffffe) である。 加算を行うとカウンタ値が最"
689 "大値を超過する場合には、 そのファイルディスクリプタに対して B<read>(2)  が実"
690 "行されるまで、 B<write>(2)  は停止 (block) する、 もしくはファイルディスクリ"
691 "プタが非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗す"
692 "る。"
693
694 #. type: Plain text
695 #: build/C/man2/eventfd.2:147
696 msgid ""
697 "A B<write>(2)  will fail with the error B<EINVAL> if the size of the "
698 "supplied buffer is less than 8 bytes, or if an attempt is made to write the "
699 "value 0xffffffffffffffff."
700 msgstr ""
701 "渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 "
702 "0xffffffffffffffff を書き込もうとした場合、 B<write>(2)  はエラー B<EINVAL> "
703 "で失敗する。"
704
705 #. type: TP
706 #: build/C/man2/eventfd.2:147 build/C/man2/signalfd.2:139
707 #: build/C/man2/timerfd_create.2:243
708 #, no-wrap
709 msgid "B<poll>(2), B<select>(2) (and similar)"
710 msgstr "B<poll>(2), B<select>(2) (と同様の操作)"
711
712 #. type: Plain text
713 #: build/C/man2/eventfd.2:156
714 msgid ""
715 "The returned file descriptor supports B<poll>(2)  (and analogously B<epoll>"
716 "(7))  and B<select>(2), as follows:"
717 msgstr ""
718 "返されたファイルディスクリプタは、 B<poll>(2)  (B<epoll>(7)  も同じ) や "
719 "B<select>(2)  をサポートしており、以下のような動作をする。"
720
721 #. type: Plain text
722 #: build/C/man2/eventfd.2:167
723 msgid ""
724 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
725 "B<poll>(2)  B<POLLIN> flag)  if the counter has a value greater than 0."
726 msgstr ""
727 "カウンタが 0 より大きい値の場合、 ファイルディスクリプタは読み出し可能となる "
728 "(B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
729
730 #. type: Plain text
731 #: build/C/man2/eventfd.2:177
732 msgid ""
733 "The file descriptor is writable (the B<select>(2)  I<writefds> argument; the "
734 "B<poll>(2)  B<POLLOUT> flag)  if it is possible to write a value of at least "
735 "\"1\" without blocking."
736 msgstr ""
737 "少なくとも値 \"1\" を、停止 (block) を伴わずに書き込める場合、 ファイルディス"
738 "クリプタは書き込み可能となる (B<select>(2)  の I<writefds> 引き数や B<poll>"
739 "(2)  の B<POLLOUT> フラグ)。"
740
741 #. type: Plain text
742 #: build/C/man2/eventfd.2:197
743 msgid ""
744 "If an overflow of the counter value was detected, then B<select>(2)  "
745 "indicates the file descriptor as being both readable and writable, and "
746 "B<poll>(2)  returns a B<POLLERR> event.  As noted above, B<write>(2)  can "
747 "never overflow the counter.  However an overflow can occur if 2^64 eventfd "
748 "\"signal posts\" were performed by the KAIO subsystem (theoretically "
749 "possible, but practically unlikely).  If an overflow has occurred, then "
750 "B<read>(2)  will return that maximum I<uint64_t> value (i.e., "
751 "0xffffffffffffffff)."
752 msgstr ""
753 "カウンタ値のオーバーフローが検出された場合、 B<select>(2)  はファイルディスク"
754 "リプタは読み出し可能と書き込み可能の両方を通知し、 B<poll>(2)  は B<POLLERR> "
755 "イベントを返す。 上述の通り、 B<write>(2)  でカウンタがオーバーフローすること"
756 "は決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "
757 "\"signal posts\" が 実行された場合にはオーバーフローが起こり得る (理論的には"
758 "あり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、 B<read>"
759 "(2)  は I<uint64_t> の最大値 (すなわち 0xffffffffffffffff) を返す。"
760
761 #. type: Plain text
762 #: build/C/man2/eventfd.2:205
763 msgid ""
764 "The eventfd file descriptor also supports the other file-descriptor "
765 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
766 msgstr ""
767 "eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
768 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
769
770 #. type: TP
771 #: build/C/man2/eventfd.2:205 build/C/man2/signalfd.2:159
772 #: build/C/man2/timerfd_create.2:261
773 #, no-wrap
774 msgid "B<close>(2)"
775 msgstr "B<close>(2)"
776
777 #. type: Plain text
778 #: build/C/man2/eventfd.2:210
779 msgid ""
780 "When the file descriptor is no longer required it should be closed.  When "
781 "all file descriptors associated with the same eventfd object have been "
782 "closed, the resources for object are freed by the kernel."
783 msgstr ""
784 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
785 "る。 同じ eventfd オブジェクトに関連付けられたファイルディスクリプタが全て ク"
786 "ローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
787
788 #. type: Plain text
789 #: build/C/man2/eventfd.2:222
790 #, fuzzy
791 #| msgid ""
792 #| "A copy of the file descriptor created by B<eventfd>()  is inherited by "
793 #| "the child produced by B<fork>(2).  The duplicate file descriptor is "
794 #| "associated with the same eventfd object.  File descriptors created by "
795 #| "B<eventfd>()  are preserved across B<execve>(2)."
796 msgid ""
797 "A copy of the file descriptor created by B<eventfd>()  is inherited by the "
798 "child produced by B<fork>(2).  The duplicate file descriptor is associated "
799 "with the same eventfd object.  File descriptors created by B<eventfd>()  are "
800 "preserved across B<execve>(2), unless the close-on-exec flag has been set."
801 msgstr ""
802 "B<fork>(2)  で生成された子プロセスは、 B<eventfd>()  で生成されたファイルディ"
803 "スクリプタのコピーを継承する。 複製されたファイルディスクリプタは同じ "
804 "eventfd オブジェクトに関連付けられる。 B<execve>(2)  の前後で B<eventfd>()  "
805 "で生成されたファイルディスクリプタは保持される。"
806
807 #. type: Plain text
808 #: build/C/man2/eventfd.2:229
809 msgid ""
810 "On success, B<eventfd>()  returns a new eventfd file descriptor.  On error, "
811 "-1 is returned and I<errno> is set to indicate the error."
812 msgstr ""
813 "成功すると、 B<eventfd>()  は新規の eventfd ファイルディスクリプタを返す。 エ"
814 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
815
816 #. type: TP
817 #: build/C/man2/eventfd.2:230 build/C/man2/getitimer.2:130
818 #: build/C/man2/kill.2:105 build/C/man2/killpg.2:94 build/C/man2/prctl.2:403
819 #: build/C/man2/prctl.2:408 build/C/man2/prctl.2:418 build/C/man2/prctl.2:423
820 #: build/C/man2/rt_sigqueueinfo.2:136 build/C/man2/sigaction.2:659
821 #: build/C/man2/sigaltstack.2:140 build/C/man3/siginterrupt.3:77
822 #: build/C/man2/signal.2:101 build/C/man2/signalfd.2:268
823 #: build/C/man2/signalfd.2:276 build/C/man3/sigqueue.3:96
824 #: build/C/man3/sigsetops.3:122 build/C/man3/sigwait.3:72
825 #: build/C/man2/sigwaitinfo.2:122 build/C/man2/timer_create.2:177
826 #: build/C/man2/timer_delete.2:58 build/C/man2/timer_getoverrun.2:88
827 #: build/C/man2/timer_settime.2:187 build/C/man2/timer_settime.2:195
828 #: build/C/man2/timerfd_create.2:304 build/C/man2/timerfd_create.2:312
829 #: build/C/man2/timerfd_create.2:348 build/C/man2/timerfd_create.2:355
830 #: build/C/man2/timerfd_create.2:361 build/C/man2/tkill.2:74
831 #: build/C/man2/wait.2:416
832 #, no-wrap
833 msgid "B<EINVAL>"
834 msgstr "B<EINVAL>"
835
836 #. type: Plain text
837 #: build/C/man2/eventfd.2:234
838 msgid "An unsupported value was specified in I<flags>."
839 msgstr ""
840
841 #. type: TP
842 #: build/C/man2/eventfd.2:234 build/C/man2/signalfd.2:283
843 #: build/C/man2/timerfd_create.2:319
844 #, no-wrap
845 msgid "B<EMFILE>"
846 msgstr "B<EMFILE>"
847
848 #. type: Plain text
849 #: build/C/man2/eventfd.2:237
850 msgid "The per-process limit on open file descriptors has been reached."
851 msgstr ""
852 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
853
854 #. type: TP
855 #: build/C/man2/eventfd.2:237 build/C/man2/signalfd.2:286
856 #: build/C/man2/timerfd_create.2:322
857 #, no-wrap
858 msgid "B<ENFILE>"
859 msgstr "B<ENFILE>"
860
861 #. type: Plain text
862 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
863 #: build/C/man2/timerfd_create.2:326
864 msgid ""
865 "The system-wide limit on the total number of open files has been reached."
866 msgstr "オープン済みのファイル総数がシステム全体の上限に達していた。"
867
868 #. type: TP
869 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
870 #: build/C/man2/timerfd_create.2:326
871 #, no-wrap
872 msgid "B<ENODEV>"
873 msgstr "B<ENODEV>"
874
875 #. type: Plain text
876 #: build/C/man2/eventfd.2:249 build/C/man2/signalfd.2:293
877 #: build/C/man2/timerfd_create.2:329
878 msgid "Could not mount (internal) anonymous inode device."
879 msgstr "(カーネル内の) 無名 inode デバイスをマウントできなかった。"
880
881 #. type: TP
882 #: build/C/man2/eventfd.2:249 build/C/man2/sigaltstack.2:145
883 #: build/C/man2/signalfd.2:293 build/C/man2/timer_create.2:185
884 #: build/C/man2/timerfd_create.2:329
885 #, no-wrap
886 msgid "B<ENOMEM>"
887 msgstr "B<ENOMEM>"
888
889 #. type: Plain text
890 #: build/C/man2/eventfd.2:253
891 msgid "There was insufficient memory to create a new eventfd file descriptor."
892 msgstr ""
893 "新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
894
895 #. type: SH
896 #: build/C/man2/eventfd.2:253 build/C/man2/prctl.2:470
897 #: build/C/man3/psignal.3:93 build/C/man2/rt_sigqueueinfo.2:164
898 #: build/C/man2/signalfd.2:296 build/C/man3/sigqueue.3:110
899 #: build/C/man2/timer_create.2:189 build/C/man2/timer_delete.2:62
900 #: build/C/man2/timer_getoverrun.2:92 build/C/man2/timer_settime.2:201
901 #: build/C/man2/timerfd_create.2:367 build/C/man2/tkill.2:85
902 #, no-wrap
903 msgid "VERSIONS"
904 msgstr "バージョン"
905
906 #.  eventfd() is in glibc 2.7, but reportedly does not build
907 #. type: Plain text
908 #: build/C/man2/eventfd.2:266
909 msgid ""
910 "B<eventfd>()  is available on Linux since kernel 2.6.22.  Working support is "
911 "provided in glibc since version 2.8.  The B<eventfd2>()  system call (see "
912 "NOTES) is available on Linux since kernel 2.6.27.  Since version 2.9, the "
913 "glibc B<eventfd>()  wrapper will employ the B<eventfd2>()  system call, if "
914 "it is supported by the kernel."
915 msgstr ""
916 "B<eventfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
917 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<eventfd2>()  "
918 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
919 "る。 バージョン 2.9 以降では、glibc の B<eventfd>()  のラッパー関数は、カーネ"
920 "ルが対応していれば B<eventfd2>()  システムコールを利用する。"
921
922 #. type: Plain text
923 #: build/C/man2/eventfd.2:271
924 msgid "B<eventfd>()  and B<eventfd2>()  are Linux-specific."
925 msgstr "B<eventfd>()  と B<eventfd2>()  は Linux 固有である。"
926
927 #. type: Plain text
928 #: build/C/man2/eventfd.2:279
929 msgid ""
930 "Applications can use an eventfd file descriptor instead of a pipe (see "
931 "B<pipe>(2))  in all cases where a pipe is used simply to signal events.  The "
932 "kernel overhead of an eventfd file descriptor is much lower than that of a "
933 "pipe, and only one file descriptor is required (versus the two required for "
934 "a pipe)."
935 msgstr ""
936 "アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場"
937 "面において、パイプの代わりに eventfd ファイルディスクリプタを 使用することが"
938 "できる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて "
939 "カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つ"
940 "しか必要としない (パイプの場合は二つ必要である)。"
941
942 #.  or eventually syslets/threadlets
943 #. type: Plain text
944 #: build/C/man2/eventfd.2:285
945 msgid ""
946 "When used in the kernel, an eventfd file descriptor can provide a kernel-"
947 "userspace bridge allowing, for example, functionalities like KAIO (kernel "
948 "AIO)  to signal to a file descriptor that some operation is complete."
949 msgstr ""
950 "カーネル内で使用すると、eventfd ファイルディスクリプタは カーネル空間とユーザ"
951 "空間のブリッジ機能を提供することができ、 例えば KAIO (kernel AIO)  のような機"
952 "能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することが"
953 "できる。"
954
955 #. type: Plain text
956 #: build/C/man2/eventfd.2:302
957 msgid ""
958 "A key point about an eventfd file descriptor is that it can be monitored "
959 "just like any other file descriptor using B<select>(2), B<poll>(2), or "
960 "B<epoll>(7).  This means that an application can simultaneously monitor the "
961 "readiness of \"traditional\" files and the readiness of other kernel "
962 "mechanisms that support the eventfd interface.  (Without the B<eventfd>()  "
963 "interface, these mechanisms could not be multiplexed via B<select>(2), "
964 "B<poll>(2), or B<epoll>(7).)"
965 msgstr ""
966 "eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタ"
967 "が B<select>(2), B<poll>(2), B<epoll>(7)  を使って他のファイルディスクリプタ"
968 "と全く同様に監視できる点である。 このことは、アプリケーションは「従来の "
969 "(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他の"
970 "カーネル機構の状態変化を同時に監視 できることを意味する (B<eventfd>()  インタ"
971 "フェースがない時には、これらのカーネル機構は B<select>(2), B<poll>(2), "
972 "B<epoll>(7)  経由で多重することはできなかった)。"
973
974 #. type: SS
975 #: build/C/man2/eventfd.2:302 build/C/man2/signalfd.2:333
976 #, no-wrap
977 msgid "Underlying Linux system calls"
978 msgstr "下層にある Linux のシステムコール"
979
980 #. type: Plain text
981 #: build/C/man2/eventfd.2:316
982 msgid ""
983 "There are two underlying Linux system calls: B<eventfd>()  and the more "
984 "recent B<eventfd2>().  The former system call does not implement a I<flags> "
985 "argument.  The latter system call implements the I<flags> values described "
986 "above.  The glibc wrapper function will use B<eventfd2>()  where it is "
987 "available."
988 msgstr ""
989 "下層にある Linux システムコールは二種類あり、 B<eventfd>()  と、もっと新しい "
990 "B<eventfd2>()  である。 B<eventfd>()  は I<flags> 引き数を実装していない。 "
991 "B<eventfd2>()  では上記の値の I<flags> が実装されている。 glibc のラッパー関"
992 "数は、 B<eventfd2>()  が利用可能であれば、これを使用する。"
993
994 #. type: SS
995 #: build/C/man2/eventfd.2:316
996 #, no-wrap
997 msgid "Additional glibc features"
998 msgstr "glibc の追加機能"
999
1000 #. type: Plain text
1001 #: build/C/man2/eventfd.2:320
1002 msgid ""
1003 "The GNU C library defines an additional type, and two functions that attempt "
1004 "to abstract some of the details of reading and writing on an eventfd file "
1005 "descriptor:"
1006 msgstr ""
1007 "GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに を関"
1008 "する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義してい"
1009 "る。"
1010
1011 #. type: Plain text
1012 #: build/C/man2/eventfd.2:324
1013 #, no-wrap
1014 msgid "typedef uint64_t eventfd_t;\n"
1015 msgstr "typedef uint64_t eventfd_t;\n"
1016
1017 #. type: Plain text
1018 #: build/C/man2/eventfd.2:327
1019 #, no-wrap
1020 msgid ""
1021 "int eventfd_read(int fd, eventfd_t *value);\n"
1022 "int eventfd_write(int fd, eventfd_t value);\n"
1023 msgstr ""
1024 "int eventfd_read(int fd, eventfd_t *value);\n"
1025 "int eventfd_write(int fd, eventfd_t value);\n"
1026
1027 #. type: Plain text
1028 #: build/C/man2/eventfd.2:334
1029 msgid ""
1030 "The functions perform the read and write operations on an eventfd file "
1031 "descriptor, returning 0 if the correct number of bytes was transferred, or "
1032 "-1 otherwise."
1033 msgstr ""
1034 "これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操"
1035 "作を実行し、正しいバイト数が転送された場合には 0 を返し、そうでない場合は -1 "
1036 "を返す。"
1037
1038 #. type: SH
1039 #: build/C/man2/eventfd.2:334 build/C/man2/sigaction.2:779
1040 #: build/C/man2/sigaltstack.2:213 build/C/man2/signalfd.2:357
1041 #: build/C/man2/timer_create.2:251 build/C/man2/timer_getoverrun.2:125
1042 #: build/C/man2/timer_settime.2:205 build/C/man2/timerfd_create.2:372
1043 #: build/C/man2/wait.2:522
1044 #, no-wrap
1045 msgid "EXAMPLE"
1046 msgstr "例"
1047
1048 #. type: Plain text
1049 #: build/C/man2/eventfd.2:343
1050 msgid ""
1051 "The following program creates an eventfd file descriptor and then forks to "
1052 "create a child process.  While the parent briefly sleeps, the child writes "
1053 "each of the integers supplied in the program's command-line arguments to the "
1054 "eventfd file descriptor.  When the parent has finished sleeping, it reads "
1055 "from the eventfd file descriptor."
1056 msgstr ""
1057 "以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実"
1058 "行して子プロセスを生成する。 親プロセスが少しの間 sleep する間に、子プロセス"
1059 "は プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd "
1060 "ファイルディスクリプタに書き込む。 親プロセスは sleep を完了すると eventfd "
1061 "ファイルディスクリプタから 読み出しを行う。"
1062
1063 #. type: Plain text
1064 #: build/C/man2/eventfd.2:345
1065 msgid "The following shell session shows a sample run of the program:"
1066 msgstr "以下に示すシェルセッションにこのプログラムの使い方を示す。"
1067
1068 #. type: Plain text
1069 #: build/C/man2/eventfd.2:357
1070 #, no-wrap
1071 msgid ""
1072 "$B< ./a.out 1 2 4 7 14>\n"
1073 "Child writing 1 to efd\n"
1074 "Child writing 2 to efd\n"
1075 "Child writing 4 to efd\n"
1076 "Child writing 7 to efd\n"
1077 "Child writing 14 to efd\n"
1078 "Child completed write loop\n"
1079 "Parent about to read\n"
1080 "Parent read 28 (0x1c) from efd\n"
1081 msgstr ""
1082 "$B< ./a.out 1 2 4 7 14>\n"
1083 "Child writing 1 to efd\n"
1084 "Child writing 2 to efd\n"
1085 "Child writing 4 to efd\n"
1086 "Child writing 7 to efd\n"
1087 "Child writing 14 to efd\n"
1088 "Child completed write loop\n"
1089 "Parent about to read\n"
1090 "Parent read 28 (0x1c) from efd\n"
1091
1092 #. type: SS
1093 #: build/C/man2/eventfd.2:359 build/C/man2/signalfd.2:380
1094 #: build/C/man2/timerfd_create.2:400 build/C/man2/wait.2:557
1095 #, no-wrap
1096 msgid "Program source"
1097 msgstr "プログラムのソース"
1098
1099 #. type: Plain text
1100 #: build/C/man2/eventfd.2:367
1101 #, no-wrap
1102 msgid ""
1103 "#include E<lt>sys/eventfd.hE<gt>\n"
1104 "#include E<lt>unistd.hE<gt>\n"
1105 "#include E<lt>stdlib.hE<gt>\n"
1106 "#include E<lt>stdio.hE<gt>\n"
1107 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1108 msgstr ""
1109 "#include E<lt>sys/eventfd.hE<gt>\n"
1110 "#include E<lt>unistd.hE<gt>\n"
1111 "#include E<lt>stdlib.hE<gt>\n"
1112 "#include E<lt>stdio.hE<gt>\n"
1113 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1114
1115 #. type: Plain text
1116 #: build/C/man2/eventfd.2:370 build/C/man2/signalfd.2:391
1117 #, no-wrap
1118 msgid ""
1119 "#define handle_error(msg) \\e\n"
1120 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1121 msgstr ""
1122 "#define handle_error(msg) \\e\n"
1123 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1124
1125 #. type: Plain text
1126 #: build/C/man2/eventfd.2:377
1127 #, no-wrap
1128 msgid ""
1129 "int\n"
1130 "main(int argc, char *argv[])\n"
1131 "{\n"
1132 "    int efd, j;\n"
1133 "    uint64_t u;\n"
1134 "    ssize_t s;\n"
1135 msgstr ""
1136 "int\n"
1137 "main(int argc, char *argv[])\n"
1138 "{\n"
1139 "    int efd, j;\n"
1140 "    uint64_t u;\n"
1141 "    ssize_t s;\n"
1142
1143 #. type: Plain text
1144 #: build/C/man2/eventfd.2:382
1145 #, no-wrap
1146 msgid ""
1147 "    if (argc E<lt> 2) {\n"
1148 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1149 "        exit(EXIT_FAILURE);\n"
1150 "    }\n"
1151 msgstr ""
1152 "    if (argc E<lt> 2) {\n"
1153 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1154 "        exit(EXIT_FAILURE);\n"
1155 "    }\n"
1156
1157 #. type: Plain text
1158 #: build/C/man2/eventfd.2:386
1159 #, no-wrap
1160 msgid ""
1161 "    efd = eventfd(0, 0);\n"
1162 "    if (efd == -1)\n"
1163 "        handle_error(\"eventfd\");\n"
1164 msgstr ""
1165 "    efd = eventfd(0, 0);\n"
1166 "    if (efd == -1)\n"
1167 "        handle_error(\"eventfd\");\n"
1168
1169 #. type: Plain text
1170 #: build/C/man2/eventfd.2:398
1171 #, no-wrap
1172 msgid ""
1173 "    switch (fork()) {\n"
1174 "    case 0:\n"
1175 "        for (j = 1; j E<lt> argc; j++) {\n"
1176 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1177 "            u = strtoull(argv[j], NULL, 0);\n"
1178 "                    /* strtoull() allows various bases */\n"
1179 "            s = write(efd, &u, sizeof(uint64_t));\n"
1180 "            if (s != sizeof(uint64_t))\n"
1181 "                handle_error(\"write\");\n"
1182 "        }\n"
1183 "        printf(\"Child completed write loop\\en\");\n"
1184 msgstr ""
1185 "    switch (fork()) {\n"
1186 "    case 0:\n"
1187 "        for (j = 1; j E<lt> argc; j++) {\n"
1188 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1189 "            u = strtoull(argv[j], NULL, 0);\n"
1190 "                    /* strtoull() allows various bases */\n"
1191 "            s = write(efd, &u, sizeof(uint64_t));\n"
1192 "            if (s != sizeof(uint64_t))\n"
1193 "                handle_error(\"write\");\n"
1194 "        }\n"
1195 "        printf(\"Child completed write loop\\en\");\n"
1196
1197 #. type: Plain text
1198 #: build/C/man2/eventfd.2:400
1199 #, no-wrap
1200 msgid "        exit(EXIT_SUCCESS);\n"
1201 msgstr "        exit(EXIT_SUCCESS);\n"
1202
1203 #. type: Plain text
1204 #: build/C/man2/eventfd.2:403
1205 #, no-wrap
1206 msgid ""
1207 "    default:\n"
1208 "        sleep(2);\n"
1209 msgstr ""
1210 "    default:\n"
1211 "        sleep(2);\n"
1212
1213 #. type: Plain text
1214 #: build/C/man2/eventfd.2:411
1215 #, no-wrap
1216 msgid ""
1217 "        printf(\"Parent about to read\\en\");\n"
1218 "        s = read(efd, &u, sizeof(uint64_t));\n"
1219 "        if (s != sizeof(uint64_t))\n"
1220 "            handle_error(\"read\");\n"
1221 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1222 "                (unsigned long long) u, (unsigned long long) u);\n"
1223 "        exit(EXIT_SUCCESS);\n"
1224 msgstr ""
1225 "        printf(\"Parent about to read\\en\");\n"
1226 "        s = read(efd, &u, sizeof(uint64_t));\n"
1227 "        if (s != sizeof(uint64_t))\n"
1228 "            handle_error(\"read\");\n"
1229 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1230 "                (unsigned long long) u, (unsigned long long) u);\n"
1231 "        exit(EXIT_SUCCESS);\n"
1232
1233 #. type: Plain text
1234 #: build/C/man2/eventfd.2:416
1235 #, no-wrap
1236 msgid ""
1237 "    case -1:\n"
1238 "        handle_error(\"fork\");\n"
1239 "    }\n"
1240 "}\n"
1241 msgstr ""
1242 "    case -1:\n"
1243 "        handle_error(\"fork\");\n"
1244 "    }\n"
1245 "}\n"
1246
1247 #. type: Plain text
1248 #: build/C/man2/eventfd.2:428
1249 msgid ""
1250 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1251 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1252 msgstr ""
1253 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1254 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1255
1256 #. type: TH
1257 #: build/C/man2/getitimer.2:7
1258 #, no-wrap
1259 msgid "GETITIMER"
1260 msgstr "GETITIMER"
1261
1262 #. type: Plain text
1263 #: build/C/man2/getitimer.2:10
1264 msgid "getitimer, setitimer - get or set value of an interval timer"
1265 msgstr "getitimer, setitimer - インターバル・タイマーの値を取得または設定する"
1266
1267 #. type: Plain text
1268 #: build/C/man2/getitimer.2:13
1269 #, no-wrap
1270 msgid "B<#include E<lt>sys/time.hE<gt>>\n"
1271 msgstr "B<#include E<lt>sys/time.hE<gt>>\n"
1272
1273 #. type: Plain text
1274 #: build/C/man2/getitimer.2:15
1275 #, no-wrap
1276 msgid "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1277 msgstr "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1278
1279 #. type: Plain text
1280 #: build/C/man2/getitimer.2:18
1281 #, no-wrap
1282 msgid ""
1283 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1284 "B<              struct itimerval *>I<old_value>B<);>\n"
1285 msgstr ""
1286 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1287 "B<              struct itimerval *>I<old_value>B<);>\n"
1288
1289 #. type: Plain text
1290 #: build/C/man2/getitimer.2:24
1291 msgid ""
1292 "The system provides each process with three interval timers, each "
1293 "decrementing in a distinct time domain.  When any timer expires, a signal is "
1294 "sent to the process, and the timer (potentially) restarts."
1295 msgstr ""
1296 "システムは 1 個のプロセスにつき 3 個のインターバル・タイマーを提供する。 それ"
1297 "ぞれのタイマーは別々の時間領域で減少する。 どのタイマーも満了するとプロセスに"
1298 "シグナルが送られ、 タイマーは (設定によっては) 再び開始される。"
1299
1300 #. type: TP
1301 #: build/C/man2/getitimer.2:24
1302 #, no-wrap
1303 msgid "B<ITIMER_REAL>"
1304 msgstr "B<ITIMER_REAL>"
1305
1306 #. type: Plain text
1307 #: build/C/man2/getitimer.2:29
1308 msgid "decrements in real time, and delivers B<SIGALRM> upon expiration."
1309 msgstr "実時間 (real time) で減少し、満了すると B<SIGALRM> が送られる。"
1310
1311 #. type: TP
1312 #: build/C/man2/getitimer.2:29
1313 #, no-wrap
1314 msgid "B<ITIMER_VIRTUAL>"
1315 msgstr "B<ITIMER_VIRTUAL>"
1316
1317 #. type: Plain text
1318 #: build/C/man2/getitimer.2:34
1319 msgid ""
1320 "decrements only when the process is executing, and delivers B<SIGVTALRM> "
1321 "upon expiration."
1322 msgstr ""
1323 "プロセスが実行されている間のみ減少し、満了すると B<SIGVTALRM> が送られる。"
1324
1325 #. type: TP
1326 #: build/C/man2/getitimer.2:34
1327 #, no-wrap
1328 msgid "B<ITIMER_PROF>"
1329 msgstr "B<ITIMER_PROF>"
1330
1331 #. type: Plain text
1332 #: build/C/man2/getitimer.2:44
1333 msgid ""
1334 "decrements both when the process executes and when the system is executing "
1335 "on behalf of the process.  Coupled with B<ITIMER_VIRTUAL>, this timer is "
1336 "usually used to profile the time spent by the application in user and kernel "
1337 "space.  B<SIGPROF> is delivered upon expiration."
1338 msgstr ""
1339 "プロセスが実行されていて、 かつシステムがそのプロセスのために処理を行なってい"
1340 "る間に減少する。 多くの場合、このタイマーは B<ITIMER_VIRTUAL> と組み合わされ"
1341 "て、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたか"
1342 "をプロファイルするのに使用される。 満了すると B<SIGPROF> が送られる。"
1343
1344 #. type: Plain text
1345 #: build/C/man2/getitimer.2:46
1346 msgid "Timer values are defined by the following structures:"
1347 msgstr "タイマーの値は以下の構造体によって定義される:"
1348
1349 #. type: Plain text
1350 #: build/C/man2/getitimer.2:54
1351 #, no-wrap
1352 msgid ""
1353 "struct itimerval {\n"
1354 "    struct timeval it_interval; /* next value */\n"
1355 "    struct timeval it_value;    /* current value */\n"
1356 "};\n"
1357 msgstr ""
1358 "struct itimerval {\n"
1359 "    struct timeval it_interval; /* next value */\n"
1360 "    struct timeval it_value;    /* current value */\n"
1361 "};\n"
1362
1363 #. type: Plain text
1364 #: build/C/man2/getitimer.2:59
1365 #, no-wrap
1366 msgid ""
1367 "struct timeval {\n"
1368 "    long tv_sec;                /* seconds */\n"
1369 "    long tv_usec;               /* microseconds */\n"
1370 "};\n"
1371 msgstr ""
1372 "struct timeval {\n"
1373 "    long tv_sec;                /* seconds */\n"
1374 "    long tv_usec;               /* microseconds */\n"
1375 "};\n"
1376
1377 #. type: Plain text
1378 #: build/C/man2/getitimer.2:81
1379 msgid ""
1380 "The function B<getitimer>()  fills the structure pointed to by I<curr_value> "
1381 "with the current setting for the timer specified by I<which> (one of "
1382 "B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>).  The element "
1383 "I<it_value> is set to the amount of time remaining on the timer, or zero if "
1384 "the timer is disabled.  Similarly, I<it_interval> is set to the reset value."
1385 msgstr ""
1386 "B<getitimer>()  関数は、 I<which> で指定されたタイマー (B<ITIMER_REAL>, "
1387 "B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれか) の現在の設定を、 I<curr_value> で"
1388 "指定された構造体に格納する。 I<it_value> 要素にはタイマーの残り時間が設定され"
1389 "る。タイマーがオフの場合は ゼロが設定される。同様に I<it_interval> には初期値"
1390 "が設定される。"
1391
1392 #. type: Plain text
1393 #: build/C/man2/getitimer.2:89
1394 msgid ""
1395 "The function B<setitimer>()  sets the specified timer to the value in "
1396 "I<new_value>.  If I<old_value> is non-NULL, the old value of the timer is "
1397 "stored there."
1398 msgstr ""
1399 "B<setitimer>()  関数は指定されたタイマーに I<new_value> の値を設定する。 "
1400 "I<old_value> が NULL 以外の場合、タイマーの古い値が I<old_value> に格納され"
1401 "る。"
1402
1403 #. type: Plain text
1404 #: build/C/man2/getitimer.2:99
1405 msgid ""
1406 "Timers decrement from I<it_value> to zero, generate a signal, and reset to "
1407 "I<it_interval>.  A timer which is set to zero (I<it_value> is zero or the "
1408 "timer expires and I<it_interval> is zero) stops."
1409 msgstr ""
1410 "タイマーは I<it_value> からゼロへ向けて減っていき、シグナルを生成し、 "
1411 "I<it_interval> に初期化される。 タイマーがゼロに設定された場合 (I<it_value> "
1412 "がゼロか、タイマーが満了した時に I<it_interval> がゼロの場合) は停止する。"
1413
1414 #. type: Plain text
1415 #: build/C/man2/getitimer.2:105
1416 msgid ""
1417 "Both I<tv_sec> and I<tv_usec> are significant in determining the duration of "
1418 "a timer."
1419 msgstr "タイマーの期間は I<tv_sec> と I<tv_usec> の両方により決定される。"
1420
1421 #. type: Plain text
1422 #: build/C/man2/getitimer.2:117
1423 msgid ""
1424 "Timers will never expire before the requested time, but may expire some "
1425 "(short) time afterward, which depends on the system timer resolution and on "
1426 "the system load; see B<time>(7).  (But see BUGS below.)  Upon expiration, a "
1427 "signal will be generated and the timer reset.  If the timer expires while "
1428 "the process is active (always true for B<ITIMER_VIRTUAL>)  the signal will "
1429 "be delivered immediately when generated.  Otherwise the delivery will be "
1430 "offset by a small time dependent on the system loading."
1431 msgstr ""
1432 "要求した時間がくる前にタイマーが満了することはないが、 逆にある (短い) 時間だ"
1433 "け満了が遅れることはある。 どれだけ遅れるかはシステムの時間分解能とシステムの"
1434 "負荷に依存する (B<time>(7)  参照; 但し、バグの項も参照のこと)。 タイマーが満"
1435 "了するとシグナルが生成され、タイマーは初期化される。 プロセスがアクティブな"
1436 "時 (B<ITIMER_VIRTUAL> の場合には常にそうである) にタイマーが満了した場合、生"
1437 "成されたシグナルは すぐに配送される。それ以外の場合は、システムの負荷により少"
1438 "しの時間だけ 遅れて配送される。"
1439
1440 #. type: Plain text
1441 #: build/C/man2/getitimer.2:122 build/C/man2/killpg.2:93
1442 #: build/C/man2/tkill.2:73
1443 msgid ""
1444 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1445 "appropriately."
1446 msgstr ""
1447 "成功した場合、0 が返される。エラーが発生した場合、-1 が返され、 I<errno> が適"
1448 "切に設定される。"
1449
1450 #. type: TP
1451 #: build/C/man2/getitimer.2:123 build/C/man2/prctl.2:399
1452 #: build/C/man2/sigaction.2:655 build/C/man2/sigaltstack.2:136
1453 #: build/C/man2/sigpending.2:55 build/C/man2/sigsuspend.2:73
1454 #: build/C/man2/timer_settime.2:180 build/C/man2/timerfd_create.2:341
1455 #, no-wrap
1456 msgid "B<EFAULT>"
1457 msgstr "B<EFAULT>"
1458
1459 #. type: Plain text
1460 #: build/C/man2/getitimer.2:130 build/C/man2/timerfd_create.2:348
1461 msgid "I<new_value>, I<old_value>, or I<curr_value> is not valid a pointer."
1462 msgstr "I<new_value>, I<old_value>, I<curr_value> が有効なポインタではない。"
1463
1464 #. type: Plain text
1465 #: build/C/man2/getitimer.2:143
1466 msgid ""
1467 "I<which> is not one of B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>; "
1468 "or (since Linux 2.6.22) one of the I<tv_usec> fields in the structure "
1469 "pointed to by I<new_value> contains a value outside the range 0 to 999999."
1470 msgstr ""
1471 "I<which> が B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれでもな"
1472 "い。 または (Linux 2.6.22 以降で)  I<new_value> で指定された構造体の "
1473 "I<tv_usec> フィールドの一つが 0 以上 999999 以下の範囲に入らない値である。"
1474
1475 #. type: Plain text
1476 #: build/C/man2/getitimer.2:153
1477 msgid ""
1478 "POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD).  "
1479 "POSIX.1-2008 marks B<getitimer>()  and B<setitimer>()  obsolete, "
1480 "recommending the use of the POSIX timers API (B<timer_gettime>(2), "
1481 "B<timer_settime>(2), etc.) instead."
1482 msgstr ""
1483 "POSIX.1-2001, SVr4, 4.4BSD (このコールは 4.2BSD で始めて現われた).  "
1484 "POSIX.1-2008 では、 B<getitimer>()  と B<setitimer>()  は廃止予定とされてお"
1485 "り、 代わりに POSIX タイマー API (B<timer_gettime>(2), B<timer_settime>(2)  "
1486 "など) を使うことが推奨されている。"
1487
1488 #. type: Plain text
1489 #: build/C/man2/getitimer.2:159
1490 msgid ""
1491 "A child created via B<fork>(2)  does not inherit its parent's interval "
1492 "timers.  Interval timers are preserved across an B<execve>(2)."
1493 msgstr ""
1494 "B<fork>(2)  で作成された子プロセスは、 親プロセスのインターバル・タイマーを継"
1495 "承しない。 B<execve>(2)  の前後ではインターバル・タイマーは保存される。"
1496
1497 #. type: Plain text
1498 #: build/C/man2/getitimer.2:169
1499 msgid ""
1500 "POSIX.1 leaves the interaction between B<setitimer>()  and the three "
1501 "interfaces B<alarm>(2), B<sleep>(3), and B<usleep>(3)  unspecified."
1502 msgstr ""
1503 "POSIX.1 では、 B<setitimer>()  と、 B<alarm>(2), B<sleep>(3), B<usleep>(3)  "
1504 "という 3 つのインタフェースとの相互の影響については規定していない。"
1505
1506 #. type: SH
1507 #: build/C/man2/getitimer.2:169 build/C/man2/kill.2:160
1508 #: build/C/man3/profil.3:70 build/C/man3/psignal.3:99
1509 #: build/C/man2/sigaction.2:770 build/C/man7/signal.7:836
1510 #: build/C/man2/signalfd.2:349 build/C/man2/sigpending.2:76
1511 #: build/C/man3/sigset.3:230 build/C/man2/timer_getoverrun.2:112
1512 #: build/C/man2/timerfd_create.2:534
1513 #, no-wrap
1514 msgid "BUGS"
1515 msgstr "バグ"
1516
1517 #. type: Plain text
1518 #: build/C/man2/getitimer.2:178
1519 msgid ""
1520 "The generation and delivery of a signal are distinct, and only one instance "
1521 "of each of the signals listed above may be pending for a process.  Under "
1522 "very heavy loading, an B<ITIMER_REAL> timer may expire before the signal "
1523 "from a previous expiration has been delivered.  The second signal in such an "
1524 "event will be lost."
1525 msgstr ""
1526 "シグナルの生成と配送は別個のものであり、 前述のシグナルのそれぞれについて一つ"
1527 "だけがプロセスのために 待機する。 非常に重い負荷の下では、 B<ITIMER_REAL> タ"
1528 "イマーでは、時間切れにより生成された一つ前のシグナルが配送される前に、 次の時"
1529 "間切れが起こる場合がある。 そのような場合、 2 個めのイベントに対するシグナル"
1530 "は失われてしまう。"
1531
1532 #. type: Plain text
1533 #: build/C/man2/getitimer.2:193
1534 msgid ""
1535 "On Linux kernels before 2.6.16, timer values are represented in jiffies.  If "
1536 "a request is made set a timer with a value whose jiffies representation "
1537 "exceeds B<MAX_SEC_IN_JIFFIES> (defined in I<include/linux/jiffies.h>), then "
1538 "the timer is silently truncated to this ceiling value.  On Linux/i386 "
1539 "(where, since Linux 2.6.13, the default jiffy is 0.004 seconds), this means "
1540 "that the ceiling value for a timer is approximately 99.42 days.  Since Linux "
1541 "2.6.16, the kernel uses a different internal representation for times, and "
1542 "this ceiling is removed."
1543 msgstr ""
1544 "バージョン 2.6.16 より前の Linux カーネルでは、 タイマーの値は jiffy で表現さ"
1545 "れる。 要求が jiffy 表現で (I<include/linux/jiffies.h> で定義されている)  "
1546 "B<MAX_SEC_IN_JIFFIES> を越える値をタイマーに設定しようとするものの場合、 タイ"
1547 "マーは暗黙にこの上限値に切り詰められる。 Linux/i386 の場合 (Linux 2.6.13 以降"
1548 "では jiffy は 0.004 秒) の場合、 これはタイマーの上限値がおよそ 99.42 日にな"
1549 "ることを意味する。 Linux 2.6.16 以降では、カーネルは時間に関する内部表現とし"
1550 "て 異なる表現を使うようになっており、この上限はなくなった。"
1551
1552 #.  4 Jul 2005: It looks like this bug may remain in 2.4.x.
1553 #.      http://lkml.org/lkml/2005/7/1/165
1554 #. type: Plain text
1555 #: build/C/man2/getitimer.2:200
1556 msgid ""
1557 "On certain systems (including i386), Linux kernels before version 2.6.12 "
1558 "have a bug which will produce premature timer expirations of up to one jiffy "
1559 "under some circumstances.  This bug is fixed in kernel 2.6.12."
1560 msgstr ""
1561 "(i386 を含む) いくつかのシステムでは、 バージョン 2.6.12 以前の Linux カーネ"
1562 "ルは ある種の状況では 1 jiffy 早くタイマーが終了してしまうというバグがあっ"
1563 "た。 このバグはカーネル 2.6.12 で修正された。"
1564
1565 #.  Bugzilla report 25 Apr 2006:
1566 #.  http://bugzilla.kernel.org/show_bug.cgi?id=6443
1567 #.  "setitimer() should reject noncanonical arguments"
1568 #. type: Plain text
1569 #: build/C/man2/getitimer.2:219
1570 msgid ""
1571 "POSIX.1-2001 says that B<setitimer>()  should fail if a I<tv_usec> value is "
1572 "specified that is outside of the range 0 to 999999.  However, in kernels up "
1573 "to and including 2.6.21, Linux does not give an error, but instead silently "
1574 "adjusts the corresponding seconds value for the timer.  From kernel 2.6.22 "
1575 "onward, this nonconformance has been repaired: an improper I<tv_usec> value "
1576 "results in an B<EINVAL> error."
1577 msgstr ""
1578 "POSIX.1-2001 では B<setitimer>()  は I<tv_usec> の値が 0 から 999999 の範囲外"
1579 "である場合には失敗するべきだとしている。 しかし、2.6.21 以前のカーネルの "
1580 "Linux ではエラーにならず、 対応する秒数の分だけそのタイマーの秒の値が暗黙に調"
1581 "整される。 カーネル 2.6.22 以降では、この標準非準拠の動作は修正され、 "
1582 "I<tv_usec> の値が不適切な場合には B<EINVAL> エラーとなる。"
1583
1584 #. type: Plain text
1585 #: build/C/man2/getitimer.2:226
1586 msgid ""
1587 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1588 "B<timerfd_create>(2), B<time>(7)"
1589 msgstr ""
1590 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1591 "B<timerfd_create>(2), B<time>(7)"
1592
1593 #. type: TH
1594 #: build/C/man3/gsignal.3:25
1595 #, no-wrap
1596 msgid "GSIGNAL"
1597 msgstr "GSIGNAL"
1598
1599 #. type: TH
1600 #: build/C/man3/gsignal.3:25 build/C/man3/profil.3:28 build/C/man3/sigvec.3:24
1601 #, no-wrap
1602 msgid "2007-07-26"
1603 msgstr "2007-07-26"
1604
1605 #. type: Plain text
1606 #: build/C/man3/gsignal.3:28
1607 msgid "gsignal, ssignal - software signal facility"
1608 msgstr "gsignal, ssignal - ソフトウェア・シグナル機能"
1609
1610 #. type: Plain text
1611 #: build/C/man3/gsignal.3:31 build/C/man2/kill.2:52 build/C/man3/psignal.3:34
1612 #: build/C/man3/raise.3:33 build/C/man2/sigaction.2:51
1613 #: build/C/man3/siginterrupt.3:35 build/C/man3/sigpause.3:29
1614 #: build/C/man3/sigwait.3:30 build/C/man2/sigwaitinfo.2:29
1615 #, no-wrap
1616 msgid "B<#include E<lt>signal.hE<gt>>\n"
1617 msgstr "B<#include E<lt>signal.hE<gt>>\n"
1618
1619 #. type: Plain text
1620 #: build/C/man3/gsignal.3:33
1621 #, no-wrap
1622 msgid "B<typedef void (*sighandler_t)(int);>\n"
1623 msgstr "B<typedef void (*sighandler_t)(int);>\n"
1624
1625 #. type: Plain text
1626 #: build/C/man3/gsignal.3:35
1627 #, no-wrap
1628 msgid "B<int gsignal(int>I<signum>B<);>\n"
1629 msgstr "B<int gsignal(int >I<signum>B<);>\n"
1630
1631 #. type: Plain text
1632 #: build/C/man3/gsignal.3:37
1633 #, no-wrap
1634 msgid "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1635 msgstr "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1636
1637 #. type: Plain text
1638 #: build/C/man3/gsignal.3:42 build/C/man2/kill.2:59 build/C/man2/killpg.2:51
1639 #: build/C/man3/profil.3:40 build/C/man3/psignal.3:44
1640 #: build/C/man2/sigaction.2:59 build/C/man2/sigaltstack.2:36
1641 #: build/C/man3/siginterrupt.3:42 build/C/man2/sigpending.2:38
1642 #: build/C/man2/sigprocmask.2:39 build/C/man3/sigqueue.3:37
1643 #: build/C/man3/sigset.3:43 build/C/man3/sigsetops.3:49
1644 #: build/C/man2/sigsuspend.2:38 build/C/man3/sigvec.3:43
1645 #: build/C/man3/sigwait.3:37 build/C/man2/sigwaitinfo.2:39
1646 #: build/C/man2/timer_create.2:46 build/C/man2/timer_delete.2:38
1647 #: build/C/man2/timer_getoverrun.2:38 build/C/man2/timer_settime.2:42
1648 #: build/C/man2/wait.2:68 build/C/man2/wait4.2:54
1649 msgid ""
1650 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
1651 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
1652
1653 #. type: Plain text
1654 #: build/C/man3/gsignal.3:47
1655 msgid "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1656 msgstr "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1657
1658 #. type: Plain text
1659 #: build/C/man3/gsignal.3:55
1660 msgid ""
1661 "Don't use these functions under Linux.  Due to a historical mistake, under "
1662 "Linux these functions are aliases for B<raise>(3)  and B<signal>(2), "
1663 "respectively."
1664 msgstr ""
1665 "Linux ではこれらの関数を使用しないこと。 過去に間違いがあり、Linux では "
1666 "B<gsignal>()  と B<ssignal>()  はそれぞれ B<raise>(3)  と B<signal>(2)  の別"
1667 "名になっている。"
1668
1669 #. type: Plain text
1670 #: build/C/man3/gsignal.3:93
1671 msgid ""
1672 "Elsewhere, on System V-like systems, these functions implement software "
1673 "signaling, entirely independent of the classical B<signal>(2)  and B<kill>"
1674 "(2)  functions.  The function B<ssignal>()  defines the action to take when "
1675 "the software signal with number I<signum> is raised using the function "
1676 "B<gsignal>(), and returns the previous such action or B<SIG_DFL>.  The "
1677 "function B<gsignal>()  does the following: if no action (or the action "
1678 "B<SIG_DFL>)  was specified for I<signum>, then it does nothing and returns "
1679 "0.  If the action B<SIG_IGN> was specified for I<signum>, then it does "
1680 "nothing and returns 1.  Otherwise, it resets the action to B<SIG_DFL> and "
1681 "calls the action function with argument I<signum>, and returns the value "
1682 "returned by that function.  The range of possible values I<signum> varies "
1683 "(often 1-15 or 1-17)."
1684 msgstr ""
1685 "一方、System V 風のシステムでは、これらの関数で、 従来の B<signal>(2)  や "
1686 "B<kill>(2)  の関数群とは完全に独立な、 ソフトウェア・シグナリングを実現してい"
1687 "る。 B<ssignal>()  関数は、番号 I<signum> のソフトウェア・シグナルが "
1688 "B<gsignal>()  関数を使って発生された時にとるべきアクションを定義する。 "
1689 "B<gsignal>()  の返り値は、一つ前に指定されていたアクション、もしくは "
1690 "B<SIG_DFL> である。 B<gsignal>()  は以下のような動作を行う: I<signum> に対し"
1691 "てアクションが指定されていないか、アクション B<SIG_DFL> が指定されていた場"
1692 "合、何もせずに 0 を返す。 I<signum> に対して アクション B<SIG_IGN> が指定され"
1693 "ていた場合、何もせずに 1 を返す。 それ以外の場合、アクションを B<SIG_DFL> に"
1694 "リセットし、引き数に I<signum> を指定してアクション関数を呼び出して、アクショ"
1695 "ン関数の返り値を返す。 I<signum> がとり得る値の範囲は実装により異なる (多くの"
1696 "場合 1〜15 か 1〜17 である)。"
1697
1698 #. type: Plain text
1699 #: build/C/man3/gsignal.3:101
1700 msgid ""
1701 "These functions are available under AIX, DG/UX, HP-UX, SCO, Solaris, Tru64.  "
1702 "They are called obsolete under most of these systems, and are broken under "
1703 "Linux libc and glibc.  Some systems also have B<gsignal_r>()  and "
1704 "B<ssignal_r>()."
1705 msgstr ""
1706 "これらの関数は、AIX, DG/UX, HP-UX, SCO, Solaris, Tru64 で使用可能である。 こ"
1707 "れらのシステムのほとんどで廃止されたことになっており、 Linux の libc および "
1708 "glibc では正しく実装されていない。 B<gsignal_r>()  と B<ssignal_r>()  が実装"
1709 "されているシステムもある。"
1710
1711 #. type: Plain text
1712 #: build/C/man3/gsignal.3:105
1713 msgid "B<kill>(2), B<signal>(2), B<raise>(3)"
1714 msgstr "B<kill>(2), B<signal>(2), B<raise>(3)"
1715
1716 #. type: TH
1717 #: build/C/man2/kill.2:44
1718 #, no-wrap
1719 msgid "KILL"
1720 msgstr "KILL"
1721
1722 #. type: TH
1723 #: build/C/man2/kill.2:44
1724 #, no-wrap
1725 msgid "2009-09-15"
1726 msgstr "2009-09-15"
1727
1728 #. type: Plain text
1729 #: build/C/man2/kill.2:47
1730 msgid "kill - send signal to a process"
1731 msgstr "kill - プロセスにシグナルを送る"
1732
1733 #. type: Plain text
1734 #: build/C/man2/kill.2:50
1735 #, no-wrap
1736 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
1737 msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
1738
1739 #. type: Plain text
1740 #: build/C/man2/kill.2:54
1741 #, no-wrap
1742 msgid "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1743 msgstr "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1744
1745 #. type: Plain text
1746 #: build/C/man2/kill.2:64
1747 msgid ""
1748 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1749 msgstr ""
1750 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1751
1752 #. type: Plain text
1753 #: build/C/man2/kill.2:70
1754 msgid ""
1755 "The B<kill>()  system call can be used to send any signal to any process "
1756 "group or process."
1757 msgstr ""
1758 "システムコールの B<kill>()  は、任意のプロセス・グループもしくはプロセスにシ"
1759 "グナルを 送るのに使われる。"
1760
1761 #. type: Plain text
1762 #: build/C/man2/kill.2:73
1763 msgid ""
1764 "If I<pid> is positive, then signal I<sig> is sent to the process with the ID "
1765 "specified by I<pid>."
1766 msgstr ""
1767 "I<pid> に正の値を指定した場合、シグナル I<sig> が I<pid> で指定された ID を持"
1768 "つプロセスに送られる。"
1769
1770 #. type: Plain text
1771 #: build/C/man2/kill.2:76
1772 msgid ""
1773 "If I<pid> equals 0, then I<sig> is sent to every process in the process "
1774 "group of the calling process."
1775 msgstr ""
1776 "I<pid> に 0 を指定した場合、 呼び出し元のプロセスのプロセス・グループに属する"
1777 "すべてのプロセスに I<sig> で指定したシグナルが送られる。"
1778
1779 #. type: Plain text
1780 #: build/C/man2/kill.2:80
1781 msgid ""
1782 "If I<pid> equals -1, then I<sig> is sent to every process for which the "
1783 "calling process has permission to send signals, except for process 1 "
1784 "(I<init>), but see below."
1785 msgstr ""
1786 "I<pid> に -1 を指定した場合、 I<sig> で指定したシグナルが、 呼び出し元のプロ"
1787 "セスがシグナルを送る許可を持つ全てのプロセスに 送られる。但し、プロセス番号 "
1788 "1 (I<init>) へはシグナルは送られない。 以下の関連部分も参照のこと。"
1789
1790 #. type: Plain text
1791 #: build/C/man2/kill.2:83
1792 msgid ""
1793 "If I<pid> is less than -1, then I<sig> is sent to every process in the "
1794 "process group whose ID is I<-pid>."
1795 msgstr ""
1796 "I<pid> に -1 より小さな値を指定した場合、 ID が I<-pid> のプロセス・グループ"
1797 "に属するすべてのプロセスに I<sig> で指定したシグナルが送られる。"
1798
1799 #. type: Plain text
1800 #: build/C/man2/kill.2:88
1801 msgid ""
1802 "If I<sig> is 0, then no signal is sent, but error checking is still "
1803 "performed; this can be used to check for the existence of a process ID or "
1804 "process group ID."
1805 msgstr ""
1806 "I<sig> に 0 を指定した場合、シグナルは送られないが、 エラーのチェックは行われ"
1807 "る。これを使って、プロセス ID や プロセスグループ ID の存在確認を行うことがで"
1808 "きる。"
1809
1810 #. type: Plain text
1811 #: build/C/man2/kill.2:99 build/C/man2/killpg.2:88
1812 msgid ""
1813 "For a process to have permission to send a signal it must either be "
1814 "privileged (under Linux: have the B<CAP_KILL> capability), or the real or "
1815 "effective user ID of the sending process must equal the real or saved set-"
1816 "user-ID of the target process.  In the case of B<SIGCONT> it suffices when "
1817 "the sending and receiving processes belong to the same session."
1818 msgstr ""
1819 "プロセスがシグナルを送信する許可を持つためには、 プロセスが特権 (Linux では "
1820 "B<CAP_KILL> ケーパビリティ (capability)) を持つか、 送信元プロセスの実ユー"
1821 "ザー ID または実効ユーザー ID が 送信先プロセスの実 set-user-ID または保存 "
1822 "set-user-ID と 等しくなければならない。 B<SIGCONT> の場合、送信プロセスと受信"
1823 "プロセスが 同じセッションに属していれば十分である。"
1824
1825 #. type: Plain text
1826 #: build/C/man2/kill.2:104
1827 msgid ""
1828 "On success (at least one signal was sent), zero is returned.  On error, -1 "
1829 "is returned, and I<errno> is set appropriately."
1830 msgstr ""
1831 "成功した場合 (少なくとも一つのシグナルが送信された場合)、 0 が返される。エ"
1832 "ラーの場合 -1 が返され、 I<errno> が適切に設定される。"
1833
1834 #. type: Plain text
1835 #: build/C/man2/kill.2:108
1836 msgid "An invalid signal was specified."
1837 msgstr "無効なシグナルを指定した。"
1838
1839 #. type: TP
1840 #: build/C/man2/kill.2:108 build/C/man2/killpg.2:98 build/C/man2/prctl.2:432
1841 #: build/C/man2/prctl.2:444 build/C/man2/prctl.2:454
1842 #: build/C/man2/rt_sigqueueinfo.2:143 build/C/man2/sigaltstack.2:149
1843 #: build/C/man3/sigqueue.3:100 build/C/man2/tkill.2:77
1844 #, no-wrap
1845 msgid "B<EPERM>"
1846 msgstr "B<EPERM>"
1847
1848 #. type: Plain text
1849 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102
1850 msgid ""
1851 "The process does not have permission to send the signal to any of the target "
1852 "processes."
1853 msgstr ""
1854 "プロセスが、受信するプロセスのいずれに対しても シグナルを送る許可を持っていな"
1855 "い。"
1856
1857 #. type: TP
1858 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102 build/C/man2/killpg.2:106
1859 #: build/C/man2/rt_sigqueueinfo.2:151 build/C/man3/sigqueue.3:106
1860 #: build/C/man2/tkill.2:82
1861 #, no-wrap
1862 msgid "B<ESRCH>"
1863 msgstr "B<ESRCH>"
1864
1865 #. type: Plain text
1866 #: build/C/man2/kill.2:120
1867 msgid ""
1868 "The pid or process group does not exist.  Note that an existing process "
1869 "might be a zombie, a process which already committed termination, but has "
1870 "not yet been B<wait>(2)ed for."
1871 msgstr ""
1872 "指定したプロセスまたはプロセス・グループが存在しなかった。 ゾンビプロセスは存"
1873 "在するプロセスとしてみなされる。 ゾンビプロセスとはすでに処理は終了している"
1874 "が、親プロセスによる B<wait>()  処理が行われていないプロセスのことである。"
1875
1876 #. type: Plain text
1877 #: build/C/man2/kill.2:122 build/C/man2/pause.2:59 build/C/man2/wait.2:423
1878 msgid "SVr4, 4.3BSD, POSIX.1-2001."
1879 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
1880
1881 #. type: Plain text
1882 #: build/C/man2/kill.2:130
1883 msgid ""
1884 "The only signals that can be sent to process ID 1, the I<init> process, are "
1885 "those for which I<init> has explicitly installed signal handlers.  This is "
1886 "done to assure the system is not brought down accidentally."
1887 msgstr ""
1888 "プロセス番号 1 の I<init> プロセスに送ることができるシグナルは、 I<init> が明"
1889 "示的にシグナルハンドラを設定したシグナルだけである。 こうなっているのは、誤っ"
1890 "てシステムをダウンさせないようにするためである。"
1891
1892 #. type: Plain text
1893 #: build/C/man2/kill.2:136
1894 msgid ""
1895 "POSIX.1-2001 requires that I<kill(-1,sig)> send I<sig> to all processes that "
1896 "the calling process may send signals to, except possibly for some "
1897 "implementation-defined system processes.  Linux allows a process to signal "
1898 "itself, but on Linux the call I<kill(-1,sig)> does not signal the calling "
1899 "process."
1900 msgstr ""
1901 "POSIX.1-2001 では、 I<kill(-1,sig)> が 呼び出し元のプロセスがシグナルを送るこ"
1902 "とが出来るプロセス全てに I<sig> を送ることを要求している。 但し、システム実装"
1903 "時に定められたシステムプロセスは シグナルの送信対象から除外される。 Linux で"
1904 "は、プロセスが自分自身にシグナルを送れるようになっているが、 Linux の I<kill"
1905 "(-1,sig)> は呼び出し元のプロセスにはシグナルを送らない。"
1906
1907 #. type: Plain text
1908 #: build/C/man2/kill.2:146
1909 msgid ""
1910 "POSIX.1-2001 requires that if a process sends a signal to itself, and the "
1911 "sending thread does not have the signal blocked, and no other thread has it "
1912 "unblocked or is waiting for it in B<sigwait>(3), at least one unblocked "
1913 "signal must be delivered to the sending thread before the B<kill>()  returns."
1914 msgstr ""
1915 "POSIX.1-2001 では以下の動作になることを要求している。 自分自身にシグナルを送"
1916 "ると、シグナルを送ったスレッドがそのシグナルをブロック しておらず、他のどのス"
1917 "レッドもそのシグナルを受ける状態にもなく B<sigwait>(3)  でそのシグナルを待っ"
1918 "てもいない場合、 B<kill>()  が返る前に少なくとも一つのブロックされていない シ"
1919 "グナルがシグナルを送ったスレッドに配送されなければならない。"
1920
1921 #. type: SS
1922 #: build/C/man2/kill.2:146 build/C/man3/sigpause.3:75 build/C/man2/wait.2:477
1923 #, no-wrap
1924 msgid "Linux Notes"
1925 msgstr "Linux での注意"
1926
1927 #.  In the 0.* kernels things chopped and changed quite
1928 #.  a bit - MTK, 24 Jul 02
1929 #. type: Plain text
1930 #: build/C/man2/kill.2:160
1931 msgid ""
1932 "Across different kernel versions, Linux has enforced different rules for the "
1933 "permissions required for an unprivileged process to send a signal to another "
1934 "process.  In kernels 1.0 to 1.2.2, a signal could be sent if the effective "
1935 "user ID of the sender matched that of the receiver, or the real user ID of "
1936 "the sender matched that of the receiver.  From kernel 1.2.3 until 1.3.77, a "
1937 "signal could be sent if the effective user ID of the sender matched either "
1938 "the real or effective user ID of the receiver.  The current rules, which "
1939 "conform to POSIX.1-2001, were adopted in kernel 1.3.78."
1940 msgstr ""
1941 "Linux では、特権のないプロセスが他のプロセスにシグナルを送信するために 必要な"
1942 "権限についてのルールが、カーネルバージョンにより違っている。 カーネル 1.0 か"
1943 "ら 1.2.2 では、送信側の実効ユーザーID が受信側の 実効ユーザー IDと一致すれば"
1944 "シグナルを送信できた。 カーネル 1.2.3 から 1.3.77では、送信側の実効ユーザー"
1945 "ID が受信側の 実ユーザーID か実効ユーザーID のいずれかと一致すればシグナルを"
1946 "送信できた。 現在のルールは、POSIX.1-2001 に準拠しており、カーネル 1.3.78 以"
1947 "降で 適用されている。"
1948
1949 #. type: Plain text
1950 #: build/C/man2/kill.2:170
1951 msgid ""
1952 "In 2.6 kernels up to and including 2.6.7, there was a bug that meant that "
1953 "when sending signals to a process group, B<kill>()  failed with the error "
1954 "B<EPERM> if the caller did have permission to send the signal to I<any> "
1955 "(rather than I<all>) of the members of the process group.  Notwithstanding "
1956 "this error return, the signal was still delivered to all of the processes "
1957 "for which the caller had permission to signal."
1958 msgstr ""
1959 "バージョン 2.6.7 以前の 2.6 系のカーネルには、 プロセスグループにシグナルを"
1960 "送ったときに、 呼び出し元のプロセスがプロセスグループの (全メンバーではなく) "
1961 "一部のメンバー に対してのみシグナルを送る許可を持っている場合に、 B<kill>()  "
1962 "がエラー B<EPERM> で失敗するというバグがある。 このエラーが返るにもかかわら"
1963 "ず、そのシグナルは呼び出し元が シグナルを送る許可を持つ全てのプロセスへ送られ"
1964 "る。"
1965
1966 #. type: Plain text
1967 #: build/C/man2/kill.2:180
1968 msgid ""
1969 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1970 "(3), B<capabilities>(7), B<credentials>(7), B<signal>(7)"
1971 msgstr ""
1972 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1973 "(3), B<credentials>(7), B<capabilities>(7), B<signal>(7)"
1974
1975 #. type: TH
1976 #: build/C/man2/killpg.2:40
1977 #, no-wrap
1978 msgid "KILLPG"
1979 msgstr "KILLPG"
1980
1981 #. type: TH
1982 #: build/C/man2/killpg.2:40 build/C/man3/sigset.3:24 build/C/man2/wait4.2:34
1983 #, no-wrap
1984 msgid "2010-09-20"
1985 msgstr "2010-09-20"
1986
1987 #. type: Plain text
1988 #: build/C/man2/killpg.2:43
1989 msgid "killpg - send signal to a process group"
1990 msgstr "killpg - シグナルをプロセス・グループに送る"
1991
1992 #. type: Plain text
1993 #: build/C/man2/killpg.2:47
1994 msgid "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1995 msgstr "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1996
1997 #. type: TP
1998 #: build/C/man2/killpg.2:54
1999 #, no-wrap
2000 msgid "B<killpg>():"
2001 msgstr "B<killpg>():"
2002
2003 #. type: Plain text
2004 #: build/C/man2/killpg.2:58 build/C/man2/sigaltstack.2:44
2005 #: build/C/man3/siginterrupt.3:49 build/C/man2/wait4.2:61
2006 msgid ""
2007 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
2008 "_XOPEN_SOURCE_EXTENDED"
2009 msgstr ""
2010 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
2011 "_XOPEN_SOURCE_EXTENDED"
2012
2013 #. type: Plain text
2014 #: build/C/man2/killpg.2:68
2015 msgid ""
2016 "B<killpg>()  sends the signal I<sig> to the process group I<pgrp>.  See "
2017 "B<signal>(7)  for a list of signals."
2018 msgstr ""
2019 "B<killpg>()  は I<sig> で指定したシグナルを I<pgrp> で指定したプロセス・グ"
2020 "ループに送る。 シグナルの定義の一覧は B<signal>(7)  を参照のこと。"
2021
2022 #. type: Plain text
2023 #: build/C/man2/killpg.2:77
2024 msgid ""
2025 "If I<pgrp> is 0, B<killpg>()  sends the signal to the calling process's "
2026 "process group.  (POSIX says: If I<pgrp> is less than or equal to 1, the "
2027 "behavior is undefined.)"
2028 msgstr ""
2029 "引き数 I<pgrp> に 0 を指定した場合には B<killpg>()  は呼び出し元のプロセスが"
2030 "属しているプロセス・グループに対してシグナルを送る。 (POSIX では以下のように"
2031 "記述されている: I<pgrp> が 1 以下である場合、動作は未定義である。)"
2032
2033 #. type: Plain text
2034 #: build/C/man2/killpg.2:98
2035 msgid "I<Sig> is not a valid signal number."
2036 msgstr "I<sig> で指定された値は無効なシグナル番号である。"
2037
2038 #. type: Plain text
2039 #: build/C/man2/killpg.2:106
2040 msgid "No process can be found in the process group specified by I<pgrp>."
2041 msgstr ""
2042 "I<pgrp> で指定されたプロセス・グループに属するプロセスが存在しなかった。"
2043
2044 #. type: Plain text
2045 #: build/C/man2/killpg.2:110
2046 msgid ""
2047 "The process group was given as 0 but the sending process does not have a "
2048 "process group."
2049 msgstr ""
2050 "プロセス・グループとして 0 が指定されたが、送信プロセスは プロセス・グループ"
2051 "を持っていない。"
2052
2053 #. type: Plain text
2054 #: build/C/man2/killpg.2:114
2055 msgid ""
2056 "SVr4, 4.4BSD (the B<killpg>()  function call first appeared in 4BSD), "
2057 "POSIX.1-2001."
2058 msgstr "SVr4, 4.4BSD (B<killpg>()  は 4BSD で初めて追加された), POSIX.1-2001。"
2059
2060 #. type: Plain text
2061 #: build/C/man2/killpg.2:128
2062 msgid ""
2063 "There are various differences between the permission checking in BSD-type "
2064 "systems and System V-type systems.  See the POSIX rationale for B<kill>().  "
2065 "A difference not mentioned by POSIX concerns the return value B<EPERM>: BSD "
2066 "documents that no signal is sent and B<EPERM> returned when the permission "
2067 "check failed for at least one target process, while POSIX documents B<EPERM> "
2068 "only when the permission check failed for all target processes."
2069 msgstr ""
2070 "BSD 系システムと System V 系システムでは、 許可のチェックに様々な違いがあ"
2071 "る。 B<kill>(2)  についての POSIX の原理 (rationale) を参照すること。 POSIX "
2072 "で記述されていない違いとしては、返り値 B<EPERM> がある。 BSD では「送信先プロ"
2073 "セスの許可のチェックが 1 つでも失敗した場合は、 シグナルが送信されず、 "
2074 "B<EPERM> が返される」と記述されている。 POSIX では「送信先プロセスの許可の"
2075 "チェックが全て失敗した場合にのみ、 B<EPERM> が返される」と記述されている。"
2076
2077 #. type: Plain text
2078 #: build/C/man2/killpg.2:133
2079 msgid ""
2080 "On Linux, B<killpg>()  is implemented as a library function that makes the "
2081 "call I<kill(-pgrp,\\ sig)>."
2082 msgstr ""
2083 "Linux では、 B<killpg>()  はライブラリ関数として実装されており、 I<kill(-"
2084 "pgrp,\\ sig)> の呼び出しが行われる。"
2085
2086 #. type: Plain text
2087 #: build/C/man2/killpg.2:139
2088 msgid ""
2089 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<capabilities>(7), B<credentials>"
2090 "(7)"
2091 msgstr ""
2092 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<credentials>(7), B<capabilities>"
2093 "(7)"
2094
2095 #. type: TH
2096 #: build/C/man2/pause.2:30
2097 #, no-wrap
2098 msgid "PAUSE"
2099 msgstr "PAUSE"
2100
2101 #. type: TH
2102 #: build/C/man2/pause.2:30
2103 #, no-wrap
2104 msgid "2008-10-06"
2105 msgstr "2008-10-06"
2106
2107 #. type: Plain text
2108 #: build/C/man2/pause.2:33
2109 msgid "pause - wait for signal"
2110 msgstr "pause - シグナルを待つ"
2111
2112 #. type: Plain text
2113 #: build/C/man2/pause.2:35 build/C/man3/profil.3:33
2114 msgid "B<#include E<lt>unistd.hE<gt>>"
2115 msgstr "B<#include E<lt>unistd.hE<gt>>"
2116
2117 #. type: Plain text
2118 #: build/C/man2/pause.2:37
2119 msgid "B<int pause(void);>"
2120 msgstr "B<int pause(void);>"
2121
2122 #. type: Plain text
2123 #: build/C/man2/pause.2:42
2124 msgid ""
2125 "B<pause>()  causes the calling process (or thread) to sleep until a signal "
2126 "is delivered that either terminates the process or causes the invocation of "
2127 "a signal-catching function."
2128 msgstr ""
2129 "B<pause>()  は、呼び出したプロセス (またはスレッド) を、 そのプロセスを終了さ"
2130 "せたり、シグナル捕捉関数が起動されるような シグナルが配送されるまで、スリープ"
2131 "させる。"
2132
2133 #.  .BR ERESTARTNOHAND .
2134 #. type: Plain text
2135 #: build/C/man2/pause.2:53
2136 msgid ""
2137 "B<pause>()  only returns when a signal was caught and the signal-catching "
2138 "function returned.  In this case B<pause>()  returns -1, and I<errno> is set "
2139 "to B<EINTR>."
2140 msgstr ""
2141 "B<pause>()  が返るのは、シグナルを受け取りシグナル捕獲関数から返った場合だけ"
2142 "である。 この場合は B<pause>()  は -1 を返し、 I<errno> に B<EINTR> が設定さ"
2143 "れる。"
2144
2145 #. type: TP
2146 #: build/C/man2/pause.2:54 build/C/man2/sigsuspend.2:77
2147 #: build/C/man2/sigwaitinfo.2:116 build/C/man2/wait.2:409
2148 #, no-wrap
2149 msgid "B<EINTR>"
2150 msgstr "B<EINTR>"
2151
2152 #. type: Plain text
2153 #: build/C/man2/pause.2:57
2154 msgid "a signal was caught and the signal-catching function returned."
2155 msgstr "シグナルを受け取り、シグナル捕獲関数から帰ってきた。"
2156
2157 #. type: Plain text
2158 #: build/C/man2/pause.2:64
2159 msgid "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2160 msgstr "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2161
2162 #. type: TH
2163 #: build/C/man2/prctl.2:46
2164 #, no-wrap
2165 msgid "PRCTL"
2166 msgstr "PRCTL"
2167
2168 #. type: TH
2169 #: build/C/man2/prctl.2:46
2170 #, fuzzy, no-wrap
2171 #| msgid "2011-09-18"
2172 msgid "2011-09-17"
2173 msgstr "2011-09-18"
2174
2175 #. type: Plain text
2176 #: build/C/man2/prctl.2:49
2177 msgid "prctl - operations on a process"
2178 msgstr "prctl - プロセスの操作を行なう"
2179
2180 #. type: Plain text
2181 #: build/C/man2/prctl.2:52
2182 #, no-wrap
2183 msgid "B<#include E<lt>sys/prctl.hE<gt>>\n"
2184 msgstr "B<#include E<lt>sys/prctl.hE<gt>>\n"
2185
2186 #. type: Plain text
2187 #: build/C/man2/prctl.2:55
2188 #, no-wrap
2189 msgid ""
2190 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2191 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2192 msgstr ""
2193 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2194 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2195
2196 #. type: Plain text
2197 #: build/C/man2/prctl.2:62
2198 msgid ""
2199 "B<prctl>()  is called with a first argument describing what to do (with "
2200 "values defined in I<E<lt>linux/prctl.hE<gt>>), and further arguments with a "
2201 "significance depending on the first one.  The first argument can be:"
2202 msgstr ""
2203 "B<prctl>()  の動作は最初の引き数によって決定される (この値は I<E<lt>linux/"
2204 "prctl.hE<gt>> に定義されている)。 残りの引き数は最初の引き数によって変化す"
2205 "る。 一番目の引き数として以下のものを指定できる:"
2206
2207 #. type: TP
2208 #: build/C/man2/prctl.2:62
2209 #, no-wrap
2210 msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2211 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2212
2213 #. type: Plain text
2214 #: build/C/man2/prctl.2:74
2215 msgid ""
2216 "Return (as the function result) 1 if the capability specified in I<arg2> is "
2217 "in the calling thread's capability bounding set, or 0 if it is not.  (The "
2218 "capability constants are defined in I<E<lt>linux/capability.hE<gt>>.)  The "
2219 "capability bounding set dictates whether the process can receive the "
2220 "capability through a file's permitted capability set on a subsequent call to "
2221 "B<execve>(2)."
2222 msgstr ""
2223 "で指定されたケーパビリティが呼び出したスレッドのケーパビリティ バインディング"
2224 "セット (capability bounding set) に含まれている場合、 (関数の返り値として) 1 "
2225 "を返し、そうでない場合 0 を返す (ケーパビリティ定数は I<E<lt>linux/"
2226 "capability.hE<gt>> で定義されている)。 ケーパビリティバウンディングセット"
2227 "は、 B<execve>(2)  を呼び出した際に、ファイルの許可 (permitted) ケーパビリ"
2228 "ティの中で そのプロセスが獲得できるケーパビリティを指示するものである。"
2229
2230 #. type: Plain text
2231 #: build/C/man2/prctl.2:79
2232 msgid ""
2233 "If the capability specified in I<arg2> is not valid, then the call fails "
2234 "with the error B<EINVAL>."
2235 msgstr ""
2236 "I<arg2> に指定されたケーパビリティが有効でない場合、 呼び出しはエラー "
2237 "B<EINVAL> で失敗する。"
2238
2239 #. type: TP
2240 #: build/C/man2/prctl.2:79
2241 #, no-wrap
2242 msgid "B<PR_CAPBSET_DROP> (since Linux 2.6.25)"
2243 msgstr "B<PR_CAPBSET_DROP> (Linux 2.6.25 以降)"
2244
2245 #. type: Plain text
2246 #: build/C/man2/prctl.2:88
2247 msgid ""
2248 "If the calling thread has the B<CAP_SETPCAP> capability, then drop the "
2249 "capability specified by I<arg2> from the calling thread's capability "
2250 "bounding set.  Any children of the calling thread will inherit the newly "
2251 "reduced bounding set."
2252 msgstr ""
2253 "呼び出したスレッドがケーパビリティ B<CAP_SETPCAP> を持っている場合、 呼び出し"
2254 "たスレッドのケーパビリティバウンディングセットから I<arg2> で指定されたケーパ"
2255 "ビリティを外す。 呼び出したスレッドの子プロセスは変更後のバウンディングセット"
2256 "を 継承する。"
2257
2258 #. type: Plain text
2259 #: build/C/man2/prctl.2:100
2260 msgid ""
2261 "The call fails with the error: B<EPERM> if the calling thread does not have "
2262 "the B<CAP_SETPCAP>; B<EINVAL> if I<arg2> does not represent a valid "
2263 "capability; or B<EINVAL> if file capabilities are not enabled in the kernel, "
2264 "in which case bounding sets are not supported."
2265 msgstr ""
2266 "呼び出したスレッドが B<CAP_SETPCAP> を持っていない場合、呼び出しはエラー "
2267 "B<EPERM> で失敗する。 I<arg2> に指定されたケーパビリティが有効でない場合、 "
2268 "B<EINVAL> で失敗する。 ファイルケーパビリティがカーネルで有効になっていない場"
2269 "合 (この場合にはバウンディングセットがサポートされない)、 B<EINVAL> で失敗す"
2270 "る。"
2271
2272 #. type: TP
2273 #: build/C/man2/prctl.2:100
2274 #, no-wrap
2275 msgid "B<PR_SET_DUMPABLE> (since Linux 2.3.20)"
2276 msgstr "B<PR_SET_DUMPABLE> (Linux 2.3.20 以降)"
2277
2278 #.  See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
2279 #.  Subject:    Fix prctl privilege escalation (CVE-2006-2451)
2280 #.  From:       Marcel Holtmann <marcel () holtmann ! org>
2281 #.  Date:       2006-07-12 11:12:00
2282 #. type: Plain text
2283 #: build/C/man2/prctl.2:126
2284 #, fuzzy
2285 #| msgid ""
2286 #| "Set the state of the flag determining whether core dumps are produced for "
2287 #| "this process upon delivery of a signal whose default behavior is to "
2288 #| "produce a core dump.  (Normally this flag is set for a process by "
2289 #| "default, but it is cleared when a set-user-ID or set-group-ID program is "
2290 #| "executed and also by various system calls that manipulate process UIDs "
2291 #| "and GIDs).  In kernels up to and including 2.6.12, I<arg2> must be either "
2292 #| "0 (process is not dumpable) or 1 (process is dumpable).  Between kernels "
2293 #| "2.6.13 and 2.6.17, the value 2 was also permitted, which caused any "
2294 #| "binary which normally would not be dumped to be dumped readable by root "
2295 #| "only; for security reasons, this feature has been removed.  (See also the "
2296 #| "description of I</proc/sys/fs/suid_dumpable> in B<proc>(5).)"
2297 msgid ""
2298 "Set the state of the flag determining whether core dumps are produced for "
2299 "this process upon delivery of a signal whose default behavior is to produce "
2300 "a core dump.  (Normally this flag is set for a process by default, but it is "
2301 "cleared when a set-user-ID or set-group-ID program is executed and also by "
2302 "various system calls that manipulate process UIDs and GIDs).  In kernels up "
2303 "to and including 2.6.12, I<arg2> must be either 0 (process is not dumpable) "
2304 "or 1 (process is dumpable).  Between kernels 2.6.13 and 2.6.17, the value 2 "
2305 "was also permitted, which caused any binary which normally would not be "
2306 "dumped to be dumped readable by root only; for security reasons, this "
2307 "feature has been removed.  (See also the description of I</proc/sys/fs/"
2308 "suid_dumpable> in B<proc>(5).)  Processes that are not dumpable can not be "
2309 "attached via B<ptrace(2)> B<PTRACE_ATTACH>."
2310 msgstr ""
2311 "(Linux 2.3.20 以降)  デフォルトの振る舞いではコアダンプを引き起こすようなシグ"
2312 "ナルを受信したときに、 コアダンプするかどうかを決定するフラグを設定する (通常"
2313 "このフラグは、デフォルトではセットされているが、 set-user-ID あるいは set-"
2314 "group-ID プログラムが実行されたり、 さまざまなシステムコールによってプロセス"
2315 "の UID や GID が操作されたときに クリアされる)。 2.6.12 以前のカーネルでは、 "
2316 "I<arg2> は 0 (プロセスはダンプ不可) あるいは 1 (プロセスはダンプ可能) の どち"
2317 "らかでなければならない。 2.6.13 から 2.6.17 までのカーネルでは、値 2 も認めら"
2318 "れていた。 この値を指定すると、通常はダンプされないバイナリが root だけが 読"
2319 "み込み可能な形でダンプされた。 セキュリティ上の理由から、この機能は削除され"
2320 "た (B<proc>(5)  の I</proc/sys/fs/suid_dumpable> の説明も参照)。"
2321
2322 #. type: TP
2323 #: build/C/man2/prctl.2:126
2324 #, no-wrap
2325 msgid "B<PR_GET_DUMPABLE> (since Linux 2.3.20)"
2326 msgstr "B<PR_GET_DUMPABLE> (Linux 2.3.20 以降)"
2327
2328 #.  Since Linux 2.6.13, the dumpable flag can have the value 2,
2329 #.  but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
2330 #.  flags has a nonzero value.  This was fixed in 2.6.14.
2331 #. type: Plain text
2332 #: build/C/man2/prctl.2:133
2333 msgid ""
2334 "Return (as the function result) the current state of the calling process's "
2335 "dumpable flag."
2336 msgstr ""
2337 "(Linux 2.3.20 以降)  呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態"
2338 "を (関数の返り値として) 返す。"
2339
2340 #. type: TP
2341 #: build/C/man2/prctl.2:133
2342 #, no-wrap
2343 msgid "B<PR_SET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2344 msgstr "B<PR_SET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2345
2346 #.  Respectively 0, 1, 2
2347 #. type: Plain text
2348 #: build/C/man2/prctl.2:143
2349 msgid ""
2350 "Set the endian-ness of the calling process to the value given in I<arg2>, "
2351 "which should be one of the following: B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2352 "or B<PR_ENDIAN_PPC_LITTLE> (PowerPC pseudo little endian)."
2353 msgstr ""
2354 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<arg2> で指定された値"
2355 "に設定する。 指定できる値は B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2356 "B<PR_ENDIAN_PPC_LITTLE> (PowerPC 擬似リトルエンディアン)  のいずれか一つであ"
2357 "る。"
2358
2359 #. type: TP
2360 #: build/C/man2/prctl.2:143
2361 #, no-wrap
2362 msgid "B<PR_GET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2363 msgstr "B<PR_GET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2364
2365 #. type: Plain text
2366 #: build/C/man2/prctl.2:148
2367 msgid ""
2368 "Return the endian-ness of the calling process, in the location pointed to by "
2369 "I<(int\\ *) arg2>."
2370 msgstr ""
2371 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<(int\\ *) arg2> が指"
2372 "す場所に格納して返す。"
2373
2374 #. type: TP
2375 #: build/C/man2/prctl.2:148
2376 #, no-wrap
2377 msgid "B<PR_SET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2378 msgstr "B<PR_SET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2379
2380 #. type: Plain text
2381 #: build/C/man2/prctl.2:155
2382 msgid ""
2383 "Set floating-point emulation control bits to I<arg2>.  Pass "
2384 "B<PR_FPEMU_NOPRINT> to silently emulate fp operations accesses, or "
2385 "B<PR_FPEMU_SIGFPE> to not emulate fp operations and send B<SIGFPE> instead."
2386 msgstr ""
2387 "浮動小数点エミュレーション (floating-point emulation) 制御ビットを I<arg2> で"
2388 "指定された値に設定する。 指定できる値は B<PR_FPEMU_NOPRINT> (浮動小数点命令ア"
2389 "クセスを黙って エミュレートする) か B<PR_FPEMU_SIGFPE> (浮動小数点命令をエ"
2390 "ミュレートせず、 代わりに B<SIGFPE> を送る) である。"
2391
2392 #. type: TP
2393 #: build/C/man2/prctl.2:155
2394 #, no-wrap
2395 msgid "B<PR_GET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2396 msgstr "B<PR_GET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2397
2398 #. type: Plain text
2399 #: build/C/man2/prctl.2:160
2400 msgid ""
2401 "Return floating-point emulation control bits, in the location pointed to by "
2402 "I<(int\\ *) arg2>."
2403 msgstr ""
2404 "浮動小数点エミュレーション制御ビットの値を I<(int\\ *) arg2> が指す場所に格納"
2405 "して返す。"
2406
2407 #. type: TP
2408 #: build/C/man2/prctl.2:160
2409 #, no-wrap
2410 msgid "B<PR_SET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2411 msgstr "B<PR_SET_FPEXC> (Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2412
2413 #. type: Plain text
2414 #: build/C/man2/prctl.2:173
2415 msgid ""
2416 "Set floating-point exception mode to I<arg2>.  Pass B<PR_FP_EXC_SW_ENABLE> "
2417 "to use FPEXC for FP exception enables, B<PR_FP_EXC_DIV> for floating-point "
2418 "divide by zero, B<PR_FP_EXC_OVF> for floating-point overflow, "
2419 "B<PR_FP_EXC_UND> for floating-point underflow, B<PR_FP_EXC_RES> for floating-"
2420 "point inexact result, B<PR_FP_EXC_INV> for floating-point invalid operation, "
2421 "B<PR_FP_EXC_DISABLED> for FP exceptions disabled, B<PR_FP_EXC_NONRECOV> for "
2422 "async nonrecoverable exception mode, B<PR_FP_EXC_ASYNC> for async "
2423 "recoverable exception mode, B<PR_FP_EXC_PRECISE> for precise exception mode."
2424 msgstr ""
2425 "浮動小数点例外モード (floating-point exception mode) を I<arg2> で指定された"
2426 "値に設定する。 指定できるのは以下の値である: B<PR_FP_EXC_SW_ENABLE> (FPEXC で"
2427 "浮動小数点例外を有効にする)、 B<PR_FP_EXC_DIV> (0 除算)、 B<PR_FP_EXC_OVF> "
2428 "(オーバーフロー)、 B<PR_FP_EXC_UND> (アンダーフロー)、 B<PR_FP_EXC_RES> (不正"
2429 "確な結果 (inexact result))、 B<PR_FP_EXC_INV> (不正な命令 (invalid "
2430 "operation))、 B<PR_FP_EXC_DISABLED> (浮動小数点例外を無効にする)、 "
2431 "B<PR_FP_EXC_NONRECOV> (async nonrecoverable exception mode)、 "
2432 "B<PR_FP_EXC_ASYNC> (async recoverable exception mode)、 B<PR_FP_EXC_PRECISE> "
2433 "(precise exception mode)。"
2434
2435 #. type: TP
2436 #: build/C/man2/prctl.2:173
2437 #, no-wrap
2438 msgid "B<PR_GET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2439 msgstr "B<PR_GET_FPEXC>(Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2440
2441 #. type: Plain text
2442 #: build/C/man2/prctl.2:178
2443 msgid ""
2444 "Return floating-point exception mode, in the location pointed to by I<(int\\ "
2445 "*) arg2>."
2446 msgstr ""
2447 "浮動小数点例外モードの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2448
2449 #. type: TP
2450 #: build/C/man2/prctl.2:178
2451 #, no-wrap
2452 msgid "B<PR_SET_KEEPCAPS> (since Linux 2.2.18)"
2453 msgstr "B<PR_SET_KEEPCAPS> (Linux 2.2.18 以降)"
2454
2455 #. type: Plain text
2456 #: build/C/man2/prctl.2:196
2457 #, fuzzy
2458 #| msgid ""
2459 #| "Set the state of the thread's \"keep capabilities\" flag, which "
2460 #| "determines whether the threads's effective and permitted capability sets "
2461 #| "are cleared when a change is made to the threads's user IDs such that the "
2462 #| "threads's real UID, effective UID, and saved set-user-ID all become "
2463 #| "nonzero when at least one of them previously had the value 0.  (By "
2464 #| "default, these credential sets are cleared).  I<arg2> must be either 0 "
2465 #| "(capabilities are cleared) or 1 (capabilities are kept).  This value will "
2466 #| "be reset to 0 on subsequent calls to B<execve>(2)."
2467 msgid ""
2468 "Set the state of the thread's \"keep capabilities\" flag, which determines "
2469 "whether the threads's permitted capability set is cleared when a change is "
2470 "made to the threads's user IDs such that the threads's real UID, effective "
2471 "UID, and saved set-user-ID all become nonzero when at least one of them "
2472 "previously had the value 0.  By default, the permitted capability set is "
2473 "cleared when such a change is made; setting the \"keep capabilities\" flag "
2474 "prevents it from being cleared.  I<arg2> must be either 0 (permitted "
2475 "capabilities are cleared)  or 1 (permitted capabilities are kept).  (A "
2476 "thread's I<effective> capability set is always cleared when such a "
2477 "credential change is made, regardless of the setting of the \"keep "
2478 "capabilities\" flag.)  The \"keep capabilities\" value will be reset to 0 on "
2479 "subsequent calls to B<execve>(2)."
2480 msgstr ""
2481 "スレッドの「ケーパビリティ保持」フラグを設定する。 このフラグは、スレッドの"
2482 "実 UID、実効 UID、保存 set-user-ID のうち少なくとも 一つが 0 であった状態か"
2483 "ら、これら全てが 0 以外に変更されたとき、 スレッドの実効/許可のケーパビリティ"
2484 "集合がクリアされるかどうかを決定する (デフォルトでは、これらのケーパビリティ"
2485 "集合はクリアされる)。 I<arg2> は 0 (ケーパビリティをクリアする) あるいは 1 "
2486 "(ケーパビリティを保持する) の どちらかでなければならない。 B<execve>(2)  が呼"
2487 "び出されると、この値は 0 にリセットされる。"
2488
2489 #. type: TP
2490 #: build/C/man2/prctl.2:196
2491 #, no-wrap
2492 msgid "B<PR_GET_KEEPCAPS> (since Linux 2.2.18)"
2493 msgstr "B<PR_GET_KEEPCAPS> (Linux 2.2.18 以降)"
2494
2495 #. type: Plain text
2496 #: build/C/man2/prctl.2:200
2497 msgid ""
2498 "Return (as the function result) the current state of the calling threads's "
2499 "\"keep capabilities\" flag."
2500 msgstr ""
2501 "呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の"
2502 "返り値として) 返す。"
2503
2504 #. type: TP
2505 #: build/C/man2/prctl.2:200
2506 #, no-wrap
2507 msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2508 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2509
2510 #.  TASK_COMM_LEN in include/linux/sched.h
2511 #. type: Plain text
2512 #: build/C/man2/prctl.2:208
2513 msgid ""
2514 "Set the process name for the calling process, using the value in the "
2515 "location pointed to by I<(char\\ *) arg2>.  The name can be up to 16 bytes "
2516 "long, and should be null-terminated if it contains fewer bytes."
2517 msgstr ""
2518 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納された値"
2519 "を使って設定する。 名前は最大で 16 バイトであり、 それより少ないバイト数の場"
2520 "合は NULL で終端すべきである。"
2521
2522 #. type: TP
2523 #: build/C/man2/prctl.2:208
2524 #, no-wrap
2525 msgid "B<PR_GET_NAME> (since Linux 2.6.11)"
2526 msgstr "B<PR_GET_NAME> (Linux 2.6.11 以降)"
2527
2528 #. type: Plain text
2529 #: build/C/man2/prctl.2:215
2530 msgid ""
2531 "Return the process name for the calling process, in the buffer pointed to by "
2532 "I<(char\\ *) arg2>.  The buffer should allow space for up to 16 bytes; the "
2533 "returned string will be null-terminated if it is shorter than that."
2534 msgstr ""
2535 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納して返"
2536 "す。 バッファは最大で 16 バイトを格納できるようにすべきである。 返される文字"
2537 "列は、長さが 16 バイトより短い場合は NULL 終端される。"
2538
2539 #. type: TP
2540 #: build/C/man2/prctl.2:215
2541 #, no-wrap
2542 msgid "B<PR_SET_PDEATHSIG> (since Linux 2.1.57)"
2543 msgstr "B<PR_SET_PDEATHSIG> (Linux 2.1.57 以降)"
2544
2545 #. type: Plain text
2546 #: build/C/man2/prctl.2:224
2547 msgid ""
2548 "Set the parent process death signal of the calling process to I<arg2> "
2549 "(either a signal value in the range 1..maxsig, or 0 to clear).  This is the "
2550 "signal that the calling process will get when its parent dies.  This value "
2551 "is cleared for the child of a B<fork>(2)."
2552 msgstr ""
2553 "親プロセス死亡シグナル (parent process death signal) を I<arg2> に設定する "
2554 "(設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除である)。 呼び"
2555 "出し元プロセスの親プロセスが死んだ際に、ここで設定した値が シグナルとして通知"
2556 "される。この値は B<fork>(2)  の子プロセスでは解除される。"
2557
2558 #. type: TP
2559 #: build/C/man2/prctl.2:224
2560 #, no-wrap
2561 msgid "B<PR_GET_PDEATHSIG> (since Linux 2.3.15)"
2562 msgstr "B<PR_GET_PDEATHSIG> (Linux 2.3.15 以降)"
2563
2564 #. type: Plain text
2565 #: build/C/man2/prctl.2:229
2566 msgid ""
2567 "Return the current value of the parent process death signal, in the location "
2568 "pointed to by I<(int\\ *) arg2>."
2569 msgstr ""
2570 "親プロセス死亡シグナルの現在の値を I<(int\\ *) arg2> が指す場所に格納して返"
2571 "す。"
2572
2573 #. type: TP
2574 #: build/C/man2/prctl.2:229
2575 #, no-wrap
2576 msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
2577 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
2578
2579 #.  See http://thread.gmane.org/gmane.linux.kernel/542632
2580 #.  [PATCH 0 of 2] seccomp updates
2581 #.  andrea@cpushare.com
2582 #. type: Plain text
2583 #: build/C/man2/prctl.2:253
2584 msgid ""
2585 "Set the secure computing mode for the calling thread.  In the current "
2586 "implementation, I<arg2> must be 1.  After the secure computing mode has been "
2587 "set to 1, the only system calls that the thread is permitted to make are "
2588 "B<read>(2), B<write>(2), B<_exit>(2), and B<sigreturn>(2).  Other system "
2589 "calls result in the delivery of a B<SIGKILL> signal.  Secure computing mode "
2590 "is useful for number-crunching applications that may need to execute "
2591 "untrusted byte code, perhaps obtained by reading from a pipe or socket.  "
2592 "This operation is only available if the kernel is configured with "
2593 "CONFIG_SECCOMP enabled."
2594 msgstr ""
2595 "呼び出したスレッドの secure computing モードを設定する。 現在の実装では、 "
2596 "I<arg2> は 1 にしなければならない。 secure computing モードを 1 に設定する"
2597 "と、 そのスレッドが呼び出しを許可されるシステムコールは B<read>(2), B<write>"
2598 "(2), B<_exit>(2), B<sigreturn>(2)  だけになる。 それ以外のシステムコールを呼"
2599 "び出すと、シグナル B<SIGKILL> が配送される。 パイプやソケットから読み込んだ、"
2600 "信頼できないバイトコードを実行する 必要がある大量の演算を行うアプリケーション"
2601 "において、 secure computing モードは役立つ。 この操作は利用できるのは、カーネ"
2602 "ルが CONFIG_SECCOMP を有効にして 作成されている場合だけである。"
2603
2604 #. type: TP
2605 #: build/C/man2/prctl.2:253
2606 #, no-wrap
2607 msgid "B<PR_GET_SECCOMP> (since Linux 2.6.23)"
2608 msgstr "B<PR_GET_SECCOMP> (Linux 2.6.23 以降)"
2609
2610 #. type: Plain text
2611 #: build/C/man2/prctl.2:266
2612 msgid ""
2613 "Return the secure computing mode of the calling thread.  Not very useful for "
2614 "the current implementation (mode equals 1), but may be useful for other "
2615 "possible future modes: if the caller is not in secure computing mode, this "
2616 "operation returns 0; if the caller is in secure computing mode, then the "
2617 "B<prctl>()  call will cause a B<SIGKILL> signal to be sent to the process.  "
2618 "This operation is only available if the kernel is configured with "
2619 "CONFIG_SECCOMP enabled."
2620 msgstr ""
2621 "呼び出したスレッドの secure computing モードを返す。 現在の実装 (モードは 1 "
2622 "固定) はあまり役に立たないが、 将来他のモードが実装されると役立つようになるか"
2623 "もしれない。 呼び出したスレッドが secure computing モードでなかった場合、 こ"
2624 "の操作は 0 を返す。 呼び出したスレッドが secure computing モードの場合、 "
2625 "B<prctl>()  を呼び出すとシグナル B<SIGKILL> がそのプロセスに送信される。 この"
2626 "操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして 作成されている場"
2627 "合だけである。"
2628
2629 #. type: TP
2630 #: build/C/man2/prctl.2:266
2631 #, no-wrap
2632 msgid "B<PR_SET_SECUREBITS> (since Linux 2.6.26)"
2633 msgstr "B<PR_SET_SECUREBITS> (Linux 2.6.26 以降)"
2634
2635 #. type: Plain text
2636 #: build/C/man2/prctl.2:272
2637 msgid ""
2638 "Set the \"securebits\" flags of the calling thread to the value supplied in "
2639 "I<arg2>.  See B<capabilities>(7)."
2640 msgstr ""
2641 "呼び出したスレッドの \"securebits\" フラグを I<arg2> で渡された値に設定す"
2642 "る。 B<capabilities>(7)  参照。"
2643
2644 #. type: TP
2645 #: build/C/man2/prctl.2:272
2646 #, no-wrap
2647 msgid "B<PR_GET_SECUREBITS> (since Linux 2.6.26)"
2648 msgstr "B<PR_GET_SECUREBITS> (Linux 2.6.26 以降)"
2649
2650 #. type: Plain text
2651 #: build/C/man2/prctl.2:278
2652 msgid ""
2653 "Return (as the function result)  the \"securebits\" flags of the calling "
2654 "thread.  See B<capabilities>(7)."
2655 msgstr ""
2656 "呼び出したスレッドの \"securebits\" フラグを (関数の返り値として) 返す。 "
2657 "B<capabilities>(7)  参照。"
2658
2659 #. type: TP
2660 #: build/C/man2/prctl.2:278
2661 #, no-wrap
2662 msgid "B<PR_SET_TIMING> (since Linux 2.6.0-test4)"
2663 msgstr "B<PR_SET_TIMING> (Linux 2.6.0-test4 以降)"
2664
2665 #.  0
2666 #.  1
2667 #.  PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
2668 #.  and looking at the patch history, it appears
2669 #.  that it never did anything.
2670 #. type: Plain text
2671 #: build/C/man2/prctl.2:295
2672 #, fuzzy
2673 #| msgid ""
2674 #| "Set whether to use (normal, traditional) statistical process timing or "
2675 #| "accurate timestamp based process timing, by passing "
2676 #| "B<PR_TIMING_STATISTICAL> or B<PR_TIMING_TIMESTAMP> to I<arg2>.  "
2677 #| "B<PR_TIMING_TIMESTAMP> is not currently implemented (attempting to set "
2678 #| "this mode will yield the error B<EINVAL>)."
2679 msgid ""
2680 "Set whether to use (normal, traditional) statistical process timing or "
2681 "accurate timestamp-based process timing, by passing B<PR_TIMING_STATISTICAL> "
2682 "or B<PR_TIMING_TIMESTAMP> to I<arg2>.  B<PR_TIMING_TIMESTAMP> is not "
2683 "currently implemented (attempting to set this mode will yield the error "
2684 "B<EINVAL>)."
2685 msgstr ""
2686 "(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、 正確"
2687 "なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。 I<arg2> に"
2688 "指定できる値は B<PR_TIMING_STATISTICAL> か B<PR_TIMING_TIMESTAMP> である。 "
2689 "B<PR_TIMING_TIMESTAMP> は現在のところ実装されていない (このモードに設定しよう"
2690 "とするとエラー B<EINVAL> が起こることだろう)。"
2691
2692 #. type: TP
2693 #: build/C/man2/prctl.2:295
2694 #, no-wrap
2695 msgid "B<PR_GET_TIMING> (since Linux 2.6.0-test4)"
2696 msgstr "B<PR_GET_TIMING> (Linux 2.6.0-test4 以降)"
2697
2698 #. type: Plain text
2699 #: build/C/man2/prctl.2:299
2700 msgid ""
2701 "Return (as the function result) which process timing method is currently in "
2702 "use."
2703 msgstr "現在使用中のプロセスタイミングを決める方法を返す。"
2704
2705 #. type: TP
2706 #: build/C/man2/prctl.2:299
2707 #, no-wrap
2708 msgid "B<PR_SET_TSC> (since Linux 2.6.26, x86 only)"
2709 msgstr "B<PR_SET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2710
2711 #. type: Plain text
2712 #: build/C/man2/prctl.2:312
2713 msgid ""
2714 "Set the state of the flag determining whether the timestamp counter can be "
2715 "read by the process.  Pass B<PR_TSC_ENABLE> to I<arg2> to allow it to be "
2716 "read, or B<PR_TSC_SIGSEGV> to generate a B<SIGSEGV> when the process tries "
2717 "to read the timestamp counter."
2718 msgstr ""
2719 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を"
2720 "設定する。 読み出しを許可する場合は I<arg2> に B<PR_TSC_ENABLE> を、そのプロ"
2721 "セスがタイムスタンプ・カウンタを読み出そうとした際に B<SIGSEGV> を発生させる"
2722 "場合には B<PR_TSC_SIGSEGV> を渡す。"
2723
2724 #. type: TP
2725 #: build/C/man2/prctl.2:312
2726 #, no-wrap
2727 msgid "B<PR_GET_TSC> (since Linux 2.6.26, x86 only)"
2728 msgstr "B<PR_GET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2729
2730 #. type: Plain text
2731 #: build/C/man2/prctl.2:318
2732 msgid ""
2733 "Return the state of the flag determining whether the timestamp counter can "
2734 "be read, in the location pointed to by I<(int\\ *) arg2>."
2735 msgstr ""
2736 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態"
2737 "を I<(int\\ *) arg2> が指す場所に格納して返す。"
2738
2739 #. type: TP
2740 #: build/C/man2/prctl.2:318
2741 #, no-wrap
2742 msgid "B<PR_SET_UNALIGN>"
2743 msgstr "B<PR_SET_UNALIGN>"
2744
2745 #. type: Plain text
2746 #: build/C/man2/prctl.2:328
2747 msgid ""
2748 "(Only on: ia64, since Linux 2.3.48; parisc, since Linux 2.6.15; PowerPC, "
2749 "since Linux 2.6.18; Alpha, since Linux 2.6.22)  Set unaligned access control "
2750 "bits to I<arg2>.  Pass B<PR_UNALIGN_NOPRINT> to silently fix up unaligned "
2751 "user accesses, or B<PR_UNALIGN_SIGBUS> to generate B<SIGBUS> on unaligned "
2752 "user access."
2753 msgstr ""
2754 "(ia64 では Linux 2.3.48 以降; parisc では Linux 2.6.15 以降; PowerPC では "
2755 "Linux 2.6.18 以降; Alpha では Linux 2.6.22 以降; これらのアーキテクチャの"
2756 "み)  unaligned アクセス制御ビットを I<arg2> で指定された値に設定する。 指定で"
2757 "きる値は B<PR_UNALIGN_NOPRINT> (unaligned なユーザアクセスを黙って 修正する) "
2758 "か B<PR_UNALIGN_SIGBUS> (unaligned なユーザアクセスがあった場合 B<SIGBUS> を"
2759 "生成する) である。"
2760
2761 #. type: TP
2762 #: build/C/man2/prctl.2:328
2763 #, no-wrap
2764 msgid "B<PR_GET_UNALIGN>"
2765 msgstr "B<PR_GET_UNALIGN>"
2766
2767 #. type: Plain text
2768 #: build/C/man2/prctl.2:335
2769 msgid ""
2770 "(see B<PR_SET_UNALIGN> for information on versions and architectures)  "
2771 "Return unaligned access control bits, in the location pointed to by I<(int\\ "
2772 "*) arg2>."
2773 msgstr ""
2774 "(バージョンとアーキテクチャの情報は B<PR_SET_UNALIGN> 参照)  unaligned アクセ"
2775 "ス制御ビットの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2776
2777 #. type: TP
2778 #: build/C/man2/prctl.2:335
2779 #, fuzzy, no-wrap
2780 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2781 msgid "B<PR_MCE_KILL> (since Linux 2.6.32)"
2782 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2783
2784 #. type: Plain text
2785 #: build/C/man2/prctl.2:375
2786 msgid ""
2787 "Set the machine check memory corruption kill policy for the current thread.  "
2788 "If I<arg2> is B<PR_MCE_KILL_CLEAR>, clear the thread memory corruption kill "
2789 "policy and use the system-wide default.  (The system-wide default is defined "
2790 "by I</proc/sys/vm/memory_failure_early_kill>; see B<proc>(5).)  If I<arg2> "
2791 "is B<PR_MCE_KILL_SET>, use a thread-specific memory corruption kill policy.  "
2792 "In this case, I<arg3> defines whether the policy is I<early kill> "
2793 "(B<PR_MCE_KILL_EARLY>), I<late kill> (B<PR_MCE_KILL_LATE>), or the system-"
2794 "wide default (B<PR_MCE_KILL_DEFAULT>).  Early kill means that the thread "
2795 "receives a B<SIGBUS> signal as soon as hardware memory corruption is "
2796 "detected inside its address space.  In late kill mode, the process is only "
2797 "killed when it accesses a corrupted page.  See B<sigaction>(2)  for more "
2798 "information on the B<SIGBUS> signal.  The policy is inherited by children.  "
2799 "The remaining unused B<prctl>()  arguments must be zero for future "
2800 "compatibility."
2801 msgstr ""
2802
2803 #. type: TP
2804 #: build/C/man2/prctl.2:375
2805 #, fuzzy, no-wrap
2806 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2807 msgid "B<PR_MCE_KILL_GET> (since Linux 2.6.32)"
2808 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2809
2810 #. type: Plain text
2811 #: build/C/man2/prctl.2:381
2812 msgid ""
2813 "Return the current per-process machine check kill policy.  All unused "
2814 "B<prctl>()  arguments must be zero."
2815 msgstr ""
2816
2817 #. type: Plain text
2818 #: build/C/man2/prctl.2:398
2819 #, fuzzy
2820 #| msgid ""
2821 #| "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2822 #| "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, and (if it returns)  "
2823 #| "B<PR_GET_SECCOMP> return the nonnegative values described above.  All "
2824 #| "other I<option> values return 0 on success.  On error, -1 is returned, "
2825 #| "and I<errno> is set appropriately."
2826 msgid ""
2827 "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2828 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_MCE_KILL_GET>, and (if it "
2829 "returns)  B<PR_GET_SECCOMP> return the nonnegative values described above.  "
2830 "All other I<option> values return 0 on success.  On error, -1 is returned, "
2831 "and I<errno> is set appropriately."
2832 msgstr ""
2833 "成功すると、 B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
2834 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_GET_SECCOMP> は上述の負でない値"
2835 "を返す (B<PR_GET_SECCOMP> は返らない場合もある)。 I<option> が他の値の場合は"
2836 "成功時に 0 を返す。 エラーの場合、-1 を返し、 I<errno> に適切な値を設定する。"
2837
2838 #. type: Plain text
2839 #: build/C/man2/prctl.2:403
2840 msgid "I<arg2> is an invalid address."
2841 msgstr "I<arg2> が不正なアドレスである。"
2842
2843 #. type: Plain text
2844 #: build/C/man2/prctl.2:408
2845 msgid "The value of I<option> is not recognized."
2846 msgstr "I<option> の値が理解できない。"
2847
2848 #. type: Plain text
2849 #: build/C/man2/prctl.2:418
2850 msgid ""
2851 "I<option> is B<PR_MCE_KILL> or B<PR_MCE_KILL_GET>, and unused B<prctl>()  "
2852 "arguments were not specified as zero."
2853 msgstr ""
2854
2855 #. type: Plain text
2856 #: build/C/man2/prctl.2:423
2857 msgid "I<arg2> is not valid value for this I<option>."
2858 msgstr "I<arg2> が指定された I<option> で有効な値ではない。"
2859
2860 #. type: Plain text
2861 #: build/C/man2/prctl.2:432
2862 msgid ""
2863 "I<option> is B<PR_SET_SECCOMP> or B<PR_SET_SECCOMP>, and the kernel was not "
2864 "configured with B<CONFIG_SECCOMP>."
2865 msgstr ""
2866 "I<option> が B<PR_SET_SECCOMP> か B<PR_GET_SECCOMP> だが、カーネルが "
2867 "B<CONFIG_SECCOMP> を有効にして作成されていなかった。"
2868
2869 #. type: Plain text
2870 #: build/C/man2/prctl.2:444
2871 msgid ""
2872 "I<option> is B<PR_SET_SECUREBITS>, and the caller does not have the "
2873 "B<CAP_SETPCAP> capability, or tried to unset a \"locked\" flag, or tried to "
2874 "set a flag whose corresponding locked flag was set (see B<capabilities>(7))."
2875 msgstr ""
2876 "I<option> が B<PR_SET_SECUREBITS> で、呼び出し元がケーパビリティ "
2877 "B<CAP_SETPCAP> を持っていない。 または、\"locked\" フラグを解除しようとし"
2878 "た。 または、locked フラグがセットされているフラグをセットしようとした "
2879 "(B<capabilities>(7)  参照)。"
2880
2881 #. type: Plain text
2882 #: build/C/man2/prctl.2:454
2883 msgid ""
2884 "I<option> is B<PR_SET_KEEPCAPS>, and the callers's "
2885 "B<SECURE_KEEP_CAPS_LOCKED> flag is set (see B<capabilities>(7))."
2886 msgstr ""
2887 "I<option> が B<PR_SET_KEEPCAPS> で、呼び出し元のフラグ "
2888 "B<SECURE_KEEP_CAPS_LOCKED> がセットされている (B<capabilities>(7)  参照)。"
2889
2890 #.  The following can't actually happen, because prctl() in
2891 #.  seccomp mode will cause SIGKILL.
2892 #.  .TP
2893 #.  .B EPERM
2894 #.  .I option
2895 #.  is
2896 #.  .BR PR_SET_SECCOMP ,
2897 #.  and secure computing mode is already 1.
2898 #. type: Plain text
2899 #: build/C/man2/prctl.2:470
2900 msgid ""
2901 "I<option> is B<PR_CAPBSET_DROP>, and the caller does not have the "
2902 "B<CAP_SETPCAP> capability."
2903 msgstr ""
2904 "I<option> が B<PR_CAPBSET_DROP> で、呼び出し元がケーパビリティ "
2905 "B<CAP_SETPCAP> を持っていない。"
2906
2907 #.  The library interface was added in glibc 2.0.6
2908 #. type: Plain text
2909 #: build/C/man2/prctl.2:475
2910 msgid "The B<prctl>()  system call was introduced in Linux 2.1.57."
2911 msgstr "B<prctl>()  システムコールは Linux 2.1.57 で導入された。"
2912
2913 #. type: Plain text
2914 #: build/C/man2/prctl.2:482
2915 msgid ""
2916 "This call is Linux-specific.  IRIX has a B<prctl>()  system call (also "
2917 "introduced in Linux 2.1.44 as irix_prctl on the MIPS architecture), with "
2918 "prototype"
2919 msgstr ""
2920 "このコールは Linux 特有である。 IRIX には B<prctl>()  システム・コールがある"
2921 "が (MIPS アーキテクチャにおいて irix_prctl として Linux 2.1.44 で同様に導入さ"
2922 "れた)、 そのプロトタイプは"
2923
2924 #. type: Plain text
2925 #: build/C/man2/prctl.2:484
2926 msgid "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
2927 msgstr "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
2928
2929 #. type: Plain text
2930 #: build/C/man2/prctl.2:489
2931 msgid ""
2932 "and options to get the maximum number of processes per user, get the maximum "
2933 "number of processors the calling process can use, find out whether a "
2934 "specified process is currently blocked, get or set the maximum stack size, "
2935 "etc."
2936 msgstr ""
2937 "である。ユーザー当りのプロセス最大数を取得するオプション、 プロセスの使用でき"
2938 "る最大プロッサー数を取得するオプション、 現在特定のプロセスが停止(block)させ"
2939 "られているかどうか調べるオプション、 スタックサイズの最大値の取得や設定を行な"
2940 "うオプションなどがある。"
2941
2942 #. type: Plain text
2943 #: build/C/man2/prctl.2:492
2944 msgid "B<signal>(2), B<core>(5)"
2945 msgstr "B<signal>(2), B<core>(5)"
2946
2947 #. type: TH
2948 #: build/C/man3/profil.3:28
2949 #, no-wrap
2950 msgid "PROFIL"
2951 msgstr "PROFIL"
2952
2953 #. type: Plain text
2954 #: build/C/man3/profil.3:31
2955 msgid "profil - execution time profile"
2956 msgstr "profil - 実行時間プロファイル (profile)"
2957
2958 #. type: Plain text
2959 #: build/C/man3/profil.3:36
2960 msgid ""
2961 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
2962 ">I<offset>B<, unsigned int >I<scale>B<);>"
2963 msgstr ""
2964 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
2965 ">I<offset>B<, unsigned int >I<scale>B<);>"
2966
2967 #. type: Plain text
2968 #: build/C/man3/profil.3:44
2969 msgid ""
2970 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2971 msgstr ""
2972 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2973
2974 #. type: Plain text
2975 #: build/C/man3/profil.3:66
2976 msgid ""
2977 "This routine provides a means to find out in what areas your program spends "
2978 "most of its time.  The argument I<buf> points to I<bufsiz> bytes of core.  "
2979 "Every virtual 10 milliseconds, the user's program counter (PC)  is examined: "
2980 "I<offset> is subtracted and the result is multiplied by I<scale> and divided "
2981 "by 65536.  If the resulting value is less than I<bufsiz>, then the "
2982 "corresponding entry in I<buf> is incremented.  If I<buf> is NULL, profiling "
2983 "is disabled."
2984 msgstr ""
2985 "このルーティンはプログラムのどこの部分で時間を費やしているかを調べる 手段を提"
2986 "供する。引き数 I<buf> は I<bufsiz> バイトのメモリを指している。仮想の 10 ミリ"
2987 "秒ごとに、ユーザーの プログラム・カウンター (PC) が検査される: I<offset> が引"
2988 "かれ、その結果が I<scale> 倍され 65536 で割られる。 結果が I<bufsiz> より小さ"
2989 "い場合は I<buf> の対応するエントリがインクリメントされる。 I<buf> が NULL な"
2990 "らば、プロファイル (profile) は無効にされる。"
2991
2992 #. type: Plain text
2993 #: build/C/man3/profil.3:68
2994 msgid "Zero is always returned."
2995 msgstr "常に 0 が返される。"
2996
2997 #. type: Plain text
2998 #: build/C/man3/profil.3:70
2999 msgid "Similar to a call in SVr4 (but not POSIX.1-2001)."
3000 msgstr "SVr4 のコールに似ている (しかし POSIX.1-2001 ではない)。"
3001
3002 #. type: Plain text
3003 #: build/C/man3/profil.3:76
3004 msgid ""
3005 "B<profil>()  cannot be used on a program that also uses B<ITIMER_PROF> "
3006 "interval timers (see B<setitimer>(2))."
3007 msgstr ""
3008 "B<profil>()  は B<ITIMER_PROF> インターバル・タイマーも使用しているプログラム"
3009 "では使用できない (B<setitimer>(2)  参照)。"
3010
3011 #. type: Plain text
3012 #: build/C/man3/profil.3:79
3013 msgid ""
3014 "True kernel profiling provides more accurate results.  Libc 4.4 contained a "
3015 "kernel patch providing a system call profil."
3016 msgstr ""
3017 "本当のカーネル・プロファイルはより正確な結果を与える。 libc 4.4 にはシステム"
3018 "コール profil を提供するための カーネルパッチが含まれていた。"
3019
3020 #. type: Plain text
3021 #: build/C/man3/profil.3:84
3022 msgid "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3023 msgstr "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3024
3025 #. type: TH
3026 #: build/C/man3/psignal.3:28
3027 #, no-wrap
3028 msgid "PSIGNAL"
3029 msgstr "PSIGNAL"
3030
3031 #. type: TH
3032 #: build/C/man3/psignal.3:28
3033 #, fuzzy, no-wrap
3034 #| msgid "2008-10-06"
3035 msgid "2010-10-06"
3036 msgstr "2008-10-06"
3037
3038 #. type: TH
3039 #: build/C/man3/psignal.3:28 build/C/man3/raise.3:27
3040 #: build/C/man7/sigevent.7:24
3041 #, no-wrap
3042 msgid "GNU"
3043 msgstr "GNU"
3044
3045 #. type: Plain text
3046 #: build/C/man3/psignal.3:31
3047 #, fuzzy
3048 #| msgid "psignal - print signal message"
3049 msgid "psignal, psiginfo - print signal message"
3050 msgstr "psignal - シグナルメッセージを表示"
3051
3052 #. type: Plain text
3053 #: build/C/man3/psignal.3:37
3054 #, fuzzy, no-wrap
3055 #| msgid "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3056 msgid ""
3057 "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3058 "B<void psiginfo(const siginfo_t *>I<pinfo>B<, const char *>I<s>B<);>\n"
3059 msgstr "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3060
3061 #. type: Plain text
3062 #: build/C/man3/psignal.3:39
3063 #, no-wrap
3064 msgid "B<extern const char *const >I<sys_siglist>B<[];>\n"
3065 msgstr "B<extern const char *const >I<sys_siglist>B<[];>\n"
3066
3067 #. type: Plain text
3068 #: build/C/man3/psignal.3:48
3069 msgid "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3070 msgstr "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3071
3072 #. type: Plain text
3073 #: build/C/man3/psignal.3:51
3074 #, fuzzy
3075 #| msgid ""
3076 #| "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3077 msgid ""
3078 "B<psiginfo>(): _XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ "
3079 "200809L"
3080 msgstr ""
3081 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
3082
3083 #. type: Plain text
3084 #: build/C/man3/psignal.3:54
3085 msgid "I<sys_siglist>: _BSD_SOURCE"
3086 msgstr "I<sys_siglist>: _BSD_SOURCE"
3087
3088 #. type: Plain text
3089 #: build/C/man3/psignal.3:63
3090 #, fuzzy
3091 #| msgid ""
3092 #| "The B<psignal>()  function displays a message on I<stderr> consisting of "
3093 #| "the string I<s>, a colon, a space, and a string describing the signal "
3094 #| "number I<sig>.  If I<sig> is invalid, the message displayed will indicate "
3095 #| "an unknown signal."
3096 msgid ""
3097 "The B<psignal>()  function displays a message on I<stderr> consisting of the "
3098 "string I<s>, a colon, a space, a string describing the signal number I<sig>, "
3099 "and a trailing newline.  If the string I<s> is NULL or empty, the colon and "
3100 "space are omitted.  If I<sig> is invalid, the message displayed will "
3101 "indicate an unknown signal."
3102 msgstr ""
3103 "B<psignal>()  関数は、文字列 I<s>、コロン、スペース、 シグナル番号 I<sig> を"
3104 "説明する文字列から構成されるメッセージを I<stderr> に表示する。もし I<sig> が"
3105 "不正ならば、表示される メッセージは未知のシグナルを示す。"
3106
3107 #. type: Plain text
3108 #: build/C/man3/psignal.3:84
3109 msgid ""
3110 "The B<psiginfo>()  function is like B<psignal>(), except that it displays "
3111 "information about the signal described by I<pinfo>, which should point to a "
3112 "valid I<siginfo_t> structure.  As well as the signal description, B<psiginfo>"
3113 "()  displays information about the origin of the signal, and other "
3114 "information relevant to the signal (e.g., the relevant memory address for "
3115 "hardware-generated signals, the child process ID for B<SIGCHLD>, and the "
3116 "user ID and process ID of the sender, for signals set using B<kill>(2)  or "
3117 "B<sigqueue>(3))."
3118 msgstr ""
3119
3120 #. type: Plain text
3121 #: build/C/man3/psignal.3:87
3122 msgid ""
3123 "The array I<sys_siglist> holds the signal description strings indexed by "
3124 "signal number."
3125 msgstr ""
3126 "配列 I<sys_siglist> はシグナルを説明する文字列を保持しており、 配列へのアクセ"
3127 "スにはシグナル番号を添え字として用いる事ができる。"
3128
3129 #. type: Plain text
3130 #: build/C/man3/psignal.3:93
3131 #, fuzzy
3132 #| msgid "The B<psignal>()  function returns no value."
3133 msgid "The B<psignal>()  and B<psiginfo>()  functions return no value."
3134 msgstr "B<psignal>()  関数は、値を返さない。"
3135
3136 #. type: Plain text
3137 #: build/C/man3/psignal.3:97
3138 #, fuzzy
3139 #| msgid "These functions appeared in glibc version 2.1."
3140 msgid "The B<psiginfo>()  function was added to glibc in version 2.10."
3141 msgstr "これらの関数は glibc 2.1 で登場した。"
3142
3143 #. type: Plain text
3144 #: build/C/man3/psignal.3:99
3145 msgid "POSIX.1-2008, 4.3BSD."
3146 msgstr "POSIX.1-2008, 4.3BSD."
3147
3148 #. type: Plain text
3149 #: build/C/man3/psignal.3:103
3150 msgid "In glibc versions up to 2.12, B<psiginfo>()  had the following bugs:"
3151 msgstr ""
3152
3153 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12107
3154 #.  Reportedly now fixed; check glibc 2.13
3155 #. type: Plain text
3156 #: build/C/man3/psignal.3:107
3157 msgid "In some circumstances, a trailing newline is not printed."
3158 msgstr ""
3159
3160 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12108
3161 #.  Reportedly now fixed; check glibc 2.13
3162 #. type: Plain text
3163 #: build/C/man3/psignal.3:111
3164 msgid "Additional details are not displayed for real-time signals."
3165 msgstr ""
3166
3167 #. type: Plain text
3168 #: build/C/man3/psignal.3:116
3169 #, fuzzy
3170 #| msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3171 msgid "B<sigaction>(2), B<perror>(3), B<strsignal>(3), B<signal>(7)"
3172 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
3173
3174 #. type: TH
3175 #: build/C/man3/raise.3:27
3176 #, no-wrap
3177 msgid "RAISE"
3178 msgstr "RAISE"
3179
3180 #. type: TH
3181 #: build/C/man3/raise.3:27 build/C/man2/sigprocmask.2:27
3182 #, no-wrap
3183 msgid "2008-10-17"
3184 msgstr "2008-10-17"
3185
3186 #. type: Plain text
3187 #: build/C/man3/raise.3:30
3188 msgid "raise - send a signal to the caller"
3189 msgstr "raise - 呼び出し元にシグナルを送る"
3190
3191 #. type: Plain text
3192 #: build/C/man3/raise.3:35
3193 #, no-wrap
3194 msgid "B<int raise(int >I<sig>B<);>\n"
3195 msgstr "B<int raise(int >I<sig>B<);>\n"
3196
3197 #. type: Plain text
3198 #: build/C/man3/raise.3:41
3199 msgid ""
3200 "The B<raise>()  function sends a signal to the calling process or thread.  "
3201 "In a single-threaded program it is equivalent to"
3202 msgstr ""
3203 "B<raise>()  関数は、呼び出し元のプロセスもしくはスレッドにシグナルを送る。 シ"
3204 "ングルスレッドのプログラムでは、以下と等価である。"
3205
3206 #. type: Plain text
3207 #: build/C/man3/raise.3:45
3208 #, no-wrap
3209 msgid "kill(getpid(), sig);\n"
3210 msgstr "kill(getpid(), sig);\n"
3211
3212 #. type: Plain text
3213 #: build/C/man3/raise.3:49
3214 msgid "In a multithreaded program it is equivalent to"
3215 msgstr "マルチスレッドのプログラムでは、以下と等価である。"
3216
3217 #. type: Plain text
3218 #: build/C/man3/raise.3:53
3219 #, no-wrap
3220 msgid "pthread_kill(pthread_self(), sig);\n"
3221 msgstr "pthread_kill(pthread_self(), sig);\n"
3222
3223 #. type: Plain text
3224 #: build/C/man3/raise.3:59
3225 msgid ""
3226 "If the signal causes a handler to be called, B<raise>()  will only return "
3227 "after the signal handler has returned."
3228 msgstr ""
3229 "シグナルに起因してシグナル・ハンドラが呼び出される場合には、 B<raise>()  が返"
3230 "るのは必ずシグナル・ハンドラが返った後になる。"
3231
3232 #. type: Plain text
3233 #: build/C/man3/raise.3:62
3234 msgid "B<raise>()  returns 0 on success, and nonzero for failure."
3235 msgstr "成功した場合は 0 を、失敗した場合は 0 以外の値を返す。"
3236
3237 #. type: Plain text
3238 #: build/C/man3/raise.3:64 build/C/man2/signal.2:107
3239 msgid "C89, C99, POSIX.1-2001."
3240 msgstr "C89, C99, POSIX.1-2001."
3241
3242 #. type: Plain text
3243 #: build/C/man3/raise.3:71
3244 msgid ""
3245 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3246 "B<signal>(7)"
3247 msgstr ""
3248 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3249 "B<signal>(7)"
3250
3251 #. type: TH
3252 #: build/C/man2/rt_sigqueueinfo.2:23
3253 #, no-wrap
3254 msgid "RT_SIGQUEUEINFO"
3255 msgstr "RT_SIGQUEUEINFO"
3256
3257 #. type: TH
3258 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man7/signal.7:44
3259 #: build/C/man3/sigqueue.3:26 build/C/man2/tkill.2:29
3260 #, no-wrap
3261 msgid "2011-09-18"
3262 msgstr "2011-09-18"
3263
3264 #. type: Plain text
3265 #: build/C/man2/rt_sigqueueinfo.2:26
3266 msgid "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3267 msgstr "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3268
3269 #. type: Plain text
3270 #: build/C/man2/rt_sigqueueinfo.2:29
3271 #, no-wrap
3272 msgid "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3273 msgstr "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3274
3275 #. type: Plain text
3276 #: build/C/man2/rt_sigqueueinfo.2:32
3277 #, no-wrap
3278 msgid ""
3279 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3280 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3281 msgstr ""
3282 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3283 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3284
3285 #. type: Plain text
3286 #: build/C/man2/rt_sigqueueinfo.2:45
3287 msgid ""
3288 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3289 "low-level interfaces used to send a signal plus data to a process or "
3290 "thread.  The receiver of the signal can obtain the accompanying data by "
3291 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3292 msgstr ""
3293 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3294 "low-level interfaces used to send a signal plus data to a process or "
3295 "thread.  The receiver of the signal can obtain the accompanying data by "
3296 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3297
3298 #. type: Plain text
3299 #: build/C/man2/rt_sigqueueinfo.2:51
3300 msgid ""
3301 "These system calls are not intended for direct application use; they are "
3302 "provided to allow the implementation of B<sigqueue>(3)  and "
3303 "B<pthread_sigqueue>(3)."
3304 msgstr ""
3305 "These system calls are not intended for direct application use; they are "
3306 "provided to allow the implementation of B<sigqueue>(3)  and "
3307 "B<pthread_sigqueue>(3)."
3308
3309 #. type: Plain text
3310 #: build/C/man2/rt_sigqueueinfo.2:63
3311 msgid ""
3312 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3313 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3314 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3315 "The signal will be delivered to an arbitrary member of the thread group (i."
3316 "e., one of the threads that is not currently blocking the signal)."
3317 msgstr ""
3318 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3319 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3320 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3321 "The signal will be delivered to an arbitrary member of the thread group (i."
3322 "e., one of the threads that is not currently blocking the signal)."
3323
3324 #. type: Plain text
3325 #: build/C/man2/rt_sigqueueinfo.2:74
3326 msgid ""
3327 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3328 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3329 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3330 "caller should set the following fields in this structure:"
3331 msgstr ""
3332 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3333 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3334 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3335 "caller should set the following fields in this structure:"
3336
3337 #. type: TP
3338 #: build/C/man2/rt_sigqueueinfo.2:74 build/C/man7/sigevent.7:86
3339 #: build/C/man2/wait.2:315
3340 #, no-wrap
3341 msgid "I<si_code>"
3342 msgstr "I<si_code>"
3343
3344 #.  tkill(2) or
3345 #. type: Plain text
3346 #: build/C/man2/rt_sigqueueinfo.2:90
3347 msgid ""
3348 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3349 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3350 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3351 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3352 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3353 msgstr ""
3354 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3355 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3356 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3357 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3358 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3359
3360 #. type: TP
3361 #: build/C/man2/rt_sigqueueinfo.2:90 build/C/man2/wait.2:294
3362 #, no-wrap
3363 msgid "I<si_pid>"
3364 msgstr "I<si_pid>"
3365
3366 #. type: Plain text
3367 #: build/C/man2/rt_sigqueueinfo.2:94
3368 msgid ""
3369 "This should be set to a process ID, typically the process ID of the sender."
3370 msgstr ""
3371 "This should be set to a process ID, typically the process ID of the sender."
3372
3373 #. type: TP
3374 #: build/C/man2/rt_sigqueueinfo.2:94 build/C/man2/wait.2:297
3375 #, no-wrap
3376 msgid "I<si_uid>"
3377 msgstr "I<si_uid>"
3378
3379 #. type: Plain text
3380 #: build/C/man2/rt_sigqueueinfo.2:98
3381 msgid ""
3382 "This should be set to a user ID, typically the real user ID of the sender."
3383 msgstr ""
3384 "This should be set to a user ID, typically the real user ID of the sender."
3385
3386 #. type: TP
3387 #: build/C/man2/rt_sigqueueinfo.2:98 build/C/man7/sigevent.7:94
3388 #, no-wrap
3389 msgid "I<si_value>"
3390 msgstr "I<si_value>"
3391
3392 #. type: Plain text
3393 #: build/C/man2/rt_sigqueueinfo.2:105
3394 msgid ""
3395 "This field contains the user data to accompany the signal.  For more "
3396 "information, see the description of the last (I<union sigval>)  argument of "
3397 "B<sigqueue>(3)."
3398 msgstr ""
3399 "This field contains the user data to accompany the signal.  For more "
3400 "information, see the description of the last (I<union sigval>)  argument of "
3401 "B<sigqueue>(3)."
3402
3403 #. type: Plain text
3404 #: build/C/man2/rt_sigqueueinfo.2:112
3405 msgid ""
3406 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3407 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3408 "via that field."
3409 msgstr ""
3410 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3411 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3412 "via that field."
3413
3414 #. type: Plain text
3415 #: build/C/man2/rt_sigqueueinfo.2:124
3416 msgid ""
3417 "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3418 "sends the signal and data to the single thread specified by the combination "
3419 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3420 msgstr ""
3421 "The B<rt_tgsigueueinfo>()  system call is like B<rt_sigueueinfo>(), but "
3422 "sends the signal and data to the single thread specified by the combination "
3423 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3424
3425 #. type: Plain text
3426 #: build/C/man2/rt_sigqueueinfo.2:129
3427 msgid ""
3428 "On success, these system calls return 0.  On error, they return -1 and "
3429 "I<errno> is set to indicate the error."
3430 msgstr ""
3431 "On success, these system calls return 0.  On error, they return -1 and "
3432 "I<errno> is set to indicate the error."
3433
3434 #. type: TP
3435 #: build/C/man2/rt_sigqueueinfo.2:130 build/C/man3/sigqueue.3:90
3436 #: build/C/man2/sigwaitinfo.2:108 build/C/man2/timer_create.2:174
3437 #, no-wrap
3438 msgid "B<EAGAIN>"
3439 msgstr "B<EAGAIN>"
3440
3441 #. type: Plain text
3442 #: build/C/man2/rt_sigqueueinfo.2:136 build/C/man3/sigqueue.3:96
3443 msgid ""
3444 "The limit of signals which may be queued has been reached.  (See B<signal>"
3445 "(7)  for further information.)"
3446 msgstr ""
3447 "待ち行列に入れられるシグナルの最大数に達した (より詳しい情報は B<signal>(7)  "
3448 "を参照すること)。"
3449
3450 #. type: Plain text
3451 #: build/C/man2/rt_sigqueueinfo.2:143
3452 msgid "I<sig>, I<tgid>, or I<tid> was invalid."
3453 msgstr "I<sig>, I<tgid>, or I<tid> was invalid."
3454
3455 #. type: Plain text
3456 #: build/C/man2/rt_sigqueueinfo.2:151
3457 msgid ""
3458 "The caller does not have permission to send the signal to the target.  For "
3459 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3460 "invalid."
3461 msgstr ""
3462 "The caller does not have permission to send the signal to the target.  For "
3463 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3464 "invalid."
3465
3466 #. type: Plain text
3467 #: build/C/man2/rt_sigqueueinfo.2:157
3468 msgid "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3469 msgstr "B<rt_sigqueinfo>(): No thread group matching I<tgid> was found."
3470
3471 #. type: Plain text
3472 #: build/C/man2/rt_sigqueueinfo.2:164
3473 msgid "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3474 msgstr "B<rt_rtsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3475
3476 #. type: Plain text
3477 #: build/C/man2/rt_sigqueueinfo.2:171
3478 msgid ""
3479 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3480 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3481 msgstr ""
3482 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3483 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3484
3485 #. type: Plain text
3486 #: build/C/man2/rt_sigqueueinfo.2:173 build/C/man2/sgetmask.2:63
3487 #: build/C/man2/timerfd_create.2:372
3488 msgid "These system calls are Linux-specific."
3489 msgstr "これらのシステムコールは Linux 固有である。"
3490
3491 #. type: Plain text
3492 #: build/C/man2/rt_sigqueueinfo.2:178
3493 msgid ""
3494 "Since these system calls are not intended for application use, there are no "
3495 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3496 "want to call them directly."
3497 msgstr ""
3498 "Since these system calls are not intended for application use, there are no "
3499 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3500 "want to call them directly."
3501
3502 #. type: Plain text
3503 #: build/C/man2/rt_sigqueueinfo.2:183
3504 msgid ""
3505 "As with B<kill>(2), the null signal (0) can be used to check if the "
3506 "specified process or thread exists."
3507 msgstr ""
3508 "As with B<kill>(2), the null signal (0) can be used to check if the "
3509 "specified process or thread exists."
3510
3511 #. type: Plain text
3512 #: build/C/man2/rt_sigqueueinfo.2:191
3513 msgid ""
3514 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3515 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3516 msgstr ""
3517 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3518 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3519
3520 #. type: TH
3521 #: build/C/man2/sgetmask.2:24
3522 #, no-wrap
3523 msgid "SGETMASK"
3524 msgstr "SGETMASK"
3525
3526 #. type: TH
3527 #: build/C/man2/sgetmask.2:24
3528 #, no-wrap
3529 msgid "2007-07-05"
3530 msgstr "2007-07-05"
3531
3532 #. type: Plain text
3533 #: build/C/man2/sgetmask.2:27
3534 msgid "sgetmask, ssetmask - manipulation of signal mask (obsolete)"
3535 msgstr "sgetmask, ssetmask - シグナルマスクの操作 (廃止予定)"
3536
3537 #. type: Plain text
3538 #: build/C/man2/sgetmask.2:29
3539 msgid "B<long sgetmask(void);>"
3540 msgstr "B<long sgetmask(void);>"
3541
3542 #. type: Plain text
3543 #: build/C/man2/sgetmask.2:31
3544 msgid "B<long ssetmask(long >I<newmask>B<);>"
3545 msgstr "B<long ssetmask(long >I<newmask>B<);>"
3546
3547 #. type: Plain text
3548 #: build/C/man2/sgetmask.2:37
3549 msgid ""
3550 "These system calls are obsolete.  I<Do not use them>; use B<sigprocmask>(2)  "
3551 "instead."
3552 msgstr ""
3553 "これらのシステムコールは廃止予定であり、 「使用しないこと」。 代わりに "
3554 "B<sigprocmask>(2)  を使用すること。"
3555
3556 #. type: Plain text
3557 #: build/C/man2/sgetmask.2:40
3558 msgid "B<sgetmask>()  returns the signal mask of the calling process."
3559 msgstr "B<sgetmask>()  は、呼び出し元プロセスのシグナルマスクを返す。"
3560
3561 #. type: Plain text
3562 #: build/C/man2/sgetmask.2:45
3563 msgid ""
3564 "B<ssetmask>()  sets the signal mask of the calling process to the value "
3565 "given in I<newmask>.  The previous signal mask is returned."
3566 msgstr ""
3567 "B<ssetmask>()  は、呼び出し元プロセスのシグナルマスクを I<newmask> で指定され"
3568 "た値に設定し、変更前のシグナルマスクを返す。"
3569
3570 #. type: Plain text
3571 #: build/C/man2/sgetmask.2:54
3572 msgid ""
3573 "The signal masks dealt with by these two system calls are plain bit masks "
3574 "(unlike the I<sigset_t> used by B<sigprocmask>(2)); use B<sigmask>(3)  to "
3575 "create and inspect these masks."
3576 msgstr ""
3577 "これら二つのシステムコールが扱うシグナルマスクは、 単純なビットマスクである "
3578 "(この点が B<sigprocmask>(2)  で使用される I<sigset_t> と異なる)。 これらのマ"
3579 "スクを作成したり検査するには B<sigmask>(3)  を使用すること。"
3580
3581 #. type: Plain text
3582 #: build/C/man2/sgetmask.2:59
3583 msgid ""
3584 "B<sgetmask>()  always successfully returns the signal mask.  B<ssetmask>()  "
3585 "always succeeds, and returns the previous signal mask."
3586 msgstr ""
3587 "B<sgetmask>()  は常に成功し、シグナルマスクを返す。 B<ssetmask>()  は常に成功"
3588 "し、直前のシグナルマスクを返す。"
3589
3590 #. type: Plain text
3591 #: build/C/man2/sgetmask.2:61
3592 msgid "These system calls always succeed."
3593 msgstr "これらのシステムコールは常に成功する。"
3594
3595 #. type: Plain text
3596 #: build/C/man2/sgetmask.2:66
3597 msgid ""
3598 "Glibc does not provide wrappers for these system calls; use B<syscall>(2)."
3599 msgstr ""
3600 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
3601 "B<syscall>(2)  を使用すること。"
3602
3603 #. type: Plain text
3604 #: build/C/man2/sgetmask.2:69
3605 msgid ""
3606 "These system calls are unaware of signal numbers greater than 31 (i.e., real-"
3607 "time signals)."
3608 msgstr ""
3609 "これらのシステムコールは、 31 より大きいシグナル番号 (つまり、リアルタイムシ"
3610 "グナル) を扱えない。"
3611
3612 #. type: Plain text
3613 #: build/C/man2/sgetmask.2:74
3614 msgid "It is not possible to block B<SIGSTOP> or B<SIGKILL>."
3615 msgstr "B<SIGSTOP> や B<SIGKILL> をブロックすることはできない。"
3616
3617 #. type: Plain text
3618 #: build/C/man2/sgetmask.2:77
3619 msgid "B<sigprocmask>(2), B<signal>(7)"
3620 msgstr "B<sigprocmask>(2), B<signal>(7)"
3621
3622 #. type: TH
3623 #: build/C/man2/sigaction.2:45
3624 #, no-wrap
3625 msgid "SIGACTION"
3626 msgstr "SIGACTION"
3627
3628 #. type: TH
3629 #: build/C/man2/sigaction.2:45
3630 #, fuzzy, no-wrap
3631 #| msgid "2011-09-09"
3632 msgid "2011-09-08"
3633 msgstr "2011-09-09"
3634
3635 #. type: Plain text
3636 #: build/C/man2/sigaction.2:48
3637 msgid "sigaction - examine and change a signal action"
3638 msgstr "sigaction - シグナルの動作の確認と変更"
3639
3640 #. type: Plain text
3641 #: build/C/man2/sigaction.2:54
3642 #, no-wrap
3643 msgid ""
3644 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3645 "B<              struct sigaction *>I<oldact>B<);>\n"
3646 msgstr ""
3647 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3648 "B<              struct sigaction *>I<oldact>B<);>\n"
3649
3650 #. type: Plain text
3651 #: build/C/man2/sigaction.2:64
3652 msgid ""
3653 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3654 "_POSIX_SOURCE"
3655 msgstr ""
3656 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3657 "_POSIX_SOURCE"
3658
3659 #. type: Plain text
3660 #: build/C/man2/sigaction.2:73
3661 msgid ""
3662 "The B<sigaction>()  system call is used to change the action taken by a "
3663 "process on receipt of a specific signal.  (See B<signal>(7)  for an overview "
3664 "of signals.)"
3665 msgstr ""
3666 "B<sigaction>()  システムコールは、特定のシグナルを受信した際の プロセスの動作"
3667 "を変更するのに使用される (シグナルの概要については B<signal>(7)  を参照)。"
3668
3669 #. type: Plain text
3670 #: build/C/man2/sigaction.2:79
3671 msgid ""
3672 "I<signum> specifies the signal and can be any valid signal except B<SIGKILL> "
3673 "and B<SIGSTOP>."
3674 msgstr ""
3675 "I<signum> には、 B<SIGKILL> と B<SIGSTOP> 以外の有効なシグナルをどれでも指定"
3676 "できる。"
3677
3678 #. type: Plain text
3679 #: build/C/man2/sigaction.2:90
3680 msgid ""
3681 "If I<act> is non-NULL, the new action for signal I<signum> is installed from "
3682 "I<act>.  If I<oldact> is non-NULL, the previous action is saved in I<oldact>."
3683 msgstr ""
3684 "I<act> が NULL 以外であれば、シグナル I<signum> の新しい動作 (action) として "
3685 "I<act> が設定される。 I<oldact> が NULL でなければ、今までの動作が I<oldact> "
3686 "に格納される。"
3687
3688 #. type: Plain text
3689 #: build/C/man2/sigaction.2:94
3690 msgid "The I<sigaction> structure is defined as something like:"
3691 msgstr "I<sigaction> 構造体は以下のような感じに定義される。"
3692
3693 #. type: Plain text
3694 #: build/C/man2/sigaction.2:104
3695 #, no-wrap
3696 msgid ""
3697 "struct sigaction {\n"
3698 "    void     (*sa_handler)(int);\n"
3699 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3700 "    sigset_t   sa_mask;\n"
3701 "    int        sa_flags;\n"
3702 "    void     (*sa_restorer)(void);\n"
3703 "};\n"
3704 msgstr ""
3705 "struct sigaction {\n"
3706 "    void     (*sa_handler)(int);\n"
3707 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3708 "    sigset_t   sa_mask;\n"
3709 "    int        sa_flags;\n"
3710 "    void     (*sa_restorer)(void);\n"
3711 "};\n"
3712
3713 #. type: Plain text
3714 #: build/C/man2/sigaction.2:111
3715 msgid ""
3716 "On some architectures a union is involved: do not assign to both "
3717 "I<sa_handler> and I<sa_sigaction>."
3718 msgstr ""
3719 "アーキテクチャによっては共用体 (union) が用いられており、その場合には "
3720 "I<sa_handler> と I<sa_sigaction> の両方を同時に割り当てることはできない。"
3721
3722 #. type: Plain text
3723 #: build/C/man2/sigaction.2:118
3724 msgid ""
3725 "The I<sa_restorer> element is obsolete and should not be used.  POSIX does "
3726 "not specify a I<sa_restorer> element."
3727 msgstr ""
3728 "I<sa_restorer> 要素は廃止予定であり使用すべきではない。 POSIX には "
3729 "I<sa_restorer> 要素に関する規定はない。"
3730
3731 #. type: Plain text
3732 #: build/C/man2/sigaction.2:128
3733 msgid ""
3734 "I<sa_handler> specifies the action to be associated with I<signum> and may "
3735 "be B<SIG_DFL> for the default action, B<SIG_IGN> to ignore this signal, or a "
3736 "pointer to a signal handling function.  This function receives the signal "
3737 "number as its only argument."
3738 msgstr ""
3739 "I<sa_handler> は I<signum> に対応する動作を指定するもので、 デフォルトの動作"
3740 "を行う B<SIG_DFL>、 そのシグナルを無視する B<SIG_IGN>、 シグナルハンドラ関数"
3741 "へのポインタが設定できる。 シグナルハンドラ関数の引き数は一つであり、シグナル"
3742 "番号が引き数として 渡される。"
3743
3744 #. type: Plain text
3745 #: build/C/man2/sigaction.2:150
3746 #, fuzzy
3747 #| msgid ""
3748 #| "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> "
3749 #| "(instead of I<sa_handler>)  specifies the signal-handling function for "
3750 #| "I<signum>.  This function receives the signal number as its first "
3751 #| "argument, a pointer to a I<siginfo_t> as its second argument and a "
3752 #| "pointer to a I<ucontext_t> (cast to I<void\\ *>) as its third argument."
3753 msgid ""
3754 "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> (instead "
3755 "of I<sa_handler>)  specifies the signal-handling function for I<signum>.  "
3756 "This function receives the signal number as its first argument, a pointer to "
3757 "a I<siginfo_t> as its second argument and a pointer to a I<ucontext_t> (cast "
3758 "to I<void\\ *>) as its third argument.  (Commonly, the handler function "
3759 "doesn't make any use of the third argument.  See B<getcontext>(2)  for "
3760 "further information about I<ucontext_t>.)"
3761 msgstr ""
3762 "I<sa_flags> に B<SA_SIGINFO> が指定された場合、 (I<sa_handler> ではなく)  "
3763 "I<sa_sigaction> により I<signum> に対応するシグナルハンドル関数が指定され"
3764 "る。 指定される関数は、最初の引き数としてシグナル番号を、 二番目の引き数とし"
3765 "て I<siginfo_t> へのポインタを、三番目の引き数として (I<void\\ *> にキャスト"
3766 "した)  I<ucontext_t> へのポインタを受けとる。"
3767
3768 #. type: Plain text
3769 #: build/C/man2/sigaction.2:160
3770 msgid ""
3771 "I<sa_mask> specifies a mask of signals which should be blocked (i.e., added "
3772 "to the signal mask of the thread in which the signal handler is invoked)  "
3773 "during execution of the signal handler.  In addition, the signal which "
3774 "triggered the handler will be blocked, unless the B<SA_NODEFER> flag is used."
3775 msgstr ""
3776 "I<sa_mask> は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスク"
3777 "を指定する (ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動された"
3778 "スレッド のシグナルのマスクに追加することで行われる)。 さらに、 "
3779 "B<SA_NODEFER> フラグが指定されていない場合は、ハンドラを起動するきっかけとな"
3780 "る シグナルにも I<sa_mask> が適用される。"
3781
3782 #. type: Plain text
3783 #: build/C/man2/sigaction.2:164
3784 msgid ""
3785 "I<sa_flags> specifies a set of flags which modify the behavior of the "
3786 "signal.  It is formed by the bitwise OR of zero or more of the following:"
3787 msgstr ""
3788 "I<sa_flags> はシグナル・ハンドラの動作を変更するためのフラグの集合を指定す"
3789 "る。 I<sa_flags> には、以下に示すフラグの (0 個以上の) 論理和をとったものを指"
3790 "定する。"
3791
3792 #. type: TP
3793 #: build/C/man2/sigaction.2:165
3794 #, no-wrap
3795 msgid "B<SA_NOCLDSTOP>"
3796 msgstr "B<SA_NOCLDSTOP>"
3797
3798 #. type: Plain text
3799 #: build/C/man2/sigaction.2:182
3800 msgid ""
3801 "If I<signum> is B<SIGCHLD>, do not receive notification when child processes "
3802 "stop (i.e., when they receive one of B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN> or "
3803 "B<SIGTTOU>)  or resume (i.e., they receive B<SIGCONT>)  (see B<wait>(2)).  "
3804 "This flag is only meaningful when establishing a handler for B<SIGCHLD>."
3805 msgstr ""
3806 "I<signum> が B<SIGCHLD> の場合、 子プロセスが停止したり (子プロセスが "
3807 "B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN>, B<SIGTTOU> を受けたとき) 再開したり (子プ"
3808 "ロセスが B<SIGCONT> を受けたとき) したときに B<SIGCHLD> の通知を受けない。 こ"
3809 "のフラグは、 B<SIGCHLD> に対してハンドラを設定する際にのみ意味を持つ。"
3810
3811 #. type: TP
3812 #: build/C/man2/sigaction.2:182
3813 #, fuzzy, no-wrap
3814 #| msgid "B<SA_NOCLDWAIT> (Since Linux 2.6)"
3815 msgid "B<SA_NOCLDWAIT> (since Linux 2.6)"
3816 msgstr "B<SA_NOCLDWAIT> (Linux 2.6 以降)"
3817
3818 #.  To be precise: Linux 2.5.60 -- MTK
3819 #. type: Plain text
3820 #: build/C/man2/sigaction.2:196
3821 msgid ""
3822 "If I<signum> is B<SIGCHLD>, do not transform children into zombies when they "
3823 "terminate.  See also B<waitpid>(2).  This flag is only meaningful when "
3824 "establishing a handler for B<SIGCHLD>, or when setting that signal's "
3825 "disposition to B<SIG_DFL>."
3826 msgstr ""
3827 "(Linux 2.6 以降)  I<signum> が B<SIGCHLD> の場合、子プロセスが終了したときに "
3828 "子プロセスをゾンビプロセスに変化させない (B<waitpid>(2)  も参照)。 このフラグ"
3829 "は、 B<SIGCHLD> に対してハンドラを設定する際、もしくはそのシグナルの処理方法"
3830 "を B<SIG_DFL> に設定する際にのみ意味を持つ。"
3831
3832 #. type: Plain text
3833 #: build/C/man2/sigaction.2:208
3834 msgid ""
3835 "If the B<SA_NOCLDWAIT> flag is set when establishing a handler for "
3836 "B<SIGCHLD>, POSIX.1 leaves it unspecified whether a B<SIGCHLD> signal is "
3837 "generated when a child process terminates.  On Linux, a B<SIGCHLD> signal is "
3838 "generated in this case; on some other implementations, it is not."
3839 msgstr ""
3840 "B<SIGCHLD> に対してハンドラを設定する際に B<SA_NOCLDWAIT> フラグをセットした"
3841 "場合、 子プロセスが終了した際に B<SIGCHLD> シグナルが生成されるかどうかは、 "
3842 "POSIX.1 では規定されていない。 Linux では、この状況で B<SIGCHLD> シグナルは生"
3843 "成される。 いくつかの他の実装では生成されない。"
3844
3845 #. type: TP
3846 #: build/C/man2/sigaction.2:208
3847 #, no-wrap
3848 msgid "B<SA_NODEFER>"
3849 msgstr "B<SA_NODEFER>"
3850
3851 #. type: Plain text
3852 #: build/C/man2/sigaction.2:215
3853 msgid ""
3854 "Do not prevent the signal from being received from within its own signal "
3855 "handler.  This flag is only meaningful when establishing a signal handler.  "
3856 "B<SA_NOMASK> is an obsolete, nonstandard synonym for this flag."
3857 msgstr ""
3858 "それ自身のシグナル・ハンドラーの内部にいる時でも そのシグナルをマスクしないよ"
3859 "うにする。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。 "
3860 "B<SA_NOMASK> はこのフラグと同じ意味だが、廃止されており、非標準である。"
3861
3862 #. type: TP
3863 #: build/C/man2/sigaction.2:215
3864 #, no-wrap
3865 msgid "B<SA_ONSTACK>"
3866 msgstr "B<SA_ONSTACK>"
3867
3868 #. type: Plain text
3869 #: build/C/man2/sigaction.2:221
3870 msgid ""
3871 "Call the signal handler on an alternate signal stack provided by "
3872 "B<sigaltstack>(2).  If an alternate stack is not available, the default "
3873 "stack will be used.  This flag is only meaningful when establishing a signal "
3874 "handler."
3875 msgstr ""
3876 "B<sigaltstack>(2)  で提供される別のシグナル・スタックでシグナルハンドラを呼び"
3877 "出す。 別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが 使"
3878 "用される。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。"
3879
3880 #. type: TP
3881 #: build/C/man2/sigaction.2:221
3882 #, no-wrap
3883 msgid "B<SA_RESETHAND>"
3884 msgstr "B<SA_RESETHAND>"
3885
3886 #. type: Plain text
3887 #: build/C/man2/sigaction.2:228
3888 msgid ""
3889 "Restore the signal action to the default state once the signal handler has "
3890 "been called.  This flag is only meaningful when establishing a signal "
3891 "handler.  B<SA_ONESHOT> is an obsolete, nonstandard synonym for this flag."
3892 msgstr ""
3893 "シグナルハンドラが呼ばれる度に、シグナルの動作をデフォルトに戻す。 このフラグ"
3894 "はシグナルハンドラを設定する際にのみ意味を持つ。 B<SA_ONESHOT> はこのフラグと"
3895 "同じ意味だが、廃止されており、非標準である。"
3896
3897 #. type: TP
3898 #: build/C/man2/sigaction.2:228
3899 #, no-wrap
3900 msgid "B<SA_RESTART>"
3901 msgstr "B<SA_RESTART>"
3902
3903 #. type: Plain text
3904 #: build/C/man2/sigaction.2:236
3905 msgid ""
3906 "Provide behavior compatible with BSD signal semantics by making certain "
3907 "system calls restartable across signals.  This flag is only meaningful when "
3908 "establishing a signal handler.  See B<signal>(7)  for a discussion of system "
3909 "call restarting."
3910 msgstr ""
3911 "いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、 BSD シ"
3912 "グナル方式 (semantics) と互換性のある動作を提供する。 このフラグはシグナルハ"
3913 "ンドラを設定する際にのみ意味を持つ。 B<signal>(7)  に書かれているシステムコー"
3914 "ルの再開に関する議論を参照のこと。"
3915
3916 #. type: TP
3917 #: build/C/man2/sigaction.2:236
3918 #, no-wrap
3919 msgid "B<SA_SIGINFO> (since Linux 2.2)"
3920 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
3921
3922 #.  (The
3923 #.  .I sa_sigaction
3924 #.  field was added in Linux 2.1.86.)
3925 #. type: Plain text
3926 #: build/C/man2/sigaction.2:247
3927 msgid ""
3928 "The signal handler takes 3 arguments, not one.  In this case, "
3929 "I<sa_sigaction> should be set instead of I<sa_handler>.  This flag is only "
3930 "meaningful when establishing a signal handler."
3931 msgstr ""
3932 "シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は I<sa_handler> "
3933 "のかわりに I<sa_sigaction> を設定しなければならない このフラグはシグナルハン"
3934 "ドラを設定する際にのみ意味を持つ。"
3935
3936 #. type: Plain text
3937 #: build/C/man2/sigaction.2:254
3938 msgid ""
3939 "The I<siginfo_t> argument to I<sa_sigaction> is a struct with the following "
3940 "elements:"
3941 msgstr ""
3942 "I<sa_sigaction> のパラメータ I<siginfo_t> は以下の要素を持つ構造体である:"
3943
3944 #.  FIXME
3945 #.  si_trapno seems to be only used on SPARC and Alpha;
3946 #.  this page could use a little more detail on its purpose there.
3947 #.  In the kernel: si_tid
3948 #. type: Plain text
3949 #: build/C/man2/sigaction.2:285
3950 #, fuzzy, no-wrap
3951 #| msgid ""
3952 #| "siginfo_t {\n"
3953 #| "    int      si_signo;    /* Signal number */\n"
3954 #| "    int      si_errno;    /* An errno value */\n"
3955 #| "    int      si_code;     /* Signal code */\n"
3956 #| "    int      si_trapno;   /* Trap number that caused\n"
3957 #| "                             hardware-generated signal\n"
3958 #| "                             (unused on most architectures) */\n"
3959 #| "    pid_t    si_pid;      /* Sending process ID */\n"
3960 #| "    uid_t    si_uid;      /* Real user ID of sending process */\n"
3961 #| "    int      si_status;   /* Exit value or signal */\n"
3962 #| "    clock_t  si_utime;    /* User time consumed */\n"
3963 #| "    clock_t  si_stime;    /* System time consumed */\n"
3964 #| "    sigval_t si_value;    /* Signal value */\n"
3965 #| "    int      si_int;      /* POSIX.1b signal */\n"
3966 #| "    void    *si_ptr;      /* POSIX.1b signal */\n"
3967 #| "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
3968 #| "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
3969 #| "    void    *si_addr;     /* Memory location which caused fault */\n"
3970 #| "    int      si_band;     /* Band event */\n"
3971 #| "    int      si_fd;       /* File descriptor */\n"
3972 #| "}\n"
3973 msgid ""
3974 "siginfo_t {\n"
3975 "    int      si_signo;    /* Signal number */\n"
3976 "    int      si_errno;    /* An errno value */\n"
3977 "    int      si_code;     /* Signal code */\n"
3978 "    int      si_trapno;   /* Trap number that caused\n"
3979 "                             hardware-generated signal\n"
3980 "                             (unused on most architectures) */\n"
3981 "    pid_t    si_pid;      /* Sending process ID */\n"
3982 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
3983 "    int      si_status;   /* Exit value or signal */\n"
3984 "    clock_t  si_utime;    /* User time consumed */\n"
3985 "    clock_t  si_stime;    /* System time consumed */\n"
3986 "    sigval_t si_value;    /* Signal value */\n"
3987 "    int      si_int;      /* POSIX.1b signal */\n"
3988 "    void    *si_ptr;      /* POSIX.1b signal */\n"
3989 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
3990 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
3991 "    void    *si_addr;     /* Memory location which caused fault */\n"
3992 "    long     si_band;     /* Band event (was I<int> in\n"
3993 "                             glibc 2.3.2 and earlier) */\n"
3994 "    int      si_fd;       /* File descriptor */\n"
3995 "    short    si_addr_lsb; /* Least significant bit of address\n"
3996 "                             (since kernel 2.6.32) */\n"
3997 "}\n"
3998 msgstr ""
3999 "siginfo_t {\n"
4000 "    int      si_signo;    /* Signal number */\n"
4001 "    int      si_errno;    /* An errno value */\n"
4002 "    int      si_code;     /* Signal code */\n"
4003 "    int      si_trapno;   /* Trap number that caused\n"
4004 "                             hardware-generated signal\n"
4005 "                             (unused on most architectures) */\n"
4006 "    pid_t    si_pid;      /* Sending process ID */\n"
4007 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4008 "    int      si_status;   /* Exit value or signal */\n"
4009 "    clock_t  si_utime;    /* User time consumed */\n"
4010 "    clock_t  si_stime;    /* System time consumed */\n"
4011 "    sigval_t si_value;    /* Signal value */\n"
4012 "    int      si_int;      /* POSIX.1b signal */\n"
4013 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4014 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4015 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4016 "    void    *si_addr;     /* Memory location which caused fault */\n"
4017 "    int      si_band;     /* Band event */\n"
4018 "    int      si_fd;       /* File descriptor */\n"
4019 "}\n"
4020
4021 #. type: Plain text
4022 #: build/C/man2/sigaction.2:294
4023 msgid ""
4024 "I<si_signo>, I<si_errno> and I<si_code> are defined for all signals.  "
4025 "(I<si_errno> is generally unused on Linux.)  The rest of the struct may be a "
4026 "union, so that one should only read the fields that are meaningful for the "
4027 "given signal:"
4028 msgstr ""
4029 "I<si_signo>, I<si_errno>, I<si_code> は全てのシグナルに対して定義されている "
4030 "(I<si_errno> は Linux では一般的には使用されない)。 構造体の残りの部分は、共"
4031 "用体 (union) になっているかもしれない。 その場合は該当するシグナルにおいて意"
4032 "味のあるフィールドのみを読み込む ことができる。"
4033
4034 #. type: Plain text
4035 #: build/C/man2/sigaction.2:309
4036 msgid ""
4037 "Signals sent with B<kill>(2)  and B<sigqueue>(3)  fill in I<si_pid> and "
4038 "I<si_uid>.  In addition, signals sent with B<sigqueue>(3)  fill in I<si_int> "
4039 "and I<si_ptr> with the values specified by the sender of the signal; see "
4040 "B<sigqueue>(3)  for more details."
4041 msgstr ""
4042
4043 #. type: Plain text
4044 #: build/C/man2/sigaction.2:325
4045 #, fuzzy
4046 #| msgid ""
4047 #| "POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4048 #| "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the "
4049 #| "kernel to identify the timer; it is not the same as the timer ID returned "
4050 #| "by B<timer_create>(2)."
4051 msgid ""
4052 "Signals sent by POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4053 "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the kernel "
4054 "to identify the timer; it is not the same as the timer ID returned by "
4055 "B<timer_create>(2).  The I<si_overrun> field is the timer overrun count; "
4056 "this is the same information as is obtained by a call to B<timer_getoverrun>"
4057 "(2).  These fields are nonstandard Linux extensions."
4058 msgstr ""
4059 "POSIX.1b タイマ (Linux 2.6 以降) は I<si_overrun> と I<si_timerid> を設定す"
4060 "る。 I<si_timerid> フィールドはカーネルがタイマを特定するのに使用する内部 ID "
4061 "であり、 B<timer_create>(2)  が返すタイマ ID と同じではない。"
4062
4063 #. type: Plain text
4064 #: build/C/man2/sigaction.2:340
4065 msgid ""
4066 "Signals sent for message queue notification (see the description of "
4067 "B<SIGEV_SIGNAL> in B<mq_notify>(3))  fill in I<si_int>/I<si_ptr>, with the "
4068 "I<sigev_value> supplied to B<mq_notify>(3); I<si_pid>, with the process ID "
4069 "of the message sender; and I<si_uid>, with the real user ID of the message "
4070 "sender."
4071 msgstr ""
4072
4073 #.  FIXME .
4074 #.  When si_utime and si_stime where originally implemented, the
4075 #.  measurement unit was HZ, which was the same as clock ticks
4076 #.  (sysconf(_SC_CLK_TCK)).  In 2.6, HZ became configurable, and
4077 #.  was *still* used as the unit to return the info these fields,
4078 #.  with the result that the field values depended on the the
4079 #.  configured HZ.  Of course, the should have been measured in
4080 #.  USER_HZ instead, so that sysconf(_SC_CLK_TCK) could be used to
4081 #.  convert to seconds.  I have a queued patch to fix this:
4082 #.  http://thread.gmane.org/gmane.linux.kernel/698061/ .
4083 #.  This patch made it into 2.6.27.
4084 #.  But note that these fields still don't return the times of
4085 #.  waited-for children (as is done by getrusage() and times()
4086 #.  and wait4()).  Solaris 8 does include child times.
4087 #. type: Plain text
4088 #: build/C/man2/sigaction.2:387
4089 #, fuzzy
4090 #| msgid ""
4091 #| "B<SIGCHLD> fills in I<si_status>, I<si_utime> and I<si_stime>.  The "
4092 #| "I<si_utime> and I<si_stime> fields do not include the times used by "
4093 #| "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels "
4094 #| "up to 2.6, and since 2.6.27, these fields report CPU time in units of "
4095 #| "I<sysconf(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that "
4096 #| "these fields reported time in units of the (configurable) system jiffy "
4097 #| "(see B<time>(7))."
4098 msgid ""
4099 "B<SIGCHLD> fills in I<si_pid>, I<si_uid>, I<si_status>, I<si_utime> and "
4100 "I<si_stime>, providing information about the child.  The I<si_pid> field is "
4101 "the process ID of the child; I<si_uid> is the child's real user ID.  The "
4102 "I<si_status> field contains the exit status of the child (if I<si_code> is "
4103 "B<CLD_EXITED>), or the signal number that caused the process to change "
4104 "state.  The I<si_utime> and I<si_stime> contain the user and system CPU time "
4105 "used by the child process; these fields do not include the times used by "
4106 "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels up "
4107 "to 2.6, and since 2.6.27, these fields report CPU time in units of I<sysconf"
4108 "(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that these fields "
4109 "reported time in units of the (configurable) system jiffy (see B<time>(7))."
4110 msgstr ""
4111 "B<SIGCHLD> は I<si_status>, I<si_utime>, I<si_stime> を設定する。 "
4112 "(B<getrusage>(2)  や B<time>(2)  と異なり) フィールド I<si_utime> と "
4113 "I<si_stime> には wait 待ちの子プロセスにより使用された時間は含まれない。 2.6 "
4114 "より前と 2.6.27 以降のカーネルでは、 これらのフィールドに格納される CPU 時間"
4115 "の単位は I<sysconf(_SC_CLK_TCK)> である。 2.6.27 より前の 2.6 系のカーネルで"
4116 "は、バグがあり、 これらのフィールドの CPU 時間の単位が (カーネルのコンフィグ"
4117 "で指定される) システムの jiffy であった (B<time>(7)  参照)。"
4118
4119 #.  FIXME SIGTRAP also sets the following for ptrace_notify() ?
4120 #.      info.si_code = exit_code;
4121 #.      info.si_pid = task_pid_vnr(current);
4122 #.      info.si_uid = current_uid();  /* Real UID */
4123 #. type: Plain text
4124 #: build/C/man2/sigaction.2:423
4125 msgid ""
4126 "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS>, and B<SIGTRAP> fill in "
4127 "I<si_addr> with the address of the fault.  On some architectures, these "
4128 "signals also fill in the I<si_trapno> filed.  Some suberrors of B<SIGBUS>, "
4129 "in particular B<BUS_MCEERR_AO> and B<BUS_MCEERR_AR>, also fill in "
4130 "I<si_addr_lsb>.  This field indicates the least significant bit of the "
4131 "reported address and therefore the extent of the corruption.  For example, "
4132 "if a full page was corrupted, I<si_addr_lsb> contains I<log2(sysconf"
4133 "(_SC_PAGESIZE))>.  B<BUS_MCERR_*> and I<si_addr_lsb> are Linux-specific "
4134 "extensions."
4135 msgstr ""
4136
4137 #. type: Plain text
4138 #: build/C/man2/sigaction.2:436
4139 msgid ""
4140 "B<SIGPOLL>/B<SIGIO> fills in I<si_band> and I<si_fd>.  The I<si_band> event "
4141 "is a bit mask containing the same values as are filled in the I<revents> "
4142 "field by B<poll>(2).  The I<si_fd> field indicates the file descriptor for "
4143 "which the I/O event occurred."
4144 msgstr ""
4145
4146 #. type: Plain text
4147 #: build/C/man2/sigaction.2:443
4148 msgid ""
4149 "I<si_code> is a value (not a bit mask)  indicating why this signal was "
4150 "sent.  The following list shows the values which can be placed in I<si_code> "
4151 "for any signal, along with reason that the signal was generated."
4152 msgstr ""
4153 "I<si_code> は、そのシグナルが送信された理由を示す値である (ビットマスクではな"
4154 "い)。 以下のリストに、どのシグナルの場合でも I<si_code> に入りうる値を、シグ"
4155 "ナルが生成された理由とともに記載する。"
4156
4157 #. type: TP
4158 #: build/C/man2/sigaction.2:444
4159 #, no-wrap
4160 msgid "B<SI_USER>"
4161 msgstr "B<SI_USER>"
4162
4163 #. type: Plain text
4164 #: build/C/man2/sigaction.2:449
4165 msgid "B<kill>(2)  or B<raise>(3)"
4166 msgstr "B<kill>(2)  または B<raise>(3)"
4167
4168 #. type: TP
4169 #: build/C/man2/sigaction.2:449
4170 #, no-wrap
4171 msgid "B<SI_KERNEL>"
4172 msgstr "B<SI_KERNEL>"
4173
4174 #. type: Plain text
4175 #: build/C/man2/sigaction.2:452
4176 msgid "Sent by the kernel."
4177 msgstr "カーネルにより送信された"
4178
4179 #. type: TP
4180 #: build/C/man2/sigaction.2:452
4181 #, no-wrap
4182 msgid "B<SI_QUEUE>"
4183 msgstr "B<SI_QUEUE>"
4184
4185 #. type: TP
4186 #: build/C/man2/sigaction.2:455 build/C/man7/signal.7:126
4187 #, no-wrap
4188 msgid "B<sigqueue>(3)"
4189 msgstr "B<sigqueue>(3)"
4190
4191 #. type: TP
4192 #: build/C/man2/sigaction.2:455
4193 #, no-wrap
4194 msgid "B<SI_TIMER>"
4195 msgstr "B<SI_TIMER>"
4196
4197 #. type: Plain text
4198 #: build/C/man2/sigaction.2:458
4199 msgid "POSIX timer expired"
4200 msgstr "POSIX タイマが満了した"
4201
4202 #. type: TP
4203 #: build/C/man2/sigaction.2:458
4204 #, no-wrap
4205 msgid "B<SI_MESGQ>"
4206 msgstr "B<SI_MESGQ>"
4207
4208 #. type: Plain text
4209 #: build/C/man2/sigaction.2:462
4210 msgid ""
4211 "POSIX message queue state changed (since Linux 2.6.6); see B<mq_notify>(3)"
4212 msgstr ""
4213 "POSIX メッセージキューの状態が変化した (Linux 2.6.6 以降)。 B<mq_notify>(3)B<"
4214 "参照。>"
4215
4216 #. type: TP
4217 #: build/C/man2/sigaction.2:462
4218 #, no-wrap
4219 msgid "B<SI_ASYNCIO>"
4220 msgstr "B<SI_ASYNCIO>"
4221
4222 #. type: Plain text
4223 #: build/C/man2/sigaction.2:465
4224 msgid "AIO completed"
4225 msgstr "非同期 IO (AIO) が完了した"
4226
4227 #. type: TP
4228 #: build/C/man2/sigaction.2:465
4229 #, no-wrap
4230 msgid "B<SI_SIGIO>"
4231 msgstr "B<SI_SIGIO>"
4232
4233 #. type: Plain text
4234 #: build/C/man2/sigaction.2:468
4235 msgid "queued SIGIO"
4236 msgstr "キューイングされた SIGIO"
4237
4238 #. type: TP
4239 #: build/C/man2/sigaction.2:468
4240 #, no-wrap
4241 msgid "B<SI_TKILL>"
4242 msgstr "B<SI_TKILL>"
4243
4244 #.  SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
4245 #.  It appears to have been an idea that was tried during 2.5.6
4246 #.  through to 2.5.24 and then was backed out.
4247 #. type: Plain text
4248 #: build/C/man2/sigaction.2:477
4249 msgid "B<tkill>(2)  or B<tgkill>(2)  (since Linux 2.4.19)"
4250 msgstr "B<tkill>(2)  または B<tgkill>(2)  (Linux 2.4.19 以降)"
4251
4252 #. type: Plain text
4253 #: build/C/man2/sigaction.2:484
4254 msgid ""
4255 "The following values can be placed in I<si_code> for a B<SIGILL> signal:"
4256 msgstr "B<SIGILL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4257
4258 #. type: TP
4259 #: build/C/man2/sigaction.2:485
4260 #, no-wrap
4261 msgid "B<ILL_ILLOPC>"
4262 msgstr "B<ILL_ILLOPC>"
4263
4264 #. type: Plain text
4265 #: build/C/man2/sigaction.2:488
4266 msgid "illegal opcode"
4267 msgstr "不正な命令コード (opcode)"
4268
4269 #. type: TP
4270 #: build/C/man2/sigaction.2:488
4271 #, no-wrap
4272 msgid "B<ILL_ILLOPN>"
4273 msgstr "B<ILL_ILLOPN>"
4274
4275 #. type: Plain text
4276 #: build/C/man2/sigaction.2:491
4277 msgid "illegal operand"
4278 msgstr "不正なオペランド"
4279
4280 #. type: TP
4281 #: build/C/man2/sigaction.2:491
4282 #, no-wrap
4283 msgid "B<ILL_ILLADR>"
4284 msgstr "B<ILL_ILLADR>"
4285
4286 #. type: Plain text
4287 #: build/C/man2/sigaction.2:494
4288 msgid "illegal addressing mode"
4289 msgstr "不正なアドレッシングモード"
4290
4291 #. type: TP
4292 #: build/C/man2/sigaction.2:494
4293 #, no-wrap
4294 msgid "B<ILL_ILLTRP>"
4295 msgstr "B<ILL_ILLTRP>"
4296
4297 #. type: Plain text
4298 #: build/C/man2/sigaction.2:497
4299 msgid "illegal trap"
4300 msgstr "不正なトラップ"
4301
4302 #. type: TP
4303 #: build/C/man2/sigaction.2:497
4304 #, no-wrap
4305 msgid "B<ILL_PRVOPC>"
4306 msgstr "B<ILL_PRVOPC>"
4307
4308 #. type: Plain text
4309 #: build/C/man2/sigaction.2:500
4310 msgid "privileged opcode"
4311 msgstr "特権が必要な命令コード (opcode)"
4312
4313 #. type: TP
4314 #: build/C/man2/sigaction.2:500
4315 #, no-wrap
4316 msgid "B<ILL_PRVREG>"
4317 msgstr "B<ILL_PRVREG>"
4318
4319 #. type: Plain text
4320 #: build/C/man2/sigaction.2:503
4321 msgid "privileged register"
4322 msgstr "特権が必要なレジスタ"
4323
4324 #. type: TP
4325 #: build/C/man2/sigaction.2:503
4326 #, no-wrap
4327 msgid "B<ILL_COPROC>"
4328 msgstr "B<ILL_COPROC>"
4329
4330 #. type: Plain text
4331 #: build/C/man2/sigaction.2:506
4332 msgid "coprocessor error"
4333 msgstr "コプロセッサのエラー"
4334
4335 #. type: TP
4336 #: build/C/man2/sigaction.2:506
4337 #, no-wrap
4338 msgid "B<ILL_BADSTK>"
4339 msgstr "B<ILL_BADSTK>"
4340
4341 #. type: Plain text
4342 #: build/C/man2/sigaction.2:509
4343 msgid "internal stack error"
4344 msgstr "内部スタックエラー"
4345
4346 #. type: Plain text
4347 #: build/C/man2/sigaction.2:516
4348 msgid ""
4349 "The following values can be placed in I<si_code> for a B<SIGFPE> signal:"
4350 msgstr "B<SIGFPE> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4351
4352 #. type: TP
4353 #: build/C/man2/sigaction.2:517
4354 #, no-wrap
4355 msgid "B<FPE_INTDIV>"
4356 msgstr "B<FPE_INTDIV>"
4357
4358 #. type: Plain text
4359 #: build/C/man2/sigaction.2:520
4360 msgid "integer divide by zero"
4361 msgstr "整数の 0 による除算"
4362
4363 #. type: TP
4364 #: build/C/man2/sigaction.2:520
4365 #, no-wrap
4366 msgid "B<FPE_INTOVF>"
4367 msgstr "B<FPE_INTOVF>"
4368
4369 #. type: Plain text
4370 #: build/C/man2/sigaction.2:523
4371 msgid "integer overflow"
4372 msgstr "整数のオーバーフロー"
4373
4374 #. type: TP
4375 #: build/C/man2/sigaction.2:523
4376 #, no-wrap
4377 msgid "B<FPE_FLTDIV>"
4378 msgstr "B<FPE_FLTDIV>"
4379
4380 #. type: Plain text
4381 #: build/C/man2/sigaction.2:526
4382 msgid "floating-point divide by zero"
4383 msgstr "浮動小数点の 0 による除算"
4384
4385 #. type: TP
4386 #: build/C/man2/sigaction.2:526
4387 #, no-wrap
4388 msgid "B<FPE_FLTOVF>"
4389 msgstr "B<FPE_FLTOVF>"
4390
4391 #. type: Plain text
4392 #: build/C/man2/sigaction.2:529
4393 msgid "floating-point overflow"
4394 msgstr "浮動小数点のオーバーフロー"
4395
4396 #. type: TP
4397 #: build/C/man2/sigaction.2:529
4398 #, no-wrap
4399 msgid "B<FPE_FLTUND>"
4400 msgstr "B<FPE_FLTUND>"
4401
4402 #. type: Plain text
4403 #: build/C/man2/sigaction.2:532
4404 msgid "floating-point underflow"
4405 msgstr "浮動小数点のアンダーフロー"
4406
4407 #. type: TP
4408 #: build/C/man2/sigaction.2:532
4409 #, no-wrap
4410 msgid "B<FPE_FLTRES>"
4411 msgstr "B<FPE_FLTRES>"
4412
4413 #. type: Plain text
4414 #: build/C/man2/sigaction.2:535
4415 msgid "floating-point inexact result"
4416 msgstr "浮動小数点の不正確な演算結果 (inexact result)"
4417
4418 #. type: TP
4419 #: build/C/man2/sigaction.2:535
4420 #, no-wrap
4421 msgid "B<FPE_FLTINV>"
4422 msgstr "B<FPE_FLTINV>"
4423
4424 #. type: Plain text
4425 #: build/C/man2/sigaction.2:538
4426 msgid "floating-point invalid operation"
4427 msgstr "浮動小数点の不正な操作"
4428
4429 #. type: TP
4430 #: build/C/man2/sigaction.2:538
4431 #, no-wrap
4432 msgid "B<FPE_FLTSUB>"
4433 msgstr "B<FPE_FLTSUB>"
4434
4435 #. type: Plain text
4436 #: build/C/man2/sigaction.2:541
4437 msgid "subscript out of range"
4438 msgstr "範囲外の添字 (subscript)"
4439
4440 #. type: Plain text
4441 #: build/C/man2/sigaction.2:548
4442 msgid ""
4443 "The following values can be placed in I<si_code> for a B<SIGSEGV> signal:"
4444 msgstr "B<SIGSEGV> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4445
4446 #. type: TP
4447 #: build/C/man2/sigaction.2:549
4448 #, no-wrap
4449 msgid "B<SEGV_MAPERR>"
4450 msgstr "B<SEGV_MAPERR>"
4451
4452 #. type: Plain text
4453 #: build/C/man2/sigaction.2:552
4454 msgid "address not mapped to object"
4455 msgstr "オブジェクトにマッピングされていないアドレス"
4456
4457 #. type: TP
4458 #: build/C/man2/sigaction.2:552
4459 #, no-wrap
4460 msgid "B<SEGV_ACCERR>"
4461 msgstr "B<SEGV_ACCERR>"
4462
4463 #. type: Plain text
4464 #: build/C/man2/sigaction.2:555
4465 msgid "invalid permissions for mapped object"
4466 msgstr "マッピングされたオブジェクトに対するアクセス許可がない"
4467
4468 #. type: Plain text
4469 #: build/C/man2/sigaction.2:562
4470 msgid ""
4471 "The following values can be placed in I<si_code> for a B<SIGBUS> signal:"
4472 msgstr "B<SIGBUS> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4473
4474 #. type: TP
4475 #: build/C/man2/sigaction.2:563
4476 #, no-wrap
4477 msgid "B<BUS_ADRALN>"
4478 msgstr "B<BUS_ADRALN>"
4479
4480 #. type: Plain text
4481 #: build/C/man2/sigaction.2:566
4482 msgid "invalid address alignment"
4483 msgstr "不正なアドレス・アライメント (alignment)"
4484
4485 #. type: TP
4486 #: build/C/man2/sigaction.2:566
4487 #, no-wrap
4488 msgid "B<BUS_ADRERR>"
4489 msgstr "B<BUS_ADRERR>"
4490
4491 #. type: Plain text
4492 #: build/C/man2/sigaction.2:569
4493 msgid "nonexistent physical address"
4494 msgstr "存在しない物理アドレス"
4495
4496 #. type: TP
4497 #: build/C/man2/sigaction.2:569
4498 #, no-wrap
4499 msgid "B<BUS_OBJERR>"
4500 msgstr "B<BUS_OBJERR>"
4501
4502 #. type: Plain text
4503 #: build/C/man2/sigaction.2:572
4504 msgid "object-specific hardware error"
4505 msgstr "オブジェクト固有のハードウェアエラー"
4506
4507 #. type: TP
4508 #: build/C/man2/sigaction.2:572
4509 #, fuzzy, no-wrap
4510 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4511 msgid "B<BUS_MCEERR_AR> (since Linux 2.6.32)"
4512 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4513
4514 #. type: Plain text
4515 #: build/C/man2/sigaction.2:575
4516 msgid "Hardware memory error consumed on a machine check; action required."
4517 msgstr ""
4518
4519 #. type: TP
4520 #: build/C/man2/sigaction.2:575
4521 #, fuzzy, no-wrap
4522 #| msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
4523 msgid "B<BUS_MCEERR_AO> (since Linux 2.6.32)"
4524 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
4525
4526 #. type: Plain text
4527 #: build/C/man2/sigaction.2:578
4528 msgid ""
4529 "Hardware memory error detected in process but not consumed; action optional."
4530 msgstr ""
4531
4532 #. type: Plain text
4533 #: build/C/man2/sigaction.2:585
4534 msgid ""
4535 "The following values can be placed in I<si_code> for a B<SIGTRAP> signal:"
4536 msgstr "B<SIGTRAP> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4537
4538 #. type: TP
4539 #: build/C/man2/sigaction.2:586
4540 #, no-wrap
4541 msgid "B<TRAP_BRKPT>"
4542 msgstr "B<TRAP_BRKPT>"
4543
4544 #. type: Plain text
4545 #: build/C/man2/sigaction.2:589
4546 msgid "process breakpoint"
4547 msgstr "プロセスのブレークポイント"
4548
4549 #. type: TP
4550 #: build/C/man2/sigaction.2:589
4551 #, no-wrap
4552 msgid "B<TRAP_TRACE>"
4553 msgstr "B<TRAP_TRACE>"
4554
4555 #. type: Plain text
4556 #: build/C/man2/sigaction.2:592
4557 msgid "process trace trap"
4558 msgstr "プロセスのトレース・トラップ"
4559
4560 #. type: TP
4561 #: build/C/man2/sigaction.2:592
4562 #, fuzzy, no-wrap
4563 #| msgid "B<__WALL> (since Linux 2.4)"
4564 msgid "B<TRAP_BRANCH> (since Linux 2.4)"
4565 msgstr "B<__WALL> (Linux 2.4 以降)"
4566
4567 #. type: Plain text
4568 #: build/C/man2/sigaction.2:595
4569 #, fuzzy
4570 #| msgid "process trace trap"
4571 msgid "process taken branch trap"
4572 msgstr "プロセスのトレース・トラップ"
4573
4574 #. type: TP
4575 #: build/C/man2/sigaction.2:595
4576 #, fuzzy, no-wrap
4577 #| msgid "B<__WALL> (since Linux 2.4)"
4578 msgid "B<TRAP_HWBKPT> (since Linux 2.4)"
4579 msgstr "B<__WALL> (Linux 2.4 以降)"
4580
4581 #. type: Plain text
4582 #: build/C/man2/sigaction.2:598
4583 msgid "hardware breakpoint/watchpoint"
4584 msgstr ""
4585
4586 #. type: Plain text
4587 #: build/C/man2/sigaction.2:605
4588 msgid ""
4589 "The following values can be placed in I<si_code> for a B<SIGCHLD> signal:"
4590 msgstr "B<SIGCHLD> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4591
4592 #. type: TP
4593 #: build/C/man2/sigaction.2:606
4594 #, no-wrap
4595 msgid "B<CLD_EXITED>"
4596 msgstr "B<CLD_EXITED>"
4597
4598 #. type: Plain text
4599 #: build/C/man2/sigaction.2:609
4600 msgid "child has exited"
4601 msgstr "子プロセスが終了した (exited)"
4602
4603 #. type: TP
4604 #: build/C/man2/sigaction.2:609
4605 #, no-wrap
4606 msgid "B<CLD_KILLED>"
4607 msgstr "B<CLD_KILLED>"
4608
4609 #. type: Plain text
4610 #: build/C/man2/sigaction.2:612
4611 msgid "child was killed"
4612 msgstr "子プロセスが kill された"
4613
4614 #. type: TP
4615 #: build/C/man2/sigaction.2:612
4616 #, no-wrap
4617 msgid "B<CLD_DUMPED>"
4618 msgstr "B<CLD_DUMPED>"
4619
4620 #. type: Plain text
4621 #: build/C/man2/sigaction.2:615
4622 msgid "child terminated abnormally"
4623 msgstr "子プロセスが異常終了した"
4624
4625 #. type: TP
4626 #: build/C/man2/sigaction.2:615
4627 #, no-wrap
4628 msgid "B<CLD_TRAPPED>"
4629 msgstr "B<CLD_TRAPPED>"
4630
4631 #. type: Plain text
4632 #: build/C/man2/sigaction.2:618
4633 msgid "traced child has trapped"
4634 msgstr "トレース対象の子プロセスがトラップを上げた"
4635
4636 #. type: TP
4637 #: build/C/man2/sigaction.2:618
4638 #, no-wrap
4639 msgid "B<CLD_STOPPED>"
4640 msgstr "B<CLD_STOPPED>"
4641
4642 #. type: Plain text
4643 #: build/C/man2/sigaction.2:621
4644 msgid "child has stopped"
4645 msgstr "子プロセスが停止 (stop) した"
4646
4647 #. type: TP
4648 #: build/C/man2/sigaction.2:621
4649 #, no-wrap
4650 msgid "B<CLD_CONTINUED>"
4651 msgstr "B<CLD_CONTINUED>"
4652
4653 #. type: Plain text
4654 #: build/C/man2/sigaction.2:624
4655 msgid "stopped child has continued (since Linux 2.6.9)"
4656 msgstr "停止していた子プロセスが再開した (Linux 2.6.9 以降)"
4657
4658 #. type: Plain text
4659 #: build/C/man2/sigaction.2:631
4660 msgid ""
4661 "The following values can be placed in I<si_code> for a B<SIGPOLL> signal:"
4662 msgstr "B<SIGPOLL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4663
4664 #. type: TP
4665 #: build/C/man2/sigaction.2:632
4666 #, no-wrap
4667 msgid "B<POLL_IN>"
4668 msgstr "B<POLL_IN>"
4669
4670 #. type: Plain text
4671 #: build/C/man2/sigaction.2:635
4672 msgid "data input available"
4673 msgstr "入力データが利用可能"
4674
4675 #. type: TP
4676 #: build/C/man2/sigaction.2:635
4677 #, no-wrap
4678 msgid "B<POLL_OUT>"
4679 msgstr "B<POLL_OUT>"
4680
4681 #. type: Plain text
4682 #: build/C/man2/sigaction.2:638
4683 msgid "output buffers available"
4684 msgstr "出力バッファが利用可能"
4685
4686 #. type: TP
4687 #: build/C/man2/sigaction.2:638
4688 #, no-wrap
4689 msgid "B<POLL_MSG>"
4690 msgstr "B<POLL_MSG>"
4691
4692 #. type: Plain text
4693 #: build/C/man2/sigaction.2:641
4694 msgid "input message available"
4695 msgstr "入力メッセージが利用可能"
4696
4697 #. type: TP
4698 #: build/C/man2/sigaction.2:641
4699 #, no-wrap
4700 msgid "B<POLL_ERR>"
4701 msgstr "B<POLL_ERR>"
4702
4703 #. type: Plain text
4704 #: build/C/man2/sigaction.2:644
4705 #, fuzzy
4706 #| msgid "i/o error"
4707 msgid "I/O error"
4708 msgstr "I/O エラー"
4709
4710 #. type: TP
4711 #: build/C/man2/sigaction.2:644
4712 #, no-wrap
4713 msgid "B<POLL_PRI>"
4714 msgstr "B<POLL_PRI>"
4715
4716 #. type: Plain text
4717 #: build/C/man2/sigaction.2:647
4718 msgid "high priority input available"
4719 msgstr "高優先の入力が利用可能"
4720
4721 #. type: TP
4722 #: build/C/man2/sigaction.2:647
4723 #, no-wrap
4724 msgid "B<POLL_HUP>"
4725 msgstr "B<POLL_HUP>"
4726
4727 #. type: Plain text
4728 #: build/C/man2/sigaction.2:650
4729 msgid "device disconnected"
4730 msgstr "デバイスが接続されていない"
4731
4732 #. type: Plain text
4733 #: build/C/man2/sigaction.2:654
4734 msgid "B<sigaction>()  returns 0 on success and -1 on error."
4735 msgstr "B<sigaction>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
4736
4737 #. type: Plain text
4738 #: build/C/man2/sigaction.2:659
4739 msgid ""
4740 "I<act> or I<oldact> points to memory which is not a valid part of the "
4741 "process address space."
4742 msgstr ""
4743 "I<act> か I<oldact> が指しているメモリが正しいプロセスのアドレス空間にない。"
4744
4745 #. type: Plain text
4746 #: build/C/man2/sigaction.2:666
4747 msgid ""
4748 "An invalid signal was specified.  This will also be generated if an attempt "
4749 "is made to change the action for B<SIGKILL> or B<SIGSTOP>, which cannot be "
4750 "caught or ignored."
4751 msgstr ""
4752 "無効なシグナルが指定された。補足 (catch) したり無視したりできない シグナルで"
4753 "ある B<SIGKILL> や B<SIGSTOP> に対する動作を変更しようとした場合にも発生す"
4754 "る。"
4755
4756 #.  SVr4 does not document the EINTR condition.
4757 #. type: Plain text
4758 #: build/C/man2/sigaction.2:669
4759 msgid "POSIX.1-2001, SVr4."
4760 msgstr "POSIX.1-2001, SVr4."
4761
4762 #. type: Plain text
4763 #: build/C/man2/sigaction.2:677 build/C/man7/signal.7:103
4764 msgid ""
4765 "A child created via B<fork>(2)  inherits a copy of its parent's signal "
4766 "dispositions.  During an B<execve>(2), the dispositions of handled signals "
4767 "are reset to the default; the dispositions of ignored signals are left "
4768 "unchanged."
4769 msgstr ""
4770 "B<fork>(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コ"
4771 "ピーを継承する。\n"
4772 "B<execve>(2) の前後で、ハンドラが設定されているシグナルの処理方法はデフォルト"
4773 "にリセットされ、\n"
4774 "無視が設定されているシグナルの処理方法は変更されずそのままとなる。"
4775
4776 #. type: Plain text
4777 #: build/C/man2/sigaction.2:695 build/C/man2/signal.2:129
4778 msgid ""
4779 "According to POSIX, the behavior of a process is undefined after it ignores "
4780 "a B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> signal that was not generated by "
4781 "B<kill>(2)  or B<raise>(3).  Integer division by zero has undefined result.  "
4782 "On some architectures it will generate a B<SIGFPE> signal.  (Also dividing "
4783 "the most negative integer by -1 may generate B<SIGFPE>.)  Ignoring this "
4784 "signal might lead to an endless loop."
4785 msgstr ""
4786 "POSIX では、 B<kill>(2)  や B<raise>(3)  で生成できないシグナル B<SIGFPE>, "
4787 "B<SIGILL>, B<SIGSEGV> を無視 (ignore) した場合、その後の動作は未定義である。 "
4788 "ゼロによる整数割り算の結果は未定義となる。 アーキテクチャーによっては、このと"
4789 "き B<SIGFPE> シグナルが生成される。 (同様に負の最大整数を -1 で割ると "
4790 "B<SIGFPE> が生成されるかもしれない)  このシグナルを無視すると無限ループに陥る"
4791 "かもしれない。"
4792
4793 #. type: Plain text
4794 #: build/C/man2/sigaction.2:712
4795 msgid ""
4796 "POSIX.1-1990 disallowed setting the action for B<SIGCHLD> to B<SIG_IGN>.  "
4797 "POSIX.1-2001 allows this possibility, so that ignoring B<SIGCHLD> can be "
4798 "used to prevent the creation of zombies (see B<wait>(2)).  Nevertheless, the "
4799 "historical BSD and System V behaviors for ignoring B<SIGCHLD> differ, so "
4800 "that the only completely portable method of ensuring that terminated "
4801 "children do not become zombies is to catch the B<SIGCHLD> signal and perform "
4802 "a B<wait>(2)  or similar."
4803 msgstr ""
4804 "POSIX.1-1990 では B<SIGCHLD> に B<SIG_IGN> を設定することを認めていない。 "
4805 "POSIX.1-2001 では認められており、 B<SIGCHLD> を無視することでゾンビプロセスの"
4806 "生成を防止することができる (B<wait>(2)  を参照)。 さらに、BSD と SystemV で"
4807 "は B<SIGCHLD> を無視した際の動作が異なっている。 そのため、完全に移植性がある"
4808 "方法で、終了した子プロセスがゾンビにならないこと を保証するには、 B<SIGCHLD> "
4809 "シグナルを補足し、 B<wait>(2)  などを実行するしかない。"
4810
4811 #. type: Plain text
4812 #: build/C/man2/sigaction.2:725
4813 #, fuzzy
4814 #| msgid ""
4815 #| "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
4816 #| "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use "
4817 #| "of these latter values in I<sa_flags> may be less portable in "
4818 #| "applications intended for older Unix implementations."
4819 msgid ""
4820 "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
4821 "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use of "
4822 "these latter values in I<sa_flags> may be less portable in applications "
4823 "intended for older UNIX implementations."
4824 msgstr ""
4825 "POSIX.1-1990 の仕様では B<SA_NOCLDSTOP> のみが定義されている。 POSIX.1-2001 "
4826 "では B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, B<SA_SIGINFO> が追加さ"
4827 "れた。 Unix の古い実装で動かすアプリケーションで、 他の I<sa_flags> フラグを"
4828 "使用すると移植性が下がる。"
4829
4830 #. type: Plain text
4831 #: build/C/man2/sigaction.2:729
4832 msgid ""
4833 "The B<SA_RESETHAND> flag is compatible with the SVr4 flag of the same name."
4834 msgstr "B<SA_RESETHAND> フラグは SVr4 の同じ名前のフラグと互換性がある。"
4835
4836 #. type: Plain text
4837 #: build/C/man2/sigaction.2:739
4838 msgid ""
4839 "The B<SA_NODEFER> flag is compatible with the SVr4 flag of the same name "
4840 "under kernels 1.3.9 and newer.  On older kernels the Linux implementation "
4841 "allowed the receipt of any signal, not just the one we are installing "
4842 "(effectively overriding any I<sa_mask> settings)."
4843 msgstr ""
4844 "B<SA_NODEFER> フラグは 1.3.9 以降のカーネルでは同じ名前の SVr4 のフラグと互換"
4845 "性がある。 ぞれ以前の Linux カーネルの実装では、このフラグを設定しているシグ"
4846 "ナル だけでなく、どのシグナルでも受けることを許していた (実際には I<sa_mask> "
4847 "の設定により無効にできる)。"
4848
4849 #. type: Plain text
4850 #: build/C/man2/sigaction.2:745
4851 #, fuzzy
4852 #| msgid ""
4853 #| "B<sigaction>()  can be called with a null second argument to query the "
4854 #| "current signal handler.  It can also be used to check whether a given "
4855 #| "signal is valid for the current machine by calling it with null second "
4856 #| "and third arguments."
4857 msgid ""
4858 "B<sigaction>()  can be called with a NULL second argument to query the "
4859 "current signal handler.  It can also be used to check whether a given signal "
4860 "is valid for the current machine by calling it with NULL second and third "
4861 "arguments."
4862 msgstr ""
4863 "B<sigaction>()  の二番目の引き数に NULL を指定して呼び出すと、現在のシグナル"
4864 "ハンドラを確認する ことができる。また、二番目と三番目の引き数を NULL にて呼び"
4865 "出すことで、 指定されたシグナルが現在のマシンで使えるかどうかチェックできる。"
4866
4867 #. type: Plain text
4868 #: build/C/man2/sigaction.2:751
4869 msgid ""
4870 "It is not possible to block B<SIGKILL> or B<SIGSTOP> (by specifying them in "
4871 "I<sa_mask>).  Attempts to do so are silently ignored."
4872 msgstr ""
4873 "B<SIGKILL> や B<SIGSTOP> を (I<sa_mask> に指定して) 禁止することはできない。 "
4874 "禁止しようとしても黙って無視される。"
4875
4876 #. type: Plain text
4877 #: build/C/man2/sigaction.2:755 build/C/man2/sigpending.2:65
4878 #: build/C/man2/sigprocmask.2:131 build/C/man2/sigsuspend.2:104
4879 msgid "See B<sigsetops>(3)  for details on manipulating signal sets."
4880 msgstr "シグナル集合の操作に関する詳細は B<sigsetops>(3)  を参照のこと。"
4881
4882 #. type: Plain text
4883 #: build/C/man2/sigaction.2:760
4884 msgid ""
4885 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
4886 "safely called inside from inside a signal handler."
4887 msgstr ""
4888 "シグナルハンドラ内から安全に呼び出すことができる、 async-signal-safe "
4889 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
4890 "照。"
4891
4892 #. type: SS
4893 #: build/C/man2/sigaction.2:760
4894 #, no-wrap
4895 msgid "Undocumented"
4896 msgstr "非公式"
4897
4898 #. type: Plain text
4899 #: build/C/man2/sigaction.2:770
4900 msgid ""
4901 "Before the introduction of B<SA_SIGINFO> it was also possible to get some "
4902 "additional information, namely by using a I<sa_handler> with second argument "
4903 "of type I<struct sigcontext>.  See the relevant kernel sources for details.  "
4904 "This use is obsolete now."
4905 msgstr ""
4906 "B<SA_SIGINFO> が導入される前は、 I<struct sigcontext> 型の二番目の引き数と一"
4907 "緒に I<sa_handler> を使用することで、 いくつかの追加の情報を入手することがで"
4908 "きた。 詳細についてはカーネルソースの関連部分を見てほしい。 現在はこの使用法"
4909 "は廃止されている。"
4910
4911 #. type: Plain text
4912 #: build/C/man2/sigaction.2:779
4913 msgid ""
4914 "In kernels up to and including 2.6.13, specifying B<SA_NODEFER> in "
4915 "I<sa_flags> prevents not only the delivered signal from being masked during "
4916 "execution of the handler, but also the signals specified in I<sa_mask>.  "
4917 "This bug was fixed in kernel 2.6.14."
4918 msgstr ""
4919 "2.6.13 以前のカーネルでは、 I<sa_flags> に B<SA_NODEFER> を指定した場合、 ハ"
4920 "ンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、 "
4921 "I<sa_mask> に指定されたシグナルもマスクされなくなる。 このバグは、カーネル "
4922 "2.6.14 で修正された。"
4923
4924 #. type: Plain text
4925 #: build/C/man2/sigaction.2:782
4926 msgid "See B<mprotect>(2)."
4927 msgstr "B<mprotect>(2)  参照。"
4928
4929 #. type: Plain text
4930 #: build/C/man2/sigaction.2:801
4931 #, fuzzy
4932 #| msgid ""
4933 #| "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
4934 #| "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
4935 #| "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
4936 #| "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
4937 msgid ""
4938 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
4939 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
4940 "B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>(3), B<sigqueue>"
4941 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
4942 msgstr ""
4943 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
4944 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
4945 "B<sigqueue>(2), B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>"
4946 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
4947
4948 #. type: TH
4949 #: build/C/man2/sigaltstack.2:25
4950 #, no-wrap
4951 msgid "SIGALTSTACK"
4952 msgstr "SIGALTSTACK"
4953
4954 #. type: TH
4955 #: build/C/man2/sigaltstack.2:25 build/C/man2/wait.2:50
4956 #, no-wrap
4957 msgid "2010-09-26"
4958 msgstr "2010-09-26"
4959
4960 #. type: Plain text
4961 #: build/C/man2/sigaltstack.2:28
4962 msgid "sigaltstack - set and/or get signal stack context"
4963 msgstr "sigaltstack - シグナルスタックのコンテキストを設定・取得する"
4964
4965 #. type: Plain text
4966 #: build/C/man2/sigaltstack.2:32
4967 msgid "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
4968 msgstr "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
4969
4970 #. type: Plain text
4971 #: build/C/man2/sigaltstack.2:39
4972 msgid "B<sigaltstack>():"
4973 msgstr "B<sigaltstack>():"
4974
4975 #. type: Plain text
4976 #: build/C/man2/sigaltstack.2:46 build/C/man3/siginterrupt.3:51
4977 #: build/C/man2/wait.2:79
4978 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
4979 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
4980
4981 #. type: Plain text
4982 #: build/C/man2/sigaltstack.2:58
4983 msgid ""
4984 "B<sigaltstack>()  allows a process to define a new alternate signal stack "
4985 "and/or retrieve the state of an existing alternate signal stack.  An "
4986 "alternate signal stack is used during the execution of a signal handler if "
4987 "the establishment of that handler (see B<sigaction>(2))  requested it."
4988 msgstr ""
4989 "B<sigaltstack>()  を使うと、 プロセスは新しい代替シグナルスタックを定義した"
4990 "り、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラが代替シ"
4991 "グナルスタックを要求するように設定されていると (B<sigaction>(2)  参照)、ハン"
4992 "ドラの実行中はそのシグナルスタックが使われる。"
4993
4994 #. type: Plain text
4995 #: build/C/man2/sigaltstack.2:61
4996 msgid ""
4997 "The normal sequence of events for using an alternate signal stack is the "
4998 "following:"
4999 msgstr "代替シグナルスタックを使う際の一般的な手順は、以下の通りである:"
5000
5001 #. type: IP
5002 #: build/C/man2/sigaltstack.2:61 build/C/man7/signal.7:383
5003 #, no-wrap
5004 msgid "1."
5005 msgstr "1."
5006
5007 #. type: Plain text
5008 #: build/C/man2/sigaltstack.2:65
5009 msgid "Allocate an area of memory to be used for the alternate signal stack."
5010 msgstr "代替シグナルスタックで使うメモリ領域を確保する。"
5011
5012 #. type: IP
5013 #: build/C/man2/sigaltstack.2:65 build/C/man7/signal.7:387
5014 #, no-wrap
5015 msgid "2."
5016 msgstr "2."
5017
5018 #. type: Plain text
5019 #: build/C/man2/sigaltstack.2:71
5020 msgid ""
5021 "Use B<sigaltstack>()  to inform the system of the existence and location of "
5022 "the alternate signal stack."
5023 msgstr ""
5024 "B<sigaltstack>()  を使って、 代替シグナルスタックの存在と場所をシステムに知ら"
5025 "せる。"
5026
5027 #. type: IP
5028 #: build/C/man2/sigaltstack.2:71 build/C/man7/signal.7:407
5029 #, no-wrap
5030 msgid "3."
5031 msgstr "3."
5032
5033 #. type: Plain text
5034 #: build/C/man2/sigaltstack.2:78
5035 msgid ""
5036 "When establishing a signal handler using B<sigaction>(2), inform the system "
5037 "that the signal handler should be executed on the alternate signal stack by "
5038 "specifying the B<SA_ONSTACK> flag."
5039 msgstr ""
5040 "B<sigaction>(2)  を使ってシグナルハンドラを確立する際、 B<SA_ONSTACK> フラグ"
5041 "を指定することにより、 そのシグナルハンドラを代替シグナルスタック上で実行する"
5042 "ことを システムに知らせる。"
5043
5044 #. type: Plain text
5045 #: build/C/man2/sigaltstack.2:86
5046 msgid ""
5047 "The I<ss> argument is used to specify a new alternate signal stack, while "
5048 "the I<oss> argument is used to retrieve information about the currently "
5049 "established signal stack.  If we are interested in performing just one of "
5050 "these tasks then the other argument can be specified as NULL.  Each of these "
5051 "arguments is a structure of the following type:"
5052 msgstr ""
5053 "I<ss> 引き数は、新しいシグナルスタックを指定するために使う。 また I<oss> 引き"
5054 "数は、現在確立されている シグナルスタックの情報を取得するために使う。 この操"
5055 "作のうち 1 つだけを実行させるには、 使用しない引き数を NULL に指定すればよ"
5056 "い。 引き数となる構造体は、以下のような型である:"
5057
5058 #. type: Plain text
5059 #: build/C/man2/sigaltstack.2:94
5060 #, no-wrap
5061 msgid ""
5062 "typedef struct {\n"
5063 "    void  *ss_sp;     /* Base address of stack */\n"
5064 "    int    ss_flags;  /* Flags */\n"
5065 "    size_t ss_size;   /* Number of bytes in stack */\n"
5066 "} stack_t;\n"
5067 msgstr ""
5068 "typedef struct {\n"
5069 "    void  *ss_sp;     /* スタックのベースアドレス */\n"
5070 "    int    ss_flags;  /* フラグ */\n"
5071 "    size_t ss_size;   /* スタックのバイト数 */\n"
5072 "} stack_t;\n"
5073
5074 #. type: Plain text
5075 #: build/C/man2/sigaltstack.2:105
5076 msgid ""
5077 "To establish a new alternate signal stack, I<ss.ss_flags> is set to zero, "
5078 "and I<ss.ss_sp> and I<ss.ss_size> specify the starting address and size of "
5079 "the stack.  The constant B<SIGSTKSZ> is defined to be large enough to cover "
5080 "the usual size requirements for an alternate signal stack, and the constant "
5081 "B<MINSIGSTKSZ> defines the minimum size required to execute a signal handler."
5082 msgstr ""
5083 "新規の代替シグナルスタックを確立するには、 I<ss.ss_flags> を 0 に設定し、 "
5084 "I<ss.ss_sp> と I<ss.ss_size> に スタックの開始アドレスとスタックサイズを指定"
5085 "する。 定数 B<SIGSTKSZ> は、代替シグナルスタックが通常必要する サイズよりも充"
5086 "分大きく定義されている。 また定数 B<MINSIGSTKSZ> は、 シグナルハンドラの実行"
5087 "に必要な最小サイズに定義されている。"
5088
5089 #. type: Plain text
5090 #: build/C/man2/sigaltstack.2:109
5091 msgid ""
5092 "When a signal handler is invoked on the alternate stack, the kernel "
5093 "automatically aligns the address given in I<ss.ss_sp> to a suitable address "
5094 "boundary for the underlying hardware architecture."
5095 msgstr ""
5096 "代替スタックでシグナルハンドラが起動された場合には、 カーネルにより自動的に、"
5097 "I<ss.ss_sp> で指定されたアドレスは 動作しているハードウェアアーキテクチャに適"
5098 "したアドレス境界に 調整される。"
5099
5100 #. type: Plain text
5101 #: build/C/man2/sigaltstack.2:114
5102 msgid ""
5103 "To disable an existing stack, specify I<ss.ss_flags> as B<SS_DISABLE>.  In "
5104 "this case, the remaining fields in I<ss> are ignored."
5105 msgstr ""
5106 "既存のスタックを無効にするには、 I<ss.ss_flags> を B<SS_DISABLE> に指定す"
5107 "る。 この場合、I<ss> の他のフィールドは無視される。"
5108
5109 #. type: Plain text
5110 #: build/C/man2/sigaltstack.2:122
5111 msgid ""
5112 "If I<oss> is not NULL, then it is used to return information about the "
5113 "alternate signal stack which was in effect prior to the call to "
5114 "B<sigaltstack>().  The I<oss.ss_sp> and I<oss.ss_size> fields return the "
5115 "starting address and size of that stack.  The I<oss.ss_flags> may return "
5116 "either of the following values:"
5117 msgstr ""
5118 "I<oss> が NULL 以外の場合、 I<oss> に代替シグナルスタックの情報が返される。 "
5119 "これは (実質的に)  B<sigaltstack>()  の呼び出しより先に行われる。 I<oss."
5120 "ss_sp> と I<oss.ss_size> フィールドに スタックの開始アドレスとスタックサイズ"
5121 "が返される。 I<oss.ss_flags> には以下のどちらかの値が返される:"
5122
5123 #. type: TP
5124 #: build/C/man2/sigaltstack.2:122
5125 #, no-wrap
5126 msgid "B<SS_ONSTACK>"
5127 msgstr "B<SS_ONSTACK>"
5128
5129 #. type: Plain text
5130 #: build/C/man2/sigaltstack.2:128
5131 msgid ""
5132 "The process is currently executing on the alternate signal stack.  (Note "
5133 "that it is not possible to change the alternate signal stack if the process "
5134 "is currently executing on it.)"
5135 msgstr ""
5136 "プロセスが代替シグナルスタック上で実行されている (プロセスが既にそのシグナル"
5137 "スタック上で実行されている場合は、 それと同じシグナルスタックには変更できない"
5138 "点に注意すること)。"
5139
5140 #. type: TP
5141 #: build/C/man2/sigaltstack.2:128
5142 #, no-wrap
5143 msgid "B<SS_DISABLE>"
5144 msgstr "B<SS_DISABLE>"
5145
5146 #. type: Plain text
5147 #: build/C/man2/sigaltstack.2:131
5148 msgid "The alternate signal stack is currently disabled."
5149 msgstr "代替シグナルスタックが現在無効になっている。"
5150
5151 #. type: Plain text
5152 #: build/C/man2/sigaltstack.2:135
5153 msgid ""
5154 "B<sigaltstack>()  returns 0 on success, or -1 on failure with I<errno> set "
5155 "to indicate the error."
5156 msgstr ""
5157 "B<sigaltstack>()  は成功した場合 0 を返す。 失敗した場合は -1 を返して、 エ"
5158 "ラーを示す値に I<errno> を設定する。"
5159
5160 #. type: Plain text
5161 #: build/C/man2/sigaltstack.2:140
5162 msgid ""
5163 "Either I<ss> or I<oss> is not NULL and points to an area outside of the "
5164 "process's address space."
5165 msgstr ""
5166 "I<ss> または I<oss> のどちらが、NULL 以外で、 かつプロセスのアドレス空間の外"
5167 "を指している。"
5168
5169 #. type: Plain text
5170 #: build/C/man2/sigaltstack.2:145
5171 msgid ""
5172 "I<ss> is not NULL and the I<ss_flags> field contains a nonzero value other "
5173 "than B<SS_DISABLE>."
5174 msgstr ""
5175 "I<ss> が NULL 以外で、I<ss_flags> フィールドが B<SS_DISABLE> 以外の 0 でない"
5176 "値になっている。"
5177
5178 #. type: Plain text
5179 #: build/C/man2/sigaltstack.2:149
5180 msgid ""
5181 "The specified size of the new alternate signal stack (I<ss.ss_size>) was "
5182 "less than B<MINSTKSZ>."
5183 msgstr ""
5184 "新しい代替シグナルスタック (I<ss.ss_size>) に指定したサイズが B<MINSTKSZ> よ"
5185 "り小さい。"
5186
5187 #. type: Plain text
5188 #: build/C/man2/sigaltstack.2:154
5189 msgid ""
5190 "An attempt was made to change the alternate signal stack while it was active "
5191 "(i.e., the process was already executing on the current alternate signal "
5192 "stack)."
5193 msgstr ""
5194 "代替シグナルスタックが有効であるときに変更を行おうとした (つまり、プロセスが"
5195 "既に現在の代替シグナルスタック上で実行されていた)。"
5196
5197 #. type: Plain text
5198 #: build/C/man2/sigaltstack.2:156
5199 msgid "SUSv2, SVr4, POSIX.1-2001."
5200 msgstr "SUSv2, SVr4, POSIX.1-2001."
5201
5202 #. type: Plain text
5203 #: build/C/man2/sigaltstack.2:164
5204 msgid ""
5205 "The most common usage of an alternate signal stack is to handle the "
5206 "B<SIGSEGV> signal that is generated if the space available for the normal "
5207 "process stack is exhausted: in this case, a signal handler for B<SIGSEGV> "
5208 "cannot be invoked on the process stack; if we wish to handle it, we must use "
5209 "an alternate signal stack."
5210 msgstr ""
5211 "代替シグナルスタックを使用する最もよくある場面は、 B<SIGSEGV> シグナルを扱う"
5212 "ときである。 B<SIGSEGV> はプロセスの通常のスタックが利用できる空間が使い果た"
5213 "された際に 生成されるシグナルである。この場合には、 B<SIGSEGV> 用のシグナルハ"
5214 "ンドラをプロセスのスタック上では起動することができない。 そのため、このシグナ"
5215 "ルを扱おうとする場合には、 代替シグナルスタックを使用しなければならない。"
5216
5217 #. type: Plain text
5218 #: build/C/man2/sigaltstack.2:174
5219 msgid ""
5220 "Establishing an alternate signal stack is useful if a process expects that "
5221 "it may exhaust its standard stack.  This may occur, for example, because the "
5222 "stack grows so large that it encounters the upwardly growing heap, or it "
5223 "reaches a limit established by a call to B<setrlimit(RLIMIT_STACK, &rlim)>.  "
5224 "If the standard stack is exhausted, the kernel sends the process a "
5225 "B<SIGSEGV> signal.  In these circumstances the only way to catch this signal "
5226 "is on an alternate signal stack."
5227 msgstr ""
5228 "プロセスが標準のシグナルスタックを使い果たすことが予想される場合は、 代替シグ"
5229 "ナルスタックを確立すると便利である。 例えば、スタックが最上位アドレスから 下"
5230 "位アドレス方向に非常にたくさん積まれてしまうことで、 最下位アドレスから上位ア"
5231 "ドレス方向に積まれるヒープとぶつかってしまう場合や、 B<setrlimit"
5232 "(RLIMIT_STACK, &rlim)> の呼び出しで確立された 制限に達してしまった場合に、こ"
5233 "の様な事が起こる。 標準のスタックを使い果たしてしまうと、 カーネルはプロセス"
5234 "に B<SIGSEGV> シグナルを送る。 このような状況では、代替シグナルスタック上でし"
5235 "かシグナルをキャッチできない。"
5236
5237 #. type: Plain text
5238 #: build/C/man2/sigaltstack.2:180
5239 msgid ""
5240 "On most hardware architectures supported by Linux, stacks grow downward.  "
5241 "B<sigaltstack>()  automatically takes account of the direction of stack "
5242 "growth."
5243 msgstr ""
5244 "Linux がサポートする多くのハードウェアアーキテクチャでは、 スタックは下位アド"
5245 "レス方向に積まれる。 B<sigaltstack>()  はスタックが積まれる方向を自動的に決定"
5246 "する。"
5247
5248 #. type: Plain text
5249 #: build/C/man2/sigaltstack.2:189
5250 msgid ""
5251 "Functions called from a signal handler executing on an alternate signal "
5252 "stack will also use the alternate signal stack.  (This also applies to any "
5253 "handlers invoked for other signals while the process is executing on the "
5254 "alternate signal stack.)  Unlike the standard stack, the system does not "
5255 "automatically extend the alternate signal stack.  Exceeding the allocated "
5256 "size of the alternate signal stack will lead to unpredictable results."
5257 msgstr ""
5258 "代替シグナルスタック上で実行されている シグナルハンドラから呼ばれる関数も、代"
5259 "替シグナルハンドラを使う (プロセスが代替シグナルスタック上で実行されている場"
5260 "合、 他のシグナルで呼び出されるハンドラもこの代替シグナルハンドラを使う)。 標"
5261 "準のスタックとは異なり、 システムは代替シグナルスタックを自動的に拡張しな"
5262 "い。 代替シグナルスタック用に確保したサイズを越えた場合、 結果は予想できな"
5263 "い。"
5264
5265 #. type: Plain text
5266 #: build/C/man2/sigaltstack.2:197
5267 msgid ""
5268 "A successful call to B<execve>(2)  removes any existing alternate signal "
5269 "stack.  A child process created via B<fork>(2)  inherits a copy of its "
5270 "parent's alternate signal stack settings."
5271 msgstr ""
5272 "B<execve>(2)  の呼び出しが成功すると、 既存の全ての代替シグナルスタックが削除"
5273 "される。 B<fork>(2)  経由で作成された子プロセスは、親プロセスの代替シグナルス"
5274 "タックの 設定のコピーを継承する。"
5275
5276 #. type: Plain text
5277 #: build/C/man2/sigaltstack.2:206
5278 msgid ""
5279 "B<sigaltstack>()  supersedes the older B<sigstack>()  call.  For backward "
5280 "compatibility, glibc also provides B<sigstack>().  All new applications "
5281 "should be written using B<sigaltstack>()."
5282 msgstr ""
5283 "B<sigaltstack>()  は以前の B<sigstack>()  を置き換えるものである。 過去プログ"
5284 "ラムとの互換性のため、glibc では B<sigstack>()  も提供している。 新しいのアプ"
5285 "リケーションは全て B<sigaltstack>()  を使って書くべきである。"
5286
5287 #. type: SS
5288 #: build/C/man2/sigaltstack.2:206 build/C/man3/sigpause.3:59
5289 #, no-wrap
5290 msgid "History"
5291 msgstr "歴史"
5292
5293 #. type: Plain text
5294 #: build/C/man2/sigaltstack.2:213
5295 msgid ""
5296 "4.2BSD had a B<sigstack>()  system call.  It used a slightly different "
5297 "struct, and had the major disadvantage that the caller had to know the "
5298 "direction of stack growth."
5299 msgstr ""
5300 "4.2BSD には B<sigstack>()  システムコールがあった。 この関数は少し異なった構"
5301 "造体を使っており、 呼び出した側がスタックの積まれる方向を知っていなければなら"
5302 "ないという 大きな欠点があった。"
5303
5304 #. type: Plain text
5305 #: build/C/man2/sigaltstack.2:216
5306 msgid "The following code segment demonstrates the use of B<sigaltstack>():"
5307 msgstr "以下のコードで B<sigaltstack>()  の使用法の一部を示す:"
5308
5309 #. type: Plain text
5310 #: build/C/man2/sigaltstack.2:220
5311 #, no-wrap
5312 msgid "stack_t ss;\n"
5313 msgstr "stack_t ss;\n"
5314
5315 #. type: Plain text
5316 #: build/C/man2/sigaltstack.2:228
5317 #, no-wrap
5318 msgid ""
5319 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5320 "if (ss.ss_sp == NULL)\n"
5321 "    /* Handle error */;\n"
5322 "ss.ss_size = SIGSTKSZ;\n"
5323 "ss.ss_flags = 0;\n"
5324 "if (sigaltstack(&ss, NULL) == -1)\n"
5325 "    /* Handle error */;\n"
5326 msgstr ""
5327 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5328 "if (ss.ss_sp == NULL)\n"
5329 "    /* ハンドルエラー */;\n"
5330 "ss.ss_size = SIGSTKSZ;\n"
5331 "ss.ss_flags = 0;\n"
5332 "if (sigaltstack(&ss, NULL) == -1)\n"
5333 "    /* ハンドルエラー */;\n"
5334
5335 #. type: Plain text
5336 #: build/C/man2/sigaltstack.2:237
5337 msgid ""
5338 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5339 "B<sigsetjmp>(3), B<signal>(7)"
5340 msgstr ""
5341 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5342 "B<sigsetjmp>(3), B<signal>(7)"
5343
5344 #. type: TH
5345 #: build/C/man7/sigevent.7:24
5346 #, no-wrap
5347 msgid "SIGEVENT"
5348 msgstr "SIGEVENT"
5349
5350 #. type: TH
5351 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
5352 #, no-wrap
5353 msgid "2011-09-09"
5354 msgstr "2011-09-09"
5355
5356 #. type: Plain text
5357 #: build/C/man7/sigevent.7:27
5358 msgid "sigevent - structure for notification from asynchronous routines"
5359 msgstr "sigevent - structure for notification from asynchronous routines"
5360
5361 #. type: Plain text
5362 #: build/C/man7/sigevent.7:34
5363 #, no-wrap
5364 msgid ""
5365 "union sigval {          /* Data passed with notification */\n"
5366 "    int     sival_int;         /* Integer value */\n"
5367 "    void   *sival_ptr;         /* Pointer value */\n"
5368 "};\n"
5369 msgstr ""
5370 "union sigval {          /* Data passed with notification */\n"
5371 "    int     sival_int;         /* Integer value */\n"
5372 "    void   *sival_ptr;         /* Pointer value */\n"
5373 "};\n"
5374
5375 #. type: Plain text
5376 #: build/C/man7/sigevent.7:49
5377 #, no-wrap
5378 msgid ""
5379 "struct sigevent {\n"
5380 "    int          sigev_notify; /* Notification method */\n"
5381 "    int          sigev_signo;  /* Notification signal */\n"
5382 "    union sigval sigev_value;  /* Data passed with\n"
5383 "                                  notification */\n"
5384 "    void       (*sigev_notify_function) (union sigval);\n"
5385 "                     /* Function used for thread\n"
5386 "                        notification (SIGEV_THREAD) */\n"
5387 "    void        *sigev_notify_attributes;\n"
5388 "                     /* Attributes for notification thread\n"
5389 "                        (SIGEV_THREAD) */\n"
5390 "    pid_t        sigev_notify_thread_id;\n"
5391 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5392 "};\n"
5393 msgstr ""
5394 "struct sigevent {\n"
5395 "    int          sigev_notify; /* Notification method */\n"
5396 "    int          sigev_signo;  /* Notification signal */\n"
5397 "    union sigval sigev_value;  /* Data passed with\n"
5398 "                                  notification */\n"
5399 "    void       (*sigev_notify_function) (union sigval);\n"
5400 "                     /* Function used for thread\n"
5401 "                        notification (SIGEV_THREAD) */\n"
5402 "    void        *sigev_notify_attributes;\n"
5403 "                     /* Attributes for notification thread\n"
5404 "                        (SIGEV_THREAD) */\n"
5405 "    pid_t        sigev_notify_thread_id;\n"
5406 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5407 "};\n"
5408
5409 #. type: Plain text
5410 #: build/C/man7/sigevent.7:58
5411 msgid ""
5412 "The I<sigevent> structure is used by various APIs to describe the way a "
5413 "process is to be notified about an event (e.g., completion of an "
5414 "asynchronous request, expiration of a timer, or the arrival of a message)."
5415 msgstr ""
5416 "The I<sigevent> structure is used by various APIs to describe the way a "
5417 "process is to be notified about an event (e.g., completion of an "
5418 "asynchronous request, expiration of a timer, or the arrival of a message)."
5419
5420 #. type: Plain text
5421 #: build/C/man7/sigevent.7:66
5422 msgid ""
5423 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5424 "the I<sigevent> structure may be defined as part of a union.  Programs "
5425 "should only employ those fields relevant to the value specified in "
5426 "I<sigev_notify>."
5427 msgstr ""
5428 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5429 "the I<sigevent> structure may be defined as part of a union.  Programs "
5430 "should only employ those fields relevant to the value specified in "
5431 "I<sigev_notify>."
5432
5433 #. type: Plain text
5434 #: build/C/man7/sigevent.7:71
5435 msgid ""
5436 "The I<sigev_notify> field specifies how notification is to be performed.  "
5437 "This field can have one of the following values:"
5438 msgstr ""
5439 "The I<sigev_notify> field specifies how notification is to be performed.  "
5440 "This field can have one of the following values:"
5441
5442 #. type: TP
5443 #: build/C/man7/sigevent.7:71 build/C/man2/timer_create.2:105
5444 #, no-wrap
5445 msgid "B<SIGEV_NONE>"
5446 msgstr "B<SIGEV_NONE>"
5447
5448 #. type: Plain text
5449 #: build/C/man7/sigevent.7:74
5450 msgid "A \"null\" notification: don't do anything when the event occurs."
5451 msgstr "A \"null\" notification: don't do anything when the event occurs."
5452
5453 #. type: TP
5454 #: build/C/man7/sigevent.7:74 build/C/man2/timer_create.2:110
5455 #, no-wrap
5456 msgid "B<SIGEV_SIGNAL>"
5457 msgstr "B<SIGEV_SIGNAL>"
5458
5459 #. type: Plain text
5460 #: build/C/man7/sigevent.7:78
5461 msgid "Notify the process by sending the signal specified in I<sigev_signo>."
5462 msgstr "Notify the process by sending the signal specified in I<sigev_signo>."
5463
5464 #. type: Plain text
5465 #: build/C/man7/sigevent.7:85
5466 msgid ""
5467 "If the signal is caught with a signal handler that was registered using the "
5468 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5469 "the I<siginfo_t> structure that is passed as the second argument of the "
5470 "handler:"
5471 msgstr ""
5472 "If the signal is caught with a signal handler that was registered using the "
5473 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5474 "the I<siginfo_t> structure that is passed as the second argument of the "
5475 "handler:"
5476
5477 #. type: Plain text
5478 #: build/C/man7/sigevent.7:90
5479 msgid ""
5480 "This field is set to a value that depends on the API delivering the "
5481 "notification."
5482 msgstr ""
5483 "This field is set to a value that depends on the API delivering the "
5484 "notification."
5485
5486 #. type: TP
5487 #: build/C/man7/sigevent.7:90 build/C/man2/wait.2:301
5488 #, no-wrap
5489 msgid "I<si_signo>"
5490 msgstr "I<si_signo>"
5491
5492 #. type: Plain text
5493 #: build/C/man7/sigevent.7:94
5494 msgid ""
5495 "This field is set to the signal number (i.e., the same value as in "
5496 "I<sigev_signo>)."
5497 msgstr ""
5498 "This field is set to the signal number (i.e., the same value as in "
5499 "I<sigev_signo>)."
5500
5501 #. type: Plain text
5502 #: build/C/man7/sigevent.7:98
5503 msgid "This field is set to the value specified in I<sigev_value>."
5504 msgstr "This field is set to the value specified in I<sigev_value>."
5505
5506 #. type: Plain text
5507 #: build/C/man7/sigevent.7:103
5508 msgid ""
5509 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5510 "structure."
5511 msgstr ""
5512 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5513 "structure."
5514
5515 #. type: Plain text
5516 #: build/C/man7/sigevent.7:106
5517 msgid ""
5518 "The same information is also available if the signal is accepted using "
5519 "B<sigwaitinfo>(2)."
5520 msgstr ""
5521 "The same information is also available if the signal is accepted using "
5522 "B<sigwaitinfo>(2)."
5523
5524 #. type: TP
5525 #: build/C/man7/sigevent.7:106 build/C/man2/timer_create.2:128
5526 #, no-wrap
5527 msgid "B<SIGEV_THREAD>"
5528 msgstr "B<SIGEV_THREAD>"
5529
5530 #. type: Plain text
5531 #: build/C/man7/sigevent.7:123
5532 msgid ""
5533 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5534 "the start function of a new thread.  (Among the implementation possibilities "
5535 "here are that each timer notification could result in the creation of a new "
5536 "thread, or that a single thread is created to receive all notifications.)  "
5537 "The function is invoked with I<sigev_value> as its sole argument.  If "
5538 "I<sigev_notify_attributes> is not NULL, it should point to a "
5539 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5540 "B<pthread_attr_init>(3))."
5541 msgstr ""
5542 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5543 "the start function of a new thread.  (Among the implementation possibilities "
5544 "here are that each timer notification could result in the creation of a new "
5545 "thread, or that a single thread is created to receive all notifications.)  "
5546 "The function is invoked with I<sigev_value> as its sole argument.  If "
5547 "I<sigev_notify_attributes> is not NULL, it should point to a "
5548 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5549 "B<pthread_attr_init>(3))."
5550
5551 #. type: TP
5552 #: build/C/man7/sigevent.7:123 build/C/man2/timer_create.2:136
5553 #, no-wrap
5554 msgid "B<SIGEV_THREAD_ID> (Linux-specific)"
5555 msgstr "B<SIGEV_THREAD_ID> (Linux-specific)"
5556
5557 #.  | SIGEV_SIGNAL vs not?
5558 #. type: Plain text
5559 #: build/C/man7/sigevent.7:128
5560 msgid "Currently used only by POSIX timers; see B<timer_create>(2)."
5561 msgstr "Currently used only by POSIX timers; see B<timer_create>(2)."
5562
5563 #. type: Plain text
5564 #: build/C/man7/sigevent.7:130 build/C/man2/sigpending.2:61
5565 #: build/C/man2/sigprocmask.2:101 build/C/man3/sigqueue.3:114
5566 #: build/C/man3/sigsetops.3:128 build/C/man2/sigsuspend.2:82
5567 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
5568 #: build/C/man2/timer_create.2:193 build/C/man2/timer_delete.2:66
5569 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/timer_settime.2:205
5570 msgid "POSIX.1-2001."
5571 msgstr "POSIX.1-2001."
5572
5573 #. type: Plain text
5574 #: build/C/man7/sigevent.7:140
5575 msgid ""
5576 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5577 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5578 "B<pthreads>(7)"
5579 msgstr ""
5580 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5581 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5582 "B<pthreads>(7)"
5583
5584 #. type: TH
5585 #: build/C/man3/siginterrupt.3:29
5586 #, no-wrap
5587 msgid "SIGINTERRUPT"
5588 msgstr "SIGINTERRUPT"
5589
5590 #. type: Plain text
5591 #: build/C/man3/siginterrupt.3:32
5592 msgid "siginterrupt - allow signals to interrupt system calls"
5593 msgstr "siginterrupt - シグナルでシステム・コールに割り込むことを許す"
5594
5595 #. type: Plain text
5596 #: build/C/man3/siginterrupt.3:37
5597 #, no-wrap
5598 msgid "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5599 msgstr "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5600
5601 #. type: Plain text
5602 #: build/C/man3/siginterrupt.3:45
5603 msgid "B<siginterrupt>():"
5604 msgstr "B<siginterrupt>():"
5605
5606 #. type: Plain text
5607 #: build/C/man3/siginterrupt.3:62
5608 msgid ""
5609 "The B<siginterrupt>()  function changes the restart behavior when a system "
5610 "call is interrupted by the signal I<sig>.  If the I<flag> argument is false "
5611 "(0), then system calls will be restarted if interrupted by the specified "
5612 "signal I<sig>.  This is the default behavior in Linux."
5613 msgstr ""
5614 "B<siginterrupt>()  関数は、システム・コールがシグナル I<sig> によって割り込ま"
5615 "れた後、再実行の際の振る舞いを変更する。 I<flag> 引き数が偽 (0) ならば、シス"
5616 "テム・コールが指定した シグナル I<sig> によって割り込まれた後に、そのシステ"
5617 "ム・コールは 再実行される。これは Linux においてデフォルトの動作である。"
5618
5619 #. type: Plain text
5620 #: build/C/man3/siginterrupt.3:67
5621 msgid ""
5622 "If the I<flag> argument is true (1) and no data has been transferred, then a "
5623 "system call interrupted by the signal I<sig> will return -1 and I<errno> "
5624 "will be set to B<EINTR>."
5625 msgstr ""
5626 "I<flag> 引き数が真 (1) でデータの転送が全く行なわれていないならば、 シグナル "
5627 "I<sig> でシステム・コールは中断されて、-1 が返され、 I<errno> に B<EINTR> が"
5628 "設定される。"
5629
5630 #. type: Plain text
5631 #: build/C/man3/siginterrupt.3:71
5632 msgid ""
5633 "If the I<flag> argument is true (1) and data transfer has started, then the "
5634 "system call will be interrupted and will return the actual amount of data "
5635 "transferred."
5636 msgstr ""
5637 "I<flag> 引き数が真 (1) でデータの転送が開始されていれば、 システム・コールは"
5638 "中断され、それまでに実際に転送されたデータ の量が返される。"
5639
5640 #. type: Plain text
5641 #: build/C/man3/siginterrupt.3:76
5642 msgid ""
5643 "The B<siginterrupt>()  function returns 0 on success, or -1 if the signal "
5644 "number I<sig> is invalid."
5645 msgstr ""
5646 "B<siginterrupt>()  関数は成功した場合 0 を返す。 シグナル番号 I<sig> が不正な"
5647 "場合は -1 を返す。"
5648
5649 #. type: Plain text
5650 #: build/C/man3/siginterrupt.3:80
5651 msgid "The specified signal number is invalid."
5652 msgstr "指定したシグナル番号が不正である。"
5653
5654 #. type: Plain text
5655 #: build/C/man3/siginterrupt.3:89
5656 msgid ""
5657 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<siginterrupt>()  as obsolete, "
5658 "recommending the use of B<sigaction>(2)  with the B<SA_RESTART> flag instead."
5659 msgstr ""
5660 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 は、 B<siginterrupt>()  を廃止予定として"
5661 "いる。 代わりに、 B<sigaction>(2)  に B<SA_RESTART> フラグを指定して使うこと"
5662 "を推奨している。"
5663
5664 #. type: Plain text
5665 #: build/C/man3/siginterrupt.3:91
5666 msgid "B<signal>(2)"
5667 msgstr "B<signal>(2)"
5668
5669 #. type: TH
5670 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
5671 #, no-wrap
5672 msgid "SIGNAL"
5673 msgstr "SIGNAL"
5674
5675 #. type: TH
5676 #: build/C/man2/signal.2:34
5677 #, no-wrap
5678 msgid "2008-07-11"
5679 msgstr "2008-07-11"
5680
5681 #. type: Plain text
5682 #: build/C/man2/signal.2:37
5683 msgid "signal - ANSI C signal handling"
5684 msgstr "signal - ANSI C シグナル操作"
5685
5686 #. type: Plain text
5687 #: build/C/man2/signal.2:43
5688 msgid "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
5689 msgstr ""
5690 "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<sighandler>B<);>"
5691
5692 #. type: Plain text
5693 #: build/C/man2/signal.2:52
5694 msgid ""
5695 "The behavior of B<signal>()  varies across UNIX versions, and has also "
5696 "varied historically across different versions of Linux.  B<Avoid its use>: "
5697 "use B<sigaction>(2)  instead.  See I<Portability> below."
5698 msgstr ""
5699 "B<signal>()  の動作は UNIX のバージョンにより異なる。 また、歴史的に見て "
5700 "Linux のバージョンによっても異なっている。 B<このシステムコールの使用は避け、"
5701 "> 代わりに B<sigaction>(2)  を使用すること。 下記の「移植性」を参照。"
5702
5703 #. type: Plain text
5704 #: build/C/man2/signal.2:62
5705 msgid ""
5706 "B<signal>()  sets the disposition of the signal I<signum> to I<handler>, "
5707 "which is either B<SIG_IGN>, B<SIG_DFL>, or the address of a programmer-"
5708 "defined function (a \"signal handler\")."
5709 msgstr ""
5710 "B<signal>()  はシグナル I<signum> の処理方法を I<handler> に設定する。 "
5711 "I<handler> には、 B<SIG_IGN>、 B<SIG_DFL>、 プログラマが定義した関数 (「シグ"
5712 "ナル・ハンドラ」) のアドレスの いずれかを指定する。"
5713
5714 #. type: Plain text
5715 #: build/C/man2/signal.2:66
5716 msgid ""
5717 "If the signal I<signum> is delivered to the process, then one of the "
5718 "following happens:"
5719 msgstr ""
5720 "シグナル I<signum> がプロセスに配送されると、以下のいずれかが発生する。"
5721
5722 #. type: Plain text
5723 #: build/C/man2/signal.2:71
5724 msgid "If the disposition is set to B<SIG_IGN>, then the signal is ignored."
5725 msgstr "処理方法が B<SIG_IGN> に設定されている場合、そのシグナルは無視される。"
5726
5727 #. type: Plain text
5728 #: build/C/man2/signal.2:78
5729 msgid ""
5730 "If the disposition is set to B<SIG_DFL>, then the default action associated "
5731 "with the signal (see B<signal>(7))  occurs."
5732 msgstr ""
5733 "処理方法が B<SIG_DFL> に設定されている場合、シグナルに関連づけられた デフォル"
5734 "トの動作が行われる (B<signal>(7)  参照)。"
5735
5736 #. type: Plain text
5737 #: build/C/man2/signal.2:89
5738 msgid ""
5739 "If the disposition is set to a function, then first either the disposition "
5740 "is reset to B<SIG_DFL>, or the signal is blocked (see I<Portability> below), "
5741 "and then I<handler> is called with argument I<signum>.  If invocation of the "
5742 "handler caused the signal to be blocked, then the signal is unblocked upon "
5743 "return from the handler."
5744 msgstr ""
5745 "処理方法として関数が設定されている場合、 まず最初に処理方法が B<SIG_DFL> にリ"
5746 "セットされるかそのシグナルのブロックが実行された後、 I<signum> を引き数とし"
5747 "て I<handler> が呼び出される。 ハンドラが起動される際にシグナルがブロックされ"
5748 "た場合、 ハンドラが返る際にそのシグナルのブロックが解除される。"
5749
5750 #. type: Plain text
5751 #: build/C/man2/signal.2:95
5752 msgid "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught or ignored."
5753 msgstr ""
5754 "シグナル B<SIGKILL> と B<SIGSTOP> は捕捉できず、無視することもできない。"
5755
5756 #. type: Plain text
5757 #: build/C/man2/signal.2:100
5758 msgid ""
5759 "B<signal>()  returns the previous value of the signal handler, or B<SIG_ERR> "
5760 "on error."
5761 msgstr ""
5762 "B<signal>()  は、今までのシグナル・ハンドラの値を返す。エラーの場合は "
5763 "B<SIG_ERR> を返す。"
5764
5765 #. type: Plain text
5766 #: build/C/man2/signal.2:105
5767 msgid "I<signum> is invalid."
5768 msgstr "I<signum> が不正である。"
5769
5770 #. type: Plain text
5771 #: build/C/man2/signal.2:111
5772 msgid "The effects of B<signal>()  in a multithreaded process are unspecified."
5773 msgstr ""
5774 "マルチスレッドプロセスにおける B<signal>()  の結果は、指定されていない。"
5775
5776 #. type: Plain text
5777 #: build/C/man2/signal.2:136
5778 msgid ""
5779 "See B<sigaction>(2)  for details on what happens when B<SIGCHLD> is set to "
5780 "B<SIG_IGN>."
5781 msgstr ""
5782 "B<SIGCHLD> の動作として B<SIG_IGN> を設定した場合の詳細な動作については、 "
5783 "B<sigaction>(2)  を参照すること。"
5784
5785 #. type: Plain text
5786 #: build/C/man2/signal.2:141
5787 msgid ""
5788 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
5789 "safely called from inside a signal handler."
5790 msgstr ""
5791 "シグナル・ハンドラ内から安全に呼び出すことができる、 async-signal-safe "
5792 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
5793 "照。"
5794
5795 #. type: Plain text
5796 #: build/C/man2/signal.2:156
5797 msgid ""
5798 "The use of I<sighandler_t> is a GNU extension.  Various versions of libc "
5799 "predefine this type; libc4 and libc5 define I<SignalHandler>; glibc defines "
5800 "I<sig_t> and, when B<_GNU_SOURCE> is defined, also I<sighandler_t>.  Without "
5801 "use of such a type, the declaration of B<signal>()  is the somewhat harder "
5802 "to read:"
5803 msgstr ""
5804 "I<sighandler_t> の使用は GNU 拡張である。 各種バージョンの libc でこの型は定"
5805 "義済みである; libc4 と libc5 では I<SignalHandler> を定義している。 glibc で"
5806 "は I<sig_t> を定義しており、 B<_GNU_SOURCE> が定義されている場合には "
5807 "I<sighandler_t> も定義されている。 このような型を使用しないと、 B<signal>()  "
5808 "の宣言は読みにくいものとなる。"
5809
5810 #. type: Plain text
5811 #: build/C/man2/signal.2:160
5812 #, no-wrap
5813 msgid "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
5814 msgstr "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
5815
5816 #. type: SS
5817 #: build/C/man2/signal.2:162
5818 #, no-wrap
5819 msgid "Portability"
5820 msgstr "移植性"
5821
5822 #. type: Plain text
5823 #: build/C/man2/signal.2:174
5824 msgid ""
5825 "The only portable use of B<signal>()  is to set a signal's disposition to "
5826 "B<SIG_DFL> or B<SIG_IGN>.  The semantics when using B<signal>()  to "
5827 "establish a signal handler vary across systems (and POSIX.1 explicitly "
5828 "permits this variation); B<do not use it for this purpose.>"
5829 msgstr ""
5830 "移植性のある B<signal>()  の使い方は、シグナルの処理方法を B<SIG_DFL> か "
5831 "B<SIG_IGN> に設定する方法だけである。 シグナル・ハンドラを設定するのに "
5832 "B<signal>()  を使ったときの動作はシステムにより異なる (POSIX.1 は明示的にこの"
5833 "違いを認めている)。 B<移植性が必要なときはこのシステムコールを使用しないこ"
5834 "と。>"
5835
5836 #. type: Plain text
5837 #: build/C/man2/signal.2:180
5838 msgid ""
5839 "POSIX.1 solved the portability mess by specifying B<sigaction>(2), which "
5840 "provides explicit control of the semantics when a signal handler is invoked; "
5841 "use that interface instead of B<signal>()."
5842 msgstr ""
5843 "POSIX.1 は、 B<sigaction>(2)  を規定することで移植性に関する混乱を解決した。 "
5844 "B<sigaction>(2)  はシグナル・ハンドラが起動される際の挙動を明示的に制御でき"
5845 "る。 B<signal>()  の代わりにこのインターフェイスを使うこと。"
5846
5847 #. type: Plain text
5848 #: build/C/man2/signal.2:193
5849 msgid ""
5850 "In the original UNIX systems, when a handler that was established using "
5851 "B<signal>()  was invoked by the delivery of a signal, the disposition of the "
5852 "signal would be reset to B<SIG_DFL>, and the system did not block delivery "
5853 "of further instances of the signal.  System V also provides these semantics "
5854 "for B<signal>().  This was bad because the signal might be delivered again "
5855 "before the handler had a chance to reestablish itself.  Furthermore, rapid "
5856 "deliveries of the same signal could result in recursive invocations of the "
5857 "handler."
5858 msgstr ""
5859 "オリジナルの UNIX システムでは、 B<signal>()  を使って設定されたハンドラがシ"
5860 "グナルの配送により起動されると、 そのシグナルの処理方法は B<SIG_DFL> にリセッ"
5861 "トされ、システムは同じシグナルがさらに生成されても シグナルの配送をブロックし"
5862 "なかった。 System V でも、 B<signal>()  に対してこれらの挙動を規定している。 "
5863 "こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が 来るより前に、"
5864 "同じシグナルがまた配送される可能性がある。 さらに、同じシグナルが立て続けに配"
5865 "送されると、同じシグナルが ハンドラを繰り返し起動されることになる。"
5866
5867 #. type: Plain text
5868 #: build/C/man2/signal.2:203
5869 msgid ""
5870 "BSD improved on this situation by changing the semantics of signal handling "
5871 "(but, unfortunately, silently changed the semantics when establishing a "
5872 "handler with B<signal>()).  On BSD, when a signal handler is invoked, the "
5873 "signal disposition is not reset, and further instances of the signal are "
5874 "blocked from being delivered while the handler is executing."
5875 msgstr ""
5876 "BSD では、シグナル処理の挙動を変更することで、この状況を改善した (しかし、残"
5877 "念なことに、 B<signal>()  を使ってハンドラを設定する際に挙動が黙って変更され"
5878 "る)。 BSD では、シグナルハンドラが起動された際、 シグナルの処理方法はリセット"
5879 "されず、 ハンドラの実行中は、同じシグナルのさらなる生成は配送がブロックされ"
5880 "る。"
5881
5882 #. type: Plain text
5883 #: build/C/man2/signal.2:205
5884 msgid "The situation on Linux is as follows:"
5885 msgstr "Linux での状況は以下の通りである。"
5886
5887 #. type: Plain text
5888 #: build/C/man2/signal.2:209
5889 msgid "The kernel's B<signal>()  system call provides System V semantics."
5890 msgstr "カーネルの B<signal>()  システムコールは System V 方式を提供している。"
5891
5892 #. type: Plain text
5893 #: build/C/man2/signal.2:225
5894 msgid ""
5895 "By default, in glibc 2 and later, the B<signal>()  wrapper function does not "
5896 "invoke the kernel system call.  Instead, it calls B<sigaction>(2)  using "
5897 "flags that supply BSD semantics.  This default behavior is provided as long "
5898 "as the B<_BSD_SOURCE> feature test macro is defined.  By default, "
5899 "B<_BSD_SOURCE> is defined; it is also implicitly defined if one defines "
5900 "B<_GNU_SOURCE>, and can of course be explicitly defined."
5901 msgstr ""
5902 "デフォルトでは、glibc 2 以降では、 B<signal>()  ラッパー関数はカーネルのシス"
5903 "テムコールを起動しない。 代わりに、ラッパー関数は BSD 方式を示すフラグを使っ"
5904 "て B<sigaction>(2)  を呼び出す。 機能検査マクロ B<_BSD_SOURCE> を定義していれ"
5905 "ば、このデフォルトの動作となる。 デフォルトでは、 B<_BSD_SOURCE> が定義され"
5906 "る。 B<_BSD_SOURCE> は B<_GNU_SOURCE> が定義された場合には暗黙のうちに定義さ"
5907 "れ、 もちろん明示的に定義することもできる。"
5908
5909 #.  System V semantics are also provided if one uses the separate
5910 #.  .BR sysv_signal (3)
5911 #.  function.
5912 #. type: Plain text
5913 #: build/C/man2/signal.2:248
5914 msgid ""
5915 "On glibc 2 and later, if the B<_BSD_SOURCE> feature test macro is not "
5916 "defined, then B<signal>()  provides System V semantics.  (The default "
5917 "implicit definition of B<_BSD_SOURCE> is not provided if one invokes B<gcc>"
5918 "(1)  in one of its standard modes (I<-std=xxx> or I<-ansi>)  or defines "
5919 "various other feature test macros such as B<_POSIX_SOURCE>, "
5920 "B<_XOPEN_SOURCE>, or B<_SVID_SOURCE>; see B<feature_test_macros>(7).)"
5921 msgstr ""
5922 "glibc 2 以降では、機能検査マクロ B<_BSD_SOURCE> が定義されていなければ、 "
5923 "B<signal>()  は System V 方式となる。 (B<gcc>(1)  が標準指定モード (I<-"
5924 "std=xxx> or I<-ansi>)  で起動された場合、もしくは B<_POSIX_SOURCE>, "
5925 "B<_XOPEN_SOURCE>, B<_SVID_SOURCE> といった他の様々な機能検査マクロが定義され"
5926 "た場合、 デフォルトの B<_BSD_SOURCE> の暗黙の定義は行われない。 "
5927 "B<feature_test_macros>(7)  を参照のこと。)"
5928
5929 #. type: Plain text
5930 #: build/C/man2/signal.2:259
5931 msgid ""
5932 "The B<signal>()  function in Linux libc4 and libc5 provide System V "
5933 "semantics.  If one on a libc5 system includes I<E<lt>bsd/signal.hE<gt>> "
5934 "instead of I<E<lt>signal.hE<gt>>, then B<signal>()  provides BSD semantics."
5935 msgstr ""
5936 "Linux の libc4 と libc5 の B<signal>()  関数は System V 方式である。 libc5 シ"
5937 "ステムにおいて I<E<lt>signal.hE<gt>> のかわりに I<E<lt>bsd/signal.hE<gt>> を"
5938 "インクルードすると、 B<signal>()  は B<__bsd_signal>()  に再定義され、 "
5939 "B<signal>()  は BSD 方式となる。"
5940
5941 #. type: Plain text
5942 #: build/C/man2/signal.2:278
5943 msgid ""
5944 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
5945 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
5946 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
5947 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
5948 msgstr ""
5949 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
5950 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
5951 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
5952 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
5953
5954 #. type: Plain text
5955 #: build/C/man7/signal.7:47
5956 msgid "signal - overview of signals"
5957 msgstr "signal - シグナルの概要"
5958
5959 #. type: Plain text
5960 #: build/C/man7/signal.7:50
5961 msgid ""
5962 "Linux supports both POSIX reliable signals (hereinafter \"standard signals"
5963 "\") and POSIX real-time signals."
5964 msgstr ""
5965 "Linux は POSIX 信頼シグナル (reliable signal; 以後 \"標準シグナル\"と表記)  "
5966 "と POSIX リアルタイムシグナルの両方に対応している。"
5967
5968 #. type: SS
5969 #: build/C/man7/signal.7:50
5970 #, no-wrap
5971 msgid "Signal Dispositions"
5972 msgstr "シグナル処理方法"
5973
5974 #. type: Plain text
5975 #: build/C/man7/signal.7:55
5976 msgid ""
5977 "Each signal has a current I<disposition>, which determines how the process "
5978 "behaves when it is delivered the signal."
5979 msgstr ""
5980 "シグナルはそれぞれ現在の「処理方法 (disposition)」を保持しており、 この処理方"
5981 "法によりシグナルが配送された際にプロセスが どのような振舞いをするかが決まる。"
5982
5983 #. type: Plain text
5984 #: build/C/man7/signal.7:58
5985 msgid ""
5986 "The entries in the \"Action\" column of the tables below specify the default "
5987 "disposition for each signal, as follows:"
5988 msgstr ""
5989 "後述の表の \"動作\" の欄のエントリは各シグナルのデフォルトの 処理方法を示して"
5990 "おり、以下のような意味を持つ。"
5991
5992 #. type: IP
5993 #: build/C/man7/signal.7:58
5994 #, no-wrap
5995 msgid "Term"
5996 msgstr "Term"
5997
5998 #. type: Plain text
5999 #: build/C/man7/signal.7:60
6000 msgid "Default action is to terminate the process."
6001 msgstr "デフォルトの動作はプロセス終了。"
6002
6003 #. type: IP
6004 #: build/C/man7/signal.7:60
6005 #, no-wrap
6006 msgid "Ign"
6007 msgstr "Ign"
6008
6009 #. type: Plain text
6010 #: build/C/man7/signal.7:62
6011 msgid "Default action is to ignore the signal."
6012 msgstr "デフォルトの動作はこのシグナルの無視。"
6013
6014 #. type: IP
6015 #: build/C/man7/signal.7:62
6016 #, no-wrap
6017 msgid "Core"
6018 msgstr "Core"
6019
6020 #. type: Plain text
6021 #: build/C/man7/signal.7:65
6022 msgid ""
6023 "Default action is to terminate the process and dump core (see B<core>(5))."
6024 msgstr "デフォルトの動作はプロセス終了とコアダンプ出力 (B<core>(5)  参照)。"
6025
6026 #. type: IP
6027 #: build/C/man7/signal.7:65
6028 #, no-wrap
6029 msgid "Stop"
6030 msgstr "Stop"
6031
6032 #. type: Plain text
6033 #: build/C/man7/signal.7:67
6034 msgid "Default action is to stop the process."
6035 msgstr "デフォルトの動作はプロセスの一時停止。"
6036
6037 #. type: IP
6038 #: build/C/man7/signal.7:67
6039 #, no-wrap
6040 msgid "Cont"
6041 msgstr "Cont"
6042
6043 #. type: Plain text
6044 #: build/C/man7/signal.7:69
6045 msgid "Default action is to continue the process if it is currently stopped."
6046 msgstr "デフォルトの動作は、プロセスが停止中の場合にその実行の再開。"
6047
6048 #. type: Plain text
6049 #: build/C/man7/signal.7:91
6050 msgid ""
6051 "A process can change the disposition of a signal using B<sigaction>(2)  or "
6052 "B<signal>(2).  (The latter is less portable when establishing a signal "
6053 "handler; see B<signal>(2)  for details.)  Using these system calls, a "
6054 "process can elect one of the following behaviors to occur on delivery of the "
6055 "signal: perform the default action; ignore the signal; or catch the signal "
6056 "with a I<signal handler>, a programmer-defined function that is "
6057 "automatically invoked when the signal is delivered.  (By default, the signal "
6058 "handler is invoked on the normal process stack.  It is possible to arrange "
6059 "that the signal handler uses an alternate stack; see B<sigaltstack>(2)  for "
6060 "a discussion of how to do this and when it might be useful.)"
6061 msgstr ""
6062 "プロセスは、 B<sigaction>(2)  や B<signal>(2)  を使って、シグナルの処理方法を"
6063 "変更することができる (B<signal>(2)  の方がシグナルハンドラを設定する際の移植"
6064 "性が低い; 詳細は B<signal>(2)  を参照)。 シグナルの配送時に起こる動作として "
6065 "プロセスが選択できるのは、次のいずれか一つである。 デフォルトの動作を実行す"
6066 "る、シグナルを無視する、 I<シグナルハンドラ (signal handler)> でシグナルを捕"
6067 "捉する。シグナルハンドラとは、シグナル配送時に 自動的に起動されるプログラマ定"
6068 "義の関数である。 (デフォルトでは、シグナルハンドラは通常のプロセスのスタック"
6069 "上で起動される。 シグナルハンドラが代替スタック (alternate stack) を使用する"
6070 "ように設定する こともできる。代替スタックを使用するように設定する方法と、どの"
6071 "ような際に 代替スタックが役に立つかについての議論については B<sigaltstack>"
6072 "(2)  を参照のこと。"
6073
6074 #. type: Plain text
6075 #: build/C/man7/signal.7:95
6076 msgid ""
6077 "The signal disposition is a per-process attribute: in a multithreaded "
6078 "application, the disposition of a particular signal is the same for all "
6079 "threads."
6080 msgstr ""
6081 "シグナルの処理方法はプロセス単位の属性である。 マルチスレッドのアプリケーショ"
6082 "ンでは、あるシグナルの処理方法は 全てのスレッドで同じである。"
6083
6084 #. type: SS
6085 #: build/C/man7/signal.7:103
6086 #, no-wrap
6087 msgid "Sending a Signal"
6088 msgstr "シグナルの送信"
6089
6090 #. type: Plain text
6091 #: build/C/man7/signal.7:106
6092 msgid ""
6093 "The following system calls and library functions allow the caller to send a "
6094 "signal:"
6095 msgstr ""
6096 "以下のシステムコールとライブラリ関数を使って、 呼び出し者はシグナルを送信する"
6097 "ことができる。"
6098
6099 #. type: TP
6100 #: build/C/man7/signal.7:106
6101 #, no-wrap
6102 msgid "B<raise>(3)"
6103 msgstr "B<raise>(3)"
6104
6105 #. type: Plain text
6106 #: build/C/man7/signal.7:109
6107 msgid "Sends a signal to the calling thread."
6108 msgstr "呼び出したスレッドにシグナルを送る。"
6109
6110 #. type: TP
6111 #: build/C/man7/signal.7:109
6112 #, no-wrap
6113 msgid "B<kill>(2)"
6114 msgstr "B<kill>(2)"
6115
6116 #. type: Plain text
6117 #: build/C/man7/signal.7:114
6118 msgid ""
6119 "Sends a signal to a specified process, to all members of a specified process "
6120 "group, or to all processes on the system."
6121 msgstr ""
6122 "指定されたプロセスや、指定されたプロセスグループの全メンバー、 システムの全プ"
6123 "ロセスにシグナルを送る。"
6124
6125 #. type: TP
6126 #: build/C/man7/signal.7:114
6127 #, no-wrap
6128 msgid "B<killpg>(2)"
6129 msgstr "B<killpg>(2)"
6130
6131 #. type: Plain text
6132 #: build/C/man7/signal.7:117
6133 msgid "Sends a signal to all of the members of a specified process group."
6134 msgstr "指定されたプロセスグループの全メンバーにシグナルを送る。"
6135
6136 #. type: TP
6137 #: build/C/man7/signal.7:117
6138 #, no-wrap
6139 msgid "B<pthread_kill>(3)"
6140 msgstr "B<pthread_kill>(3)"
6141
6142 #. type: Plain text
6143 #: build/C/man7/signal.7:121
6144 msgid ""
6145 "Sends a signal to a specified POSIX thread in the same process as the caller."
6146 msgstr ""
6147 "呼び出し者と同じプロセス内の指定された POSIX スレッドにシグナルを送る。"
6148
6149 #. type: TP
6150 #: build/C/man7/signal.7:121
6151 #, no-wrap
6152 msgid "B<tgkill>(2)"
6153 msgstr "B<tgkill>(2)"
6154
6155 #. type: Plain text
6156 #: build/C/man7/signal.7:126
6157 msgid ""
6158 "Sends a signal to a specified thread within a specific process.  (This is "
6159 "the system call used to implement B<pthread_kill>(3).)"
6160 msgstr ""
6161 "指定されたプロセス内の指定されたスレッドにシグナルを送る (このシステムコール"
6162 "を使って B<pthread_kill>(3)  は実装されている)。"
6163
6164 #. type: Plain text
6165 #: build/C/man7/signal.7:129
6166 msgid "Sends a real-time signal with accompanying data to a specified process."
6167 msgstr "指定されたプロセスに付属データとともにリアルタイムシグナルを送る。"
6168
6169 #. type: SS
6170 #: build/C/man7/signal.7:129
6171 #, no-wrap
6172 msgid "Waiting for a Signal to be Caught"
6173 msgstr "シグナルが捕捉されるのを待つ"
6174
6175 #. type: Plain text
6176 #: build/C/man7/signal.7:133
6177 msgid ""
6178 "The following system calls suspend execution of the calling process or "
6179 "thread until a signal is caught (or an unhandled signal terminates the "
6180 "process):"
6181 msgstr ""
6182 "以下のシステムコールを使って、シグナルが捕捉されるまで 呼び出したプロセスやス"
6183 "レッドの実行を中断 (suspend) することができる (ハンドラが設定されていないシグ"
6184 "ナルによりそのプロセスが終了した 場合にも実行の停止は終了する)。"
6185
6186 #. type: TP
6187 #: build/C/man7/signal.7:133
6188 #, no-wrap
6189 msgid "B<pause>(2)"
6190 msgstr "B<pause>(2)"
6191
6192 #. type: Plain text
6193 #: build/C/man7/signal.7:136
6194 msgid "Suspends execution until any signal is caught."
6195 msgstr "何かシグナルが捕捉されるまで実行を停止する。"
6196
6197 #. type: TP
6198 #: build/C/man7/signal.7:136
6199 #, no-wrap
6200 msgid "B<sigsuspend>(2)"
6201 msgstr "B<sigsuspend>(2)"
6202
6203 #. type: Plain text
6204 #: build/C/man7/signal.7:140
6205 msgid ""
6206 "Temporarily changes the signal mask (see below) and suspends execution until "
6207 "one of the unmasked signals is caught."
6208 msgstr ""
6209 "一時的にシグナルマスク (下記参照) を変更し、 マスクされていないシグナルのいず"
6210 "れかが捕捉されるまで 実行を中断する。"
6211
6212 #. type: SS
6213 #: build/C/man7/signal.7:140
6214 #, no-wrap
6215 msgid "Synchronously Accepting a Signal"
6216 msgstr "シグナルの同期受信"
6217
6218 #. type: Plain text
6219 #: build/C/man7/signal.7:147
6220 msgid ""
6221 "Rather than asynchronously catching a signal via a signal handler, it is "
6222 "possible to synchronously accept the signal, that is, to block execution "
6223 "until the signal is delivered, at which point the kernel returns information "
6224 "about the signal to the caller.  There are two general ways to do this:"
6225 msgstr ""
6226 "シグナルハンドラ経由でシグナルを非同期 (asynchronously) で捕捉する以外にも、 "
6227 "シグナルを同期 (synchronously) して受け付けることもできる。 同期して受け付け"
6228 "るとは、シグナルが配送されるまで実行を停止 (block)  するということである。シ"
6229 "グナルを受け付けた際に、カーネルは そのシグナルに関する情報を呼び出し者に返"
6230 "す。 これを行う一般的な方法が二つある。"
6231
6232 #. type: Plain text
6233 #: build/C/man7/signal.7:155
6234 msgid ""
6235 "B<sigwaitinfo>(2), B<sigtimedwait>(2), and B<sigwait>(3)  suspend execution "
6236 "until one of the signals in a specified set is delivered.  Each of these "
6237 "calls returns information about the delivered signal."
6238 msgstr ""
6239 "B<sigwaitinfo>(2), B<sigtimedwait>(2), B<sigwait>(3)  は、指定されたシグナル"
6240 "集合のシグナルの一つが配送されるまで実行を中断する。 どのシステムコールや関数"
6241 "でも、配送されたシグナルに関する情報が返される。"
6242
6243 #. type: Plain text
6244 #: build/C/man7/signal.7:168
6245 msgid ""
6246 "B<signalfd>(2)  returns a file descriptor that can be used to read "
6247 "information about signals that are delivered to the caller.  Each B<read>"
6248 "(2)  from this file descriptor blocks until one of the signals in the set "
6249 "specified in the B<signalfd>(2)  call is delivered to the caller.  The "
6250 "buffer returned by B<read>(2)  contains a structure describing the signal."
6251 msgstr ""
6252 "B<signalfd>(2)  が返すファイルディスクリプタを使うと、呼び出し元に配送された "
6253 "シグナルに関する情報を読み出すことができる。 このファイルディスクリプタから"
6254 "の B<read>(2)  は、 B<signalfd>(2)  の呼び出し時に指定されたシグナル集合のシ"
6255 "グナルの一つが呼び出し元に 配送されるまで停止 (block) する。 B<read>(2)  が返"
6256 "すバッファにはシグナルに関する情報を格納した構造体が入っている。"
6257
6258 #. type: SS
6259 #: build/C/man7/signal.7:168
6260 #, no-wrap
6261 msgid "Signal Mask and Pending Signals"
6262 msgstr "シグナルマスクと処理待ちシグナル"
6263
6264 #. type: Plain text
6265 #: build/C/man7/signal.7:175
6266 msgid ""
6267 "A signal may be I<blocked>, which means that it will not be delivered until "
6268 "it is later unblocked.  Between the time when it is generated and when it is "
6269 "delivered a signal is said to be I<pending>."
6270 msgstr ""
6271 "シグナルは I<ブロック (block)> されることがある。ブロックされると、そのシグナ"
6272 "ルは その後ブロックを解除されるまで配送されなくなる。 シグナルが生成されてか"
6273 "ら配送されるまでの間、そのシグナルは I<処理待ち (pending)> であると呼ばれる。"
6274
6275 #. type: Plain text
6276 #: build/C/man7/signal.7:184
6277 msgid ""
6278 "Each thread in a process has an independent I<signal mask>, which indicates "
6279 "the set of signals that the thread is currently blocking.  A thread can "
6280 "manipulate its signal mask using B<pthread_sigmask>(3).  In a traditional "
6281 "single-threaded application, B<sigprocmask>(2)  can be used to manipulate "
6282 "the signal mask."
6283 msgstr ""
6284 "プロセス内の各スレッドは、それぞれ独立な I<シグナルマスク (signal mask)> を持"
6285 "つ。シグナルマスクはそのスレッドが現在ブロックしている シグナル集合を示すもの"
6286 "である。 スレッドは、 B<pthread_sigmask>(3)  を使って自分のシグナルマスクを操"
6287 "作できる。 伝統的なシングルスレッドのアプリケーションでは、 B<sigprocmask>"
6288 "(2)  を使って、シグナルマスクを操作できる。"
6289
6290 #. type: Plain text
6291 #: build/C/man7/signal.7:190 build/C/man2/sigprocmask.2:113
6292 msgid ""
6293 "A child created via B<fork>(2)  inherits a copy of its parent's signal mask; "
6294 "the signal mask is preserved across B<execve>(2)."
6295 msgstr ""
6296 "B<fork>(2)  経由で作成された子プロセスは親プロセスのシグナルマスクのコピーを"
6297 "継承する。 B<execve>(2)  の前後でシグナルマスクは保持される。"
6298
6299 #. type: Plain text
6300 #: build/C/man7/signal.7:207
6301 msgid ""
6302 "A signal may be generated (and thus pending)  for a process as a whole (e."
6303 "g., when sent using B<kill>(2))  or for a specific thread (e.g., certain "
6304 "signals, such as B<SIGSEGV> and B<SIGFPE>, generated as a consequence of "
6305 "executing a specific machine-language instruction are thread directed, as "
6306 "are signals targeted at a specific thread using B<pthread_kill>(3)).  A "
6307 "process-directed signal may be delivered to any one of the threads that does "
6308 "not currently have the signal blocked.  If more than one of the threads has "
6309 "the signal unblocked, then the kernel chooses an arbitrary thread to which "
6310 "to deliver the signal."
6311 msgstr ""
6312 "生成されるシグナル (したがって処理待ちとなるシグナル) には、 プロセス全体宛て"
6313 "と特定のスレッド宛てがある。 例えば、プロセス全体宛てのシグナルは B<kill>"
6314 "(2)  を使って送信される。 特定のマシン語の命令の実行の結果として生成される、 "
6315 "B<SIGSEGV> や B<SIGFPE> などのシグナルは、スレッド宛てとなる。 また、 "
6316 "B<pthread_kill>(3)  を使って特定のスレッド宛てに生成されたシグナルも スレッド"
6317 "宛てとなる。 プロセス宛てのシグナルは、そのシグナルをブロックしていないスレッ"
6318 "ドのうち いずれかの一つに配送することができる。そのシグナルをブロックしていな"
6319 "い スレッドが複数ある場合、シグナルを配送するスレッドはカーネルが 無作為に選"
6320 "択する。"
6321
6322 #. type: Plain text
6323 #: build/C/man7/signal.7:214
6324 msgid ""
6325 "A thread can obtain the set of signals that it currently has pending using "
6326 "B<sigpending>(2).  This set will consist of the union of the set of pending "
6327 "process-directed signals and the set of signals pending for the calling "
6328 "thread."
6329 msgstr ""
6330 "スレッドは、 B<sigpending>(2)  を使って、現在処理待ちのシグナル集合を取得する"
6331 "ことができる。 この集合は、プロセス宛ての処理待ちシグナルと 呼び出したスレッ"
6332 "ド宛てのシグナルの両方から構成される。"
6333
6334 #. type: Plain text
6335 #: build/C/man7/signal.7:220 build/C/man2/sigpending.2:76
6336 msgid ""
6337 "A child created via B<fork>(2)  initially has an empty pending signal set; "
6338 "the pending signal set is preserved across an B<execve>(2)."
6339 msgstr ""
6340 "B<fork>(2)  経由で作成された子プロセスでは、処理待ちのシグナル集合は空の集合"
6341 "で初期化される。 B<execve>(2)  の前後で、処理待ちのシグナル集合は保持される。"
6342
6343 #. type: SS
6344 #: build/C/man7/signal.7:220
6345 #, no-wrap
6346 msgid "Standard Signals"
6347 msgstr "標準シグナル"
6348
6349 #.  parisc is a law unto itself
6350 #. type: Plain text
6351 #: build/C/man7/signal.7:230
6352 msgid ""
6353 "Linux supports the standard signals listed below.  Several signal numbers "
6354 "are architecture-dependent, as indicated in the \"Value\" column.  (Where "
6355 "three values are given, the first one is usually valid for alpha and sparc, "
6356 "the middle one for ix86, ia64, ppc, s390, arm and sh, and the last one for "
6357 "mips.  A - denotes that a signal is absent on the corresponding "
6358 "architecture.)"
6359 msgstr ""
6360 "Linux は以下に示す標準シグナルに対応している。 シグナル番号の一部はアーキテク"
6361 "チャ依存であり、\"値\" 欄に示す通りである。 (3つの値が書かれているものは、 1"
6362 "つ目が alpha と sparc で通常有効な値、 真ん中が ix86, ia64, ppc, s390, arm, "
6363 "sh での値、最後が mips での値である。 - はそのアーキテクチャにおいて対応する"
6364 "シグナルがないことを示す。)"
6365
6366 #. type: Plain text
6367 #: build/C/man7/signal.7:232
6368 msgid "First the signals described in the original POSIX.1-1990 standard."
6369 msgstr "最初に、POSIX.1-1990 に定義されているシグナルを示す。"
6370
6371 #. type: tbl table
6372 #: build/C/man7/signal.7:236 build/C/man7/signal.7:272
6373 #: build/C/man7/signal.7:301
6374 #, no-wrap
6375 msgid "Signal\tValue\tAction\tComment\n"
6376 msgstr "シグナル\t値\t動作\tコメント\n"
6377
6378 #. type: tbl table
6379 #: build/C/man7/signal.7:237
6380 #, no-wrap
6381 msgid "SIGHUP\t\\01\tTerm\tHangup detected on controlling terminal\n"
6382 msgstr "SIGHUP\t\\01\tTerm\t制御端末(controlling terminal)のハングアップ検出、\n"
6383
6384 #. type: tbl table
6385 #: build/C/man7/signal.7:238
6386 #, no-wrap
6387 msgid "\t\t\tor death of controlling process\n"
6388 msgstr "\t\t\tまたは制御しているプロセスの死\n"
6389
6390 #. type: tbl table
6391 #: build/C/man7/signal.7:239
6392 #, no-wrap
6393 msgid "SIGINT\t\\02\tTerm\tInterrupt from keyboard\n"
6394 msgstr "SIGINT\t\\02\tTerm\tキーボードからの割り込み (Interrupt)\n"
6395
6396 #. type: tbl table
6397 #: build/C/man7/signal.7:240
6398 #, no-wrap
6399 msgid "SIGQUIT\t\\03\tCore\tQuit from keyboard\n"
6400 msgstr "SIGQUIT\t\\03\tCore\tキーボードによる中止 (Quit)\n"
6401
6402 #. type: tbl table
6403 #: build/C/man7/signal.7:241
6404 #, no-wrap
6405 msgid "SIGILL\t\\04\tCore\tIllegal Instruction\n"
6406 msgstr "SIGILL\t\\04\tCore\t不正な命令\n"
6407
6408 #. type: tbl table
6409 #: build/C/man7/signal.7:242
6410 #, no-wrap
6411 msgid "SIGABRT\t\\06\tCore\tAbort signal from B<abort>(3)\n"
6412 msgstr "SIGABRT\t\\06\tCore\tB<abort>(3) からの中断 (Abort) シグナル\n"
6413
6414 #. type: tbl table
6415 #: build/C/man7/signal.7:243
6416 #, no-wrap
6417 msgid "SIGFPE\t\\08\tCore\tFloating point exception\n"
6418 msgstr "SIGFPE\t\\08\tCore\t浮動小数点例外\n"
6419
6420 #. type: tbl table
6421 #: build/C/man7/signal.7:244
6422 #, no-wrap
6423 msgid "SIGKILL\t\\09\tTerm\tKill signal\n"
6424 msgstr "SIGKILL\t\\09\tTerm\tKill シグナル\n"
6425
6426 #. type: tbl table
6427 #: build/C/man7/signal.7:245
6428 #, no-wrap
6429 msgid "SIGSEGV\t11\tCore\tInvalid memory reference\n"
6430 msgstr "SIGSEGV\t11\tCore\t不正なメモリ参照\n"
6431
6432 #. type: tbl table
6433 #: build/C/man7/signal.7:246
6434 #, no-wrap
6435 msgid "SIGPIPE\t13\tTerm\tBroken pipe: write to pipe with no\n"
6436 msgstr "SIGPIPE\t13\tTerm\tパイプ破壊:\n"
6437
6438 #. type: tbl table
6439 #: build/C/man7/signal.7:247
6440 #, no-wrap
6441 msgid "\t\t\treaders\n"
6442 msgstr "\t\t\t読み手の無いパイプへの書き出し\n"
6443
6444 #. type: tbl table
6445 #: build/C/man7/signal.7:248
6446 #, no-wrap
6447 msgid "SIGALRM\t14\tTerm\tTimer signal from B<alarm>(2)\n"
6448 msgstr "SIGALRM\t14\tTerm\tB<alarm>(2) からのタイマーシグナル\n"
6449
6450 #. type: tbl table
6451 #: build/C/man7/signal.7:249
6452 #, no-wrap
6453 msgid "SIGTERM\t15\tTerm\tTermination signal\n"
6454 msgstr "SIGTERM\t15\tTerm\t終了 (termination) シグナル\n"
6455
6456 #. type: tbl table
6457 #: build/C/man7/signal.7:250
6458 #, no-wrap
6459 msgid "SIGUSR1\t30,10,16\tTerm\tUser-defined signal 1\n"
6460 msgstr "SIGUSR1\t30,10,16\tTerm\tユーザ定義シグナル 1\n"
6461
6462 #. type: tbl table
6463 #: build/C/man7/signal.7:251
6464 #, no-wrap
6465 msgid "SIGUSR2\t31,12,17\tTerm\tUser-defined signal 2\n"
6466 msgstr "SIGUSR2\t31,12,17\tTerm\tユーザ定義シグナル 2\n"
6467
6468 #. type: tbl table
6469 #: build/C/man7/signal.7:252
6470 #, no-wrap
6471 msgid "SIGCHLD\t20,17,18\tIgn\tChild stopped or terminated\n"
6472 msgstr "SIGCHLD\t20,17,18\tIgn\t子プロセスの一時停止 (stop) または終了\n"
6473
6474 #. type: tbl table
6475 #: build/C/man7/signal.7:253
6476 #, no-wrap
6477 msgid "SIGCONT\t19,18,25\tCont\tContinue if stopped\n"
6478 msgstr "SIGCONT\t19,18,25\tCont\t一時停止 (stop) からの再開\n"
6479
6480 #. type: tbl table
6481 #: build/C/man7/signal.7:254
6482 #, no-wrap
6483 msgid "SIGSTOP\t17,19,23\tStop\tStop process\n"
6484 msgstr "SIGSTOP\t17,19,23\tStop\tプロセスの一時停止 (stop)\n"
6485
6486 #. type: tbl table
6487 #: build/C/man7/signal.7:255
6488 #, no-wrap
6489 msgid "SIGTSTP\t18,20,24\tStop\tStop typed at tty\n"
6490 msgstr "SIGTSTP\t18,20,24\tStop\t端末 (tty) より入力された一時停止 (stop)\n"
6491
6492 #. type: tbl table
6493 #: build/C/man7/signal.7:256
6494 #, no-wrap
6495 msgid "SIGTTIN\t21,21,26\tStop\ttty input for background process\n"
6496 msgstr "SIGTTIN\t21,21,26\tStop\tバックグランドプロセスの tty 入力\n"
6497
6498 #. type: tbl table
6499 #: build/C/man7/signal.7:257
6500 #, no-wrap
6501 msgid "SIGTTOU\t22,22,27\tStop\ttty output for background process\n"
6502 msgstr "SIGTTOU\t22,22,27\tStop\tバックグランドプロセスの tty 出力\n"
6503
6504 #. type: Plain text
6505 #: build/C/man7/signal.7:265
6506 msgid ""
6507 "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught, blocked, or ignored."
6508 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> はキャッチ、ブロック、無視できない。"
6509
6510 #. type: Plain text
6511 #: build/C/man7/signal.7:268
6512 msgid ""
6513 "Next the signals not in the POSIX.1-1990 standard but described in SUSv2 and "
6514 "POSIX.1-2001."
6515 msgstr ""
6516 "次に、 POSIX.1-1990 標準にはないが、 SUSv2 と POSIX.1-2001 に記述されているシ"
6517 "グナルを示す。"
6518
6519 #. type: tbl table
6520 #: build/C/man7/signal.7:273
6521 #, no-wrap
6522 msgid "SIGBUS\t10,7,10\tCore\tBus error (bad memory access)\n"
6523 msgstr "SIGBUS\t10,7,10\tCore\tバスエラー (不正なメモリアクセス)\n"
6524
6525 #. type: tbl table
6526 #: build/C/man7/signal.7:274
6527 #, no-wrap
6528 msgid "SIGPOLL\t\tTerm\tPollable event (Sys V).\n"
6529 msgstr "SIGPOLL\t\tTerm\tポーリング可能なイベント (Sys V)。\n"
6530
6531 #. type: tbl table
6532 #: build/C/man7/signal.7:275
6533 #, no-wrap
6534 msgid "\t\t\tSynonym for B<SIGIO>\n"
6535 msgstr "\t\t\tB<SIGIO> と同義\n"
6536
6537 #. type: tbl table
6538 #: build/C/man7/signal.7:276
6539 #, no-wrap
6540 msgid "SIGPROF\t27,27,29\tTerm\tProfiling timer expired\n"
6541 msgstr "SIGPROF\t27,27,29\tTerm\tprofiling タイマの時間切れ\n"
6542
6543 #. type: tbl table
6544 #: build/C/man7/signal.7:277
6545 #, no-wrap
6546 msgid "SIGSYS\t12,31,12\tCore\tBad argument to routine (SVr4)\n"
6547 msgstr "SIGSYS\t12,31,12\tCore\tルーチンへの引き数が不正 (SVr4)\n"
6548
6549 #. type: tbl table
6550 #: build/C/man7/signal.7:278
6551 #, no-wrap
6552 msgid "SIGTRAP\t5\tCore\tTrace/breakpoint trap\n"
6553 msgstr "SIGTRAP\t5\tCore\tトレース/ブレークポイント トラップ\n"
6554
6555 #. type: tbl table
6556 #: build/C/man7/signal.7:279
6557 #, no-wrap
6558 msgid "SIGURG\t16,23,21\tIgn\tUrgent condition on socket (4.2BSD)\n"
6559 msgstr "SIGURG\t16,23,21\tIgn\tソケットの緊急事態 (urgent condition) (4.2BSD)\n"
6560
6561 #. type: tbl table
6562 #: build/C/man7/signal.7:280
6563 #, no-wrap
6564 msgid "SIGVTALRM\t26,26,28\tTerm\tVirtual alarm clock (4.2BSD)\n"
6565 msgstr "SIGVTALRM\t26,26,28\tTerm\t仮想アラームクロック (4.2BSD)\n"
6566
6567 #. type: tbl table
6568 #: build/C/man7/signal.7:281
6569 #, no-wrap
6570 msgid "SIGXCPU\t24,24,30\tCore\tCPU time limit exceeded (4.2BSD)\n"
6571 msgstr "SIGXCPU\t24,24,30\tCore\tCPU時間制限超過 (4.2BSD)\n"
6572
6573 #. type: tbl table
6574 #: build/C/man7/signal.7:282
6575 #, no-wrap
6576 msgid "SIGXFSZ\t25,25,31\tCore\tFile size limit exceeded (4.2BSD)\n"
6577 msgstr "SIGXFSZ\t25,25,31\tCore\tファイルサイズ制限の超過 (4.2BSD)\n"
6578
6579 #. type: Plain text
6580 #: build/C/man7/signal.7:295
6581 msgid ""
6582 "Up to and including Linux 2.2, the default behavior for B<SIGSYS>, "
6583 "B<SIGXCPU>, B<SIGXFSZ>, and (on architectures other than SPARC and MIPS)  "
6584 "B<SIGBUS> was to terminate the process (without a core dump).  (On some "
6585 "other UNIX systems the default action for B<SIGXCPU> and B<SIGXFSZ> is to "
6586 "terminate the process without a core dump.)  Linux 2.4 conforms to the "
6587 "POSIX.1-2001 requirements for these signals, terminating the process with a "
6588 "core dump."
6589 msgstr ""
6590 "Linux 2.2 以前では、 B<SIGSYS>, B<SIGXCPU>, B<SIGXFSZ> および SPARC と MIPS "
6591 "以外のアーキテクチャでの B<SIGBUS> のデフォルトの振る舞いは (コアダンプ出力な"
6592 "しの) プロセス終了であった。 (他の UNIX システムにも B<SIGXCPU> と "
6593 "B<SIGXFSZ> のデフォルトの動作がコアダンプなしのプロセス終了のものがある。)  "
6594 "Linux 2.4 では、POSIX.1-2001 での要求仕様に準拠して、 これらのシグナルで、プ"
6595 "ロセスを終了させ、コアダンプを出力する ようになっている。"
6596
6597 #. type: Plain text
6598 #: build/C/man7/signal.7:297
6599 msgid "Next various other signals."
6600 msgstr "次にその他の各種シグナルを示す。"
6601
6602 #. type: tbl table
6603 #: build/C/man7/signal.7:302
6604 #, no-wrap
6605 msgid "SIGIOT\t6\tCore\tIOT trap. A synonym for B<SIGABRT>\n"
6606 msgstr "SIGIOT\t6\tCore\tIOT トラップ。B<SIGABRT> と同義\n"
6607
6608 #. type: tbl table
6609 #: build/C/man7/signal.7:303
6610 #, no-wrap
6611 msgid "SIGEMT\t7,-,7\tTerm\n"
6612 msgstr "SIGEMT\t7,-,7\tTerm\n"
6613
6614 #. type: tbl table
6615 #: build/C/man7/signal.7:304
6616 #, no-wrap
6617 msgid "SIGSTKFLT\t-,16,-\tTerm\tStack fault on coprocessor (unused)\n"
6618 msgstr "SIGSTKFLT\t-,16,-\tA\t数値演算プロセッサにおけるスタックフォルト (未使用)\n"
6619
6620 #. type: tbl table
6621 #: build/C/man7/signal.7:305
6622 #, no-wrap
6623 msgid "SIGIO\t23,29,22\tTerm\tI/O now possible (4.2BSD)\n"
6624 msgstr "SIGIO\t23,29,22\tTerm\t入出力が可能になった (4.2BSD)\n"
6625
6626 #. type: tbl table
6627 #: build/C/man7/signal.7:306
6628 #, no-wrap
6629 msgid "SIGCLD\t-,-,18\tIgn\tA synonym for B<SIGCHLD>\n"
6630 msgstr "SIGCLD\t-,-,18\tIgn\tB<SIGCHLD> と同義\n"
6631
6632 #. type: tbl table
6633 #: build/C/man7/signal.7:307
6634 #, no-wrap
6635 msgid "SIGPWR\t29,30,19\tTerm\tPower failure (System V)\n"
6636 msgstr "SIGPWR\t29,30,19\tTerm\t電源喪失 (Power failure) (System V)\n"
6637
6638 #. type: tbl table
6639 #: build/C/man7/signal.7:308
6640 #, no-wrap
6641 msgid "SIGINFO\t29,-,-\t\tA synonym for B<SIGPWR>\n"
6642 msgstr "SIGINFO\t29,-,-\t \tB<SIGPWR> と同義\n"
6643
6644 #. type: tbl table
6645 #: build/C/man7/signal.7:309
6646 #, no-wrap
6647 msgid "SIGLOST\t-,-,-\tTerm\tFile lock lost\n"
6648 msgstr "SIGLOST\t-,-,-\tTerm\tファイルロックが失われた\n"
6649
6650 #. type: tbl table
6651 #: build/C/man7/signal.7:310
6652 #, no-wrap
6653 msgid "SIGWINCH\t28,28,20\tIgn\tWindow resize signal (4.3BSD, Sun)\n"
6654 msgstr "SIGWINCH\t28,28,20\tIgn\tウィンドウ リサイズ シグナル (4.3BSD, Sun)\n"
6655
6656 #. type: tbl table
6657 #: build/C/man7/signal.7:311
6658 #, no-wrap
6659 msgid "SIGUNUSED\t-,31,-\tCore\tSynonymous with B<SIGSYS>\n"
6660 msgstr "SIGUNUSED\t-,31,-\tCore\tB<SIGSYS> と同義\n"
6661
6662 #. type: Plain text
6663 #: build/C/man7/signal.7:321
6664 msgid ""
6665 "(Signal 29 is B<SIGINFO> / B<SIGPWR> on an alpha but B<SIGLOST> on a sparc.)"
6666 msgstr ""
6667 "(シグナル 29 は alpha では B<SIGINFO> / B<SIGPWR> だが、sparc では "
6668 "B<SIGLOST> である。)"
6669
6670 #. type: Plain text
6671 #: build/C/man7/signal.7:327
6672 msgid ""
6673 "B<SIGEMT> is not specified in POSIX.1-2001, but nevertheless appears on most "
6674 "other UNIX systems, where its default action is typically to terminate the "
6675 "process with a core dump."
6676 msgstr ""
6677 "B<SIGEMT> は POSIX.1-2001 に規定されていないが、 その他の多くの UNIX システム"
6678 "に存在する。 デフォルトの動作は多くの場合、コアダンプ出力を伴うプロセスの終了"
6679 "である。"
6680
6681 #. type: Plain text
6682 #: build/C/man7/signal.7:331
6683 msgid ""
6684 "B<SIGPWR> (which is not specified in POSIX.1-2001) is typically ignored by "
6685 "default on those other UNIX systems where it appears."
6686 msgstr ""
6687 "B<SIGPWR> は (POSIX.1-2001 に規定されていないが) このシグナルが存在する 他の "
6688 "UNIX システムでは多くの場合、デフォルト動作は無視である。"
6689
6690 #. type: Plain text
6691 #: build/C/man7/signal.7:335
6692 msgid ""
6693 "B<SIGIO> (which is not specified in POSIX.1-2001) is ignored by default on "
6694 "several other UNIX systems."
6695 msgstr ""
6696 "B<SIGIO> は (POSIX.1-2001 に規定されていないが) いくつかの他の UNIX システム"
6697 "では デフォルト動作は無視である。"
6698
6699 #.  parisc is the only exception: SIGSYS is 12, SIGUNUSED is 31
6700 #. type: Plain text
6701 #: build/C/man7/signal.7:342
6702 msgid ""
6703 "Where defined, B<SIGUNUSED> is synonymous with B<SIGSYS> on most "
6704 "architectures."
6705 msgstr ""
6706 "B<SIGUNUSED> が定義されている場合には、ほとんどのアーキテクチャで B<SIGSYS> "
6707 "の同義語となっている。"
6708
6709 #. type: SS
6710 #: build/C/man7/signal.7:342
6711 #, no-wrap
6712 msgid "Real-time Signals"
6713 msgstr "リアルタイムシグナル"
6714
6715 #. type: Plain text
6716 #: build/C/man7/signal.7:352
6717 msgid ""
6718 "Linux supports real-time signals as originally defined in the POSIX.1b real-"
6719 "time extensions (and now included in POSIX.1-2001).  The range of supported "
6720 "real-time signals is defined by the macros B<SIGRTMIN> and B<SIGRTMAX>.  "
6721 "POSIX.1-2001 requires that an implementation support at least "
6722 "B<_POSIX_RTSIG_MAX> (8) real-time signals."
6723 msgstr ""
6724 "Linux はリアルタイムシグナルをサポートしている。 リアルタイムシグナルは元々 "
6725 "POSIX.1b のリアルタイム拡張で定義されて いるものであり、現在では "
6726 "POSIX.1-2001 に含まれている。 対応しているリアルタイムシグナルの範囲は、マク"
6727 "ロ B<SIGRTMIN> と B<SIGRTMAX> で定義される。 POSIX.1-2001 では、少なくとも "
6728 "B<_POSIX_RTSIG_MAX> (8) 個のリアルタイムシグナルに対応した実装が要求されてい"
6729 "る。"
6730
6731 #. type: Plain text
6732 #: build/C/man7/signal.7:374
6733 msgid ""
6734 "The Linux kernel supports a range of 32 different real-time signals, "
6735 "numbered 33 to 64.  However, the glibc POSIX threads implementation "
6736 "internally uses two (for NPTL) or three (for LinuxThreads) real-time signals "
6737 "(see B<pthreads>(7)), and adjusts the value of B<SIGRTMIN> suitably (to 34 "
6738 "or 35).  Because the range of available real-time signals varies according "
6739 "to the glibc threading implementation (and this variation can occur at run "
6740 "time according to the available kernel and glibc), and indeed the range of "
6741 "real-time signals varies across UNIX systems, programs should I<never refer "
6742 "to real-time signals using hard-coded numbers>, but instead should always "
6743 "refer to real-time signals using the notation B<SIGRTMIN>+n, and include "
6744 "suitable (run-time) checks that B<SIGRTMIN>+n does not exceed B<SIGRTMAX>."
6745 msgstr ""
6746 "Linux は、32 個の異なるリアルタイムシグナルに対応しており、 その番号は 33 か"
6747 "ら 64 である。 しかしながら、glibc の POSIX スレッド実装は、 内部で 2個 "
6748 "(NPTL の場合) か 3個 (LinuxThreads の場合) の リアルタイムシグナルを使用して"
6749 "おり (B<pthreads>(7)  参照)、 B<SIGRTMIN> の値を適切に (34 か 35 に) 調整す"
6750 "る。 利用可能なリアルタイムシグナルの範囲は glibc のスレッド実装により 異なる"
6751 "し (使用するカーネルと glibc により実行時にも変化する)、 UNIX システムの種類"
6752 "によっても異なる。したがって、 プログラムでは「ハードコーディングした数字を"
6753 "使ってのリアルタイムシグナルの 参照は決してすべきではなく」、代わりに "
6754 "B<SIGRTMIN>+n の形で参照すべきである。また、 B<SIGRTMIN>+n が B<SIGRTMAX> を"
6755 "超えていないかのチェックを (実行時に) 適切に行うべきである。"
6756
6757 #. type: Plain text
6758 #: build/C/man7/signal.7:378
6759 msgid ""
6760 "Unlike standard signals, real-time signals have no predefined meanings: the "
6761 "entire set of real-time signals can be used for application-defined purposes."
6762 msgstr ""
6763 "標準シグナルと異なり、リアルタイムシグナルには 事前に定義された意味はない。 "
6764 "リアルタイムシグナルの全部をアプリケーションで定義した用途に使える。"
6765
6766 #. type: Plain text
6767 #: build/C/man7/signal.7:381
6768 msgid ""
6769 "The default action for an unhandled real-time signal is to terminate the "
6770 "receiving process."
6771 msgstr ""
6772 "ハンドリングしないリアルタイムシグナルのデフォルトの動作は 受信したプロセスの"
6773 "終了である。"
6774
6775 #. type: Plain text
6776 #: build/C/man7/signal.7:383
6777 msgid "Real-time signals are distinguished by the following:"
6778 msgstr "リアルタイムシグナルは以下の特徴がある:"
6779
6780 #. type: Plain text
6781 #: build/C/man7/signal.7:387
6782 msgid ""
6783 "Multiple instances of real-time signals can be queued.  By contrast, if "
6784 "multiple instances of a standard signal are delivered while that signal is "
6785 "currently blocked, then only one instance is queued."
6786 msgstr ""
6787 "リアルタイムシグナルは複数の実体をキューに入れることができる。 一方、標準シグ"
6788 "ナルの場合、そのシグナルがブロックされている間に 同じシグナルの複数のインスタ"
6789 "ンスが配送されても、 1 つだけがキューに入れられる。"
6790
6791 #. type: Plain text
6792 #: build/C/man7/signal.7:407
6793 msgid ""
6794 "If the signal is sent using B<sigqueue>(3), an accompanying value (either an "
6795 "integer or a pointer) can be sent with the signal.  If the receiving process "
6796 "establishes a handler for this signal using the B<SA_SIGINFO> flag to "
6797 "B<sigaction>(2)  then it can obtain this data via the I<si_value> field of "
6798 "the I<siginfo_t> structure passed as the second argument to the handler.  "
6799 "Furthermore, the I<si_pid> and I<si_uid> fields of this structure can be "
6800 "used to obtain the PID and real user ID of the process sending the signal."
6801 msgstr ""
6802 "シグナルが B<sigqueue>(3)  を用いて送信された場合、 付属データ (整数かポイン"
6803 "タ) をシグナルと共に送信できる。 受信側プロセスが B<sigaction>(2)  に "
6804 "B<SA_SIGINFO> フラグを指定してシグナルハンドラを設定した場合、 このデータは "
6805 "I<siginfo_t> 構造体の I<si_value> フィールド経由でハンドラの第 2 引き数として"
6806 "渡され、 利用することができる。 さらに、この構造体の I<si_pid> と I<si_uid> "
6807 "フィールドでシグナルを送信したプロセスの PID と実ユーザ ID を 得ることができ"
6808 "る。"
6809
6810 #. type: Plain text
6811 #: build/C/man7/signal.7:416
6812 msgid ""
6813 "Real-time signals are delivered in a guaranteed order.  Multiple real-time "
6814 "signals of the same type are delivered in the order they were sent.  If "
6815 "different real-time signals are sent to a process, they are delivered "
6816 "starting with the lowest-numbered signal.  (I.e., low-numbered signals have "
6817 "highest priority.)  By contrast, if multiple standard signals are pending "
6818 "for a process, the order in which they are delivered is unspecified."
6819 msgstr ""
6820 "リアルタイムシグナルでは配送される順序が保証される。 同じタイプのリアルタイム"
6821 "シグナルは送信された順番に到着する。 異なるリアルタイムシグナルが一つのプロセ"
6822 "スに送信された場合、 番号の小さいシグナルから先に到着する。 (つまり小さい番号"
6823 "のシグナルが高い優先順位を持つ。)  対照的に、一つのプロセスに対して複数の標準"
6824 "シグナルが処理待ちとなった場合、 これらのシグナルが配送される順序は不定であ"
6825 "る。"
6826
6827 #. type: Plain text
6828 #: build/C/man7/signal.7:421
6829 msgid ""
6830 "If both standard and real-time signals are pending for a process, POSIX "
6831 "leaves it unspecified which is delivered first.  Linux, like many other "
6832 "implementations, gives priority to standard signals in this case."
6833 msgstr ""
6834 "一つのプロセスに対して標準シグナルとリアルタイムシグナルの両方が 処理待ちの場"
6835 "合、POSIX はどちらが先に配送されるかを規定していない。 Linux では、他の多くの"
6836 "実装と同様、このような場合には 標準シグナルが優先される。"
6837
6838 #. type: Plain text
6839 #: build/C/man7/signal.7:444
6840 msgid ""
6841 "According to POSIX, an implementation should permit at least "
6842 "B<_POSIX_SIGQUEUE_MAX> (32) real-time signals to be queued to a process.  "
6843 "However, Linux does things differently.  In kernels up to and including "
6844 "2.6.7, Linux imposes a system-wide limit on the number of queued real-time "
6845 "signals for all processes.  This limit can be viewed and (with privilege) "
6846 "changed via the I</proc/sys/kernel/rtsig-max> file.  A related file, I</proc/"
6847 "sys/kernel/rtsig-nr>, can be used to find out how many real-time signals are "
6848 "currently queued.  In Linux 2.6.8, these I</proc> interfaces were replaced "
6849 "by the B<RLIMIT_SIGPENDING> resource limit, which specifies a per-user limit "
6850 "for queued signals; see B<setrlimit>(2)  for further details."
6851 msgstr ""
6852 "POSIX によれば、1 プロセス毎に最低 B<_POSIX_SIGQUEUE_MAX> (32) 個のリアルタイ"
6853 "ムシグナルをキューに入れられるべきとしている。 しかし、 Linux では違った実装"
6854 "になっている。カーネル 2.6.7 までは (2.6.7 を含む)、全プロセスでキューに入っ"
6855 "ているリアルタイムシグナル の数の合計についてシステム全体での制限がある。 こ"
6856 "の制限は I</proc/sys/kernel/rtsig-max> ファイルで見ることができ、 (権限があれ"
6857 "ば) 変更もできる。 関係するファイルとして、 I</proc/sys/kernel/rtsig-nr> を見"
6858 "ることで、いくつのリアルタイムシグナルが現在キューに入っているかを 知ることが"
6859 "できる。 Linux 2.6.8 で、これらの I</proc> 経由のインターフェースは、 "
6860 "B<RLIMIT_SIGPENDING> リソース制限に置き換えられた。 これは、キューに入るシグ"
6861 "ナル数に関してユーザ単位に 上限を指定するものである。 詳しくは B<setrlimit>"
6862 "(2)  を参照。"
6863
6864 #. type: SS
6865 #: build/C/man7/signal.7:444
6866 #, no-wrap
6867 msgid "Async-signal-safe functions"
6868 msgstr "非同期シグナルで安全な関数 (async-signal-safe functions)"
6869
6870 #. type: Plain text
6871 #: build/C/man7/signal.7:453
6872 msgid ""
6873 "A signal handler function must be very careful, since processing elsewhere "
6874 "may be interrupted at some arbitrary point in the execution of the program.  "
6875 "POSIX has the concept of \"safe function\".  If a signal interrupts the "
6876 "execution of an unsafe function, and I<handler> calls an unsafe function, "
6877 "then the behavior of the program is undefined."
6878 msgstr ""
6879 "シグナルハンドラ関数には非常に注意しなければならない。 他の場所の処理はプログ"
6880 "ラム実行の任意の箇所で中断される可能性があるためである。 POSIX には「安全な関"
6881 "数 (safe function)」という概念がある。 シグナルが安全でない関数の実行を中断"
6882 "し、かつ I<handler> が安全でない関数を呼び出した場合、プログラムの挙動は未定"
6883 "義である。"
6884
6885 #. type: Plain text
6886 #: build/C/man7/signal.7:457
6887 msgid ""
6888 "POSIX.1-2004 (also known as POSIX.1-2001 Technical Corrigendum 2)  requires "
6889 "an implementation to guarantee that the following functions can be safely "
6890 "called inside a signal handler:"
6891 msgstr ""
6892 "POSIX.1-2004 (POSIX.1-2001 Technical Corrigendum (正誤表) 2 とも言う) では、 "
6893 "シグナルハンドラ内での安全な呼び出しを保証することが必須の関数として 以下が規"
6894 "定されている。"
6895
6896 #. type: Plain text
6897 #: build/C/man7/signal.7:578
6898 #, no-wrap
6899 msgid ""
6900 "_Exit()\n"
6901 "_exit()\n"
6902 "abort()\n"
6903 "accept()\n"
6904 "access()\n"
6905 "aio_error()\n"
6906 "aio_return()\n"
6907 "aio_suspend()\n"
6908 "alarm()\n"
6909 "bind()\n"
6910 "cfgetispeed()\n"
6911 "cfgetospeed()\n"
6912 "cfsetispeed()\n"
6913 "cfsetospeed()\n"
6914 "chdir()\n"
6915 "chmod()\n"
6916 "chown()\n"
6917 "clock_gettime()\n"
6918 "close()\n"
6919 "connect()\n"
6920 "creat()\n"
6921 "dup()\n"
6922 "dup2()\n"
6923 "execle()\n"
6924 "execve()\n"
6925 "fchmod()\n"
6926 "fchown()\n"
6927 "fcntl()\n"
6928 "fdatasync()\n"
6929 "fork()\n"
6930 "fpathconf()\n"
6931 "fstat()\n"
6932 "fsync()\n"
6933 "ftruncate()\n"
6934 "getegid()\n"
6935 "geteuid()\n"
6936 "getgid()\n"
6937 "getgroups()\n"
6938 "getpeername()\n"
6939 "getpgrp()\n"
6940 "getpid()\n"
6941 "getppid()\n"
6942 "getsockname()\n"
6943 "getsockopt()\n"
6944 "getuid()\n"
6945 "kill()\n"
6946 "link()\n"
6947 "listen()\n"
6948 "lseek()\n"
6949 "lstat()\n"
6950 "mkdir()\n"
6951 "mkfifo()\n"
6952 "open()\n"
6953 "pathconf()\n"
6954 "pause()\n"
6955 "pipe()\n"
6956 "poll()\n"
6957 "posix_trace_event()\n"
6958 "pselect()\n"
6959 "raise()\n"
6960 "read()\n"
6961 "readlink()\n"
6962 "recv()\n"
6963 "recvfrom()\n"
6964 "recvmsg()\n"
6965 "rename()\n"
6966 "rmdir()\n"
6967 "select()\n"
6968 "sem_post()\n"
6969 "send()\n"
6970 "sendmsg()\n"
6971 "sendto()\n"
6972 "setgid()\n"
6973 "setpgid()\n"
6974 "setsid()\n"
6975 "setsockopt()\n"
6976 "setuid()\n"
6977 "shutdown()\n"
6978 "sigaction()\n"
6979 "sigaddset()\n"
6980 "sigdelset()\n"
6981 "sigemptyset()\n"
6982 "sigfillset()\n"
6983 "sigismember()\n"
6984 "signal()\n"
6985 "sigpause()\n"
6986 "sigpending()\n"
6987 "sigprocmask()\n"
6988 "sigqueue()\n"
6989 "sigset()\n"
6990 "sigsuspend()\n"
6991 "sleep()\n"
6992 "sockatmark()\n"
6993 "socket()\n"
6994 "socketpair()\n"
6995 "stat()\n"
6996 "symlink()\n"
6997 "sysconf()\n"
6998 "tcdrain()\n"
6999 "tcflow()\n"
7000 "tcflush()\n"
7001 "tcgetattr()\n"
7002 "tcgetpgrp()\n"
7003 "tcsendbreak()\n"
7004 "tcsetattr()\n"
7005 "tcsetpgrp()\n"
7006 "time()\n"
7007 "timer_getoverrun()\n"
7008 "timer_gettime()\n"
7009 "timer_settime()\n"
7010 "times()\n"
7011 "umask()\n"
7012 "uname()\n"
7013 "unlink()\n"
7014 "utime()\n"
7015 "wait()\n"
7016 "waitpid()\n"
7017 "write()\n"
7018 msgstr ""
7019 "_Exit()\n"
7020 "_exit()\n"
7021 "abort()\n"
7022 "accept()\n"
7023 "access()\n"
7024 "aio_error()\n"
7025 "aio_return()\n"
7026 "aio_suspend()\n"
7027 "alarm()\n"
7028 "bind()\n"
7029 "cfgetispeed()\n"
7030 "cfgetospeed()\n"
7031 "cfsetispeed()\n"
7032 "cfsetospeed()\n"
7033 "chdir()\n"
7034 "chmod()\n"
7035 "chown()\n"
7036 "clock_gettime()\n"
7037 "close()\n"
7038 "connect()\n"
7039 "creat()\n"
7040 "dup()\n"
7041 "dup2()\n"
7042 "execle()\n"
7043 "execve()\n"
7044 "fchmod()\n"
7045 "fchown()\n"
7046 "fcntl()\n"
7047 "fdatasync()\n"
7048 "fork()\n"
7049 "fpathconf()\n"
7050 "fstat()\n"
7051 "fsync()\n"
7052 "ftruncate()\n"
7053 "getegid()\n"
7054 "geteuid()\n"
7055 "getgid()\n"
7056 "getgroups()\n"
7057 "getpeername()\n"
7058 "getpgrp()\n"
7059 "getpid()\n"
7060 "getppid()\n"
7061 "getsockname()\n"
7062 "getsockopt()\n"
7063 "getuid()\n"
7064 "kill()\n"
7065 "link()\n"
7066 "listen()\n"
7067 "lseek()\n"
7068 "lstat()\n"
7069 "mkdir()\n"
7070 "mkfifo()\n"
7071 "open()\n"
7072 "pathconf()\n"
7073 "pause()\n"
7074 "pipe()\n"
7075 "poll()\n"
7076 "posix_trace_event()\n"
7077 "pselect()\n"
7078 "raise()\n"
7079 "read()\n"
7080 "readlink()\n"
7081 "recv()\n"
7082 "recvfrom()\n"
7083 "recvmsg()\n"
7084 "rename()\n"
7085 "rmdir()\n"
7086 "select()\n"
7087 "sem_post()\n"
7088 "send()\n"
7089 "sendmsg()\n"
7090 "sendto()\n"
7091 "setgid()\n"
7092 "setpgid()\n"
7093 "setsid()\n"
7094 "setsockopt()\n"
7095 "setuid()\n"
7096 "shutdown()\n"
7097 "sigaction()\n"
7098 "sigaddset()\n"
7099 "sigdelset()\n"
7100 "sigemptyset()\n"
7101 "sigfillset()\n"
7102 "sigismember()\n"
7103 "signal()\n"
7104 "sigpause()\n"
7105 "sigpending()\n"
7106 "sigprocmask()\n"
7107 "sigqueue()\n"
7108 "sigset()\n"
7109 "sigsuspend()\n"
7110 "sleep()\n"
7111 "sockatmark()\n"
7112 "socket()\n"
7113 "socketpair()\n"
7114 "stat()\n"
7115 "symlink()\n"
7116 "sysconf()\n"
7117 "tcdrain()\n"
7118 "tcflow()\n"
7119 "tcflush()\n"
7120 "tcgetattr()\n"
7121 "tcgetpgrp()\n"
7122 "tcsendbreak()\n"
7123 "tcsetattr()\n"
7124 "tcsetpgrp()\n"
7125 "time()\n"
7126 "timer_getoverrun()\n"
7127 "timer_gettime()\n"
7128 "timer_settime()\n"
7129 "times()\n"
7130 "umask()\n"
7131 "uname()\n"
7132 "unlink()\n"
7133 "utime()\n"
7134 "wait()\n"
7135 "waitpid()\n"
7136 "write()\n"
7137
7138 #. type: Plain text
7139 #: build/C/man7/signal.7:583
7140 msgid ""
7141 "POSIX.1-2008 removes fpathconf(), pathconf(), and sysconf()  from the above "
7142 "list, and adds the following functions:"
7143 msgstr ""
7144 "POSIX.1-2008 では、上記のリストのうち fpathconf(), pathconf(), sysconf()  が"
7145 "削除され、以下の関数が追加された。"
7146
7147 #. type: Plain text
7148 #: build/C/man7/signal.7:606
7149 #, no-wrap
7150 msgid ""
7151 "execl()\n"
7152 "execv()\n"
7153 "faccessat()\n"
7154 "fchmodat()\n"
7155 "fchownat()\n"
7156 "fexecve()\n"
7157 "fstatat()\n"
7158 "futimens()\n"
7159 "linkat()\n"
7160 "mkdirat()\n"
7161 "mkfifoat()\n"
7162 "mknod()\n"
7163 "mknodat()\n"
7164 "openat()\n"
7165 "readlinkat()\n"
7166 "renameat()\n"
7167 "symlinkat()\n"
7168 "unlinkat()\n"
7169 "utimensat()\n"
7170 "utimes()\n"
7171 msgstr ""
7172 "execl()\n"
7173 "execv()\n"
7174 "faccessat()\n"
7175 "fchmodat()\n"
7176 "fchownat()\n"
7177 "fexecve()\n"
7178 "fstatat()\n"
7179 "futimens()\n"
7180 "linkat()\n"
7181 "mkdirat()\n"
7182 "mkfifoat()\n"
7183 "mknod()\n"
7184 "mknodat()\n"
7185 "openat()\n"
7186 "readlinkat()\n"
7187 "renameat()\n"
7188 "symlinkat()\n"
7189 "unlinkat()\n"
7190 "utimensat()\n"
7191 "utimes()\n"
7192
7193 #. type: SS
7194 #: build/C/man7/signal.7:608
7195 #, no-wrap
7196 msgid "Interruption of System Calls and Library Functions by Signal Handlers"
7197 msgstr "シグナルハンドラによるシステムコールやライブラリ関数への割り込み"
7198
7199 #. type: Plain text
7200 #: build/C/man7/signal.7:611
7201 msgid ""
7202 "If a signal handler is invoked while a system call or library function call "
7203 "is blocked, then either:"
7204 msgstr ""
7205 "システムコールやライブラリが停止 (block) している間にシグナルハンドラが 起動"
7206 "されると、以下のどちらかとなる。"
7207
7208 #. type: Plain text
7209 #: build/C/man7/signal.7:613
7210 msgid ""
7211 "the call is automatically restarted after the signal handler returns; or"
7212 msgstr "シグナルが返った後、呼び出しは自動的に再スタートされる。"
7213
7214 #. type: Plain text
7215 #: build/C/man7/signal.7:616
7216 msgid "the call fails with the error B<EINTR>."
7217 msgstr "呼び出しはエラー B<EINTR> で失敗する。"
7218
7219 #. type: Plain text
7220 #: build/C/man7/signal.7:624
7221 msgid ""
7222 "Which of these two behaviors occurs depends on the interface and whether or "
7223 "not the signal handler was established using the B<SA_RESTART> flag (see "
7224 "B<sigaction>(2)).  The details vary across UNIX systems; below, the details "
7225 "for Linux."
7226 msgstr ""
7227 "これらの二つの挙動のうちどちらが起こるかは、インターフェイスにより依存し、 シ"
7228 "グナルハンドラが B<SA_RESTART> フラグ (B<sigaction>(2)  参照) を使って設定さ"
7229 "れていたかにも依存する。 詳細は UNIX システムによって異なる。 Linux における"
7230 "詳細を以下で説明する。"
7231
7232 #.  The following system calls use ERESTARTSYS,
7233 #.  so that they are restartable
7234 #. type: Plain text
7235 #: build/C/man7/signal.7:633
7236 msgid ""
7237 "If a blocked call to one of the following interfaces is interrupted by a "
7238 "signal handler, then the call will be automatically restarted after the "
7239 "signal handler returns if the B<SA_RESTART> flag was used; otherwise the "
7240 "call will fail with the error B<EINTR>:"
7241 msgstr ""
7242 "以下のインターフェイスのいずれかの呼び出しが停止している間に シグナルハンドラ"
7243 "により割り込まれた場合、 B<SA_RESTART> フラグが使用されていれば、シグナルハン"
7244 "ドラが返った後に その呼び出しは自動的に再スタートされることになる。 それ以外"
7245 "の場合は、その呼び出しはエラー B<EINTR> で失敗することになる。"
7246
7247 #. type: Plain text
7248 #: build/C/man7/signal.7:649
7249 msgid ""
7250 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), and B<ioctl>(2)  calls "
7251 "on \"slow\" devices.  A \"slow\" device is one where the I/O call may block "
7252 "for an indefinite time, for example, a terminal, pipe, or socket.  (A disk "
7253 "is not a slow device according to this definition.)  If an I/O call on a "
7254 "slow device has already transferred some data by the time it is interrupted "
7255 "by a signal handler, then the call will return a success status (normally, "
7256 "the number of bytes transferred)."
7257 msgstr ""
7258 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), B<ioctl>(2)  の「遅い "
7259 "(slow)」デバイスに対する呼び出し。 ここでいう「遅い」デバイスとは、I/O 呼び出"
7260 "しが無期限に停止 (block) する 可能性のあるデバイスのことで、例としては端末、"
7261 "パイプ、ソケットがある (この定義では、ディスクは遅いデバイスではない)。 遅い"
7262 "デバイスに対する I/O 呼び出しが、 シグナルハンドラにより割り込まれた時点まで"
7263 "に何らかのデータを すでに転送していれば、呼び出しは成功ステータス (通常は、転"
7264 "送されたバイト数) を返すことだろう。"
7265
7266 #. type: Plain text
7267 #: build/C/man7/signal.7:653
7268 msgid ""
7269 "B<open>(2), if it can block (e.g., when opening a FIFO; see B<fifo>(7))."
7270 msgstr ""
7271 "停止 (block) する可能性のある B<open>(2)  (例えば、FIFO のオープン時; B<fifo>"
7272 "(7)  参照)。"
7273
7274 #. type: Plain text
7275 #: build/C/man7/signal.7:660
7276 msgid "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), and B<waitpid>(2)."
7277 msgstr "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), B<waitpid>(2)."
7278
7279 #.  If a timeout (setsockopt()) is in effect on the socket, then these
7280 #.  system calls switch to using EINTR.  Consequently, they and are not
7281 #.  automatically restarted, and they show the stop/cont behavior
7282 #.  described below.  (Verified from 2.6.26 source, and by experiment; mtk)
7283 #. type: Plain text
7284 #: build/C/man7/signal.7:676
7285 msgid ""
7286 "Socket interfaces: B<accept>(2), B<connect>(2), B<recv>(2), B<recvfrom>(2), "
7287 "B<recvmsg>(2), B<send>(2), B<sendto>(2), and B<sendmsg>(2), unless a timeout "
7288 "has been set on the socket (see below)."
7289 msgstr ""
7290 "ソケットインターフェイス: B<accept>(2), B<connect>(2), B<recv>(2), "
7291 "B<recvfrom>(2), B<recvmsg>(2), B<send>(2), B<sendto>(2), B<sendmsg>(2).  但"
7292 "し、ソケットにタイムアウトが設定されていない場合 (下記参照)。"
7293
7294 #. type: Plain text
7295 #: build/C/man7/signal.7:682
7296 msgid "File locking interfaces: B<flock>(2)  and B<fcntl>(2)  B<F_SETLKW>."
7297 msgstr ""
7298 "ファイルロック用インターフェイス: B<flock>(2), B<fcntl>(2)  B<F_SETLKW>."
7299
7300 #. type: Plain text
7301 #: build/C/man7/signal.7:689
7302 msgid ""
7303 "POSIX message queue interfaces: B<mq_receive>(3), B<mq_timedreceive>(3), "
7304 "B<mq_send>(3), and B<mq_timedsend>(3)."
7305 msgstr ""
7306 "POSIX メッセージキューインターフェイス: B<mq_receive>(3), B<mq_timedreceive>"
7307 "(3), B<mq_send>(3), B<mq_timedsend>(3)."
7308
7309 #. type: Plain text
7310 #: build/C/man7/signal.7:694
7311 msgid ""
7312 "B<futex>(2)  B<FUTEX_WAIT> (since Linux 2.6.22; beforehand, always failed "
7313 "with B<EINTR>)."
7314 msgstr ""
7315 "B<futex>(2)  B<FUTEX_WAIT> (Linux 2.6.22 以降; それ以前は常に B<EINTR> で失敗"
7316 "していた)。"
7317
7318 #. type: Plain text
7319 #: build/C/man7/signal.7:701
7320 msgid ""
7321 "POSIX semaphore interfaces: B<sem_wait>(3)  and B<sem_timedwait>(3)  (since "
7322 "Linux 2.6.22; beforehand, always failed with B<EINTR>)."
7323 msgstr ""
7324 "POSIX セマフォインターフェイス: B<sem_wait>(3), B<sem_timedwait>(3)  (Linux "
7325 "2.6.22 以降; それ以前は常に B<EINTR> で失敗していた)。"
7326
7327 #.  These are the system calls that give EINTR or ERESTARTNOHAND
7328 #.  on interruption by a signal handler.
7329 #. type: Plain text
7330 #: build/C/man7/signal.7:712
7331 msgid ""
7332 "The following interfaces are never restarted after being interrupted by a "
7333 "signal handler, regardless of the use of B<SA_RESTART>; they always fail "
7334 "with the error B<EINTR> when interrupted by a signal handler:"
7335 msgstr ""
7336 "以下のインターフェイスは、 B<SA_RESTART> を使っているどうかに関わらず、シグナ"
7337 "ルハンドラにより割り込まれた後、 再スタートすることは決してない。 これらは、"
7338 "シグナルハンドラにより割り込まれると、常にエラー B<EINTR> で失敗する。"
7339
7340 #. type: Plain text
7341 #: build/C/man7/signal.7:732 build/C/man7/signal.7:806
7342 msgid ""
7343 "Socket interfaces, when a timeout has been set on the socket using "
7344 "B<setsockopt>(2): B<accept>(2), B<recv>(2), B<recvfrom>(2), and B<recvmsg>"
7345 "(2), if a receive timeout (B<SO_RCVTIMEO>)  has been set; B<connect>(2), "
7346 "B<send>(2), B<sendto>(2), and B<sendmsg>(2), if a send timeout "
7347 "(B<SO_SNDTIMEO>)  has been set."
7348 msgstr ""
7349 "B<setsockopt>(2)  を使ってタイムアウトが設定されているソケットインターフェー"
7350 "ス: B<accept>(2), B<recv>(2), B<recvfrom>(2), B<recvmsg>(2)  で受信タイムアウ"
7351 "ト (B<SO_RCVTIMEO>)  が設定されている場合と、 B<connect>(2), B<send>(2), "
7352 "B<sendto>(2), B<sendmsg>(2)  で送信タイムアウト (B<SO_SNDTIMEO>)  が設定され"
7353 "ている場合。"
7354
7355 #. type: Plain text
7356 #: build/C/man7/signal.7:739
7357 msgid ""
7358 "Interfaces used to wait for signals: B<pause>(2), B<sigsuspend>(2), "
7359 "B<sigtimedwait>(2), and B<sigwaitinfo>(2)."
7360 msgstr ""
7361 "シグナル待ちに使われるインターフェイス: B<pause>(2), B<sigsuspend>(2), "
7362 "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7363
7364 #. type: Plain text
7365 #: build/C/man7/signal.7:748
7366 msgid ""
7367 "File descriptor multiplexing interfaces: B<epoll_wait>(2), B<epoll_pwait>"
7368 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), and B<pselect>(2)."
7369 msgstr ""
7370 "ファイルディスクリプタ多重インターフェイス: B<epoll_wait>(2), B<epoll_pwait>"
7371 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), B<pselect>(2)."
7372
7373 #.  On some other systems, SA_RESTART does restart these system calls
7374 #. type: Plain text
7375 #: build/C/man7/signal.7:756
7376 msgid ""
7377 "System V IPC interfaces: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), and "
7378 "B<semtimedop>(2)."
7379 msgstr ""
7380 "System V IPC インターフェイス: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), "
7381 "B<semtimedop>(2)."
7382
7383 #. type: Plain text
7384 #: build/C/man7/signal.7:762
7385 msgid ""
7386 "Sleep interfaces: B<clock_nanosleep>(2), B<nanosleep>(2), and B<usleep>(3)."
7387 msgstr ""
7388 "スリープ用のインターフェイス: B<clock_nanosleep>(2), B<nanosleep>(2), "
7389 "B<usleep>(3)."
7390
7391 #. type: Plain text
7392 #: build/C/man7/signal.7:767 build/C/man7/signal.7:820
7393 msgid "B<read>(2)  from an B<inotify>(7)  file descriptor."
7394 msgstr "B<inotify>(7)  ファイルディスクリプタからの B<read>(2)."
7395
7396 #. type: Plain text
7397 #: build/C/man7/signal.7:769
7398 msgid "B<io_getevents>(2)."
7399 msgstr "B<io_getevents>(2)."
7400
7401 #. type: Plain text
7402 #: build/C/man7/signal.7:775
7403 msgid ""
7404 "The B<sleep>(3)  function is also never restarted if interrupted by a "
7405 "handler, but gives a success return: the number of seconds remaining to "
7406 "sleep."
7407 msgstr ""
7408 "B<sleep>(3)  関数も、ハンドラにより割り込まれた場合、決して再スタートされるこ"
7409 "とはない。 しかし、成功となり、残っている停止時間を返す。"
7410
7411 #. type: SS
7412 #: build/C/man7/signal.7:775
7413 #, no-wrap
7414 msgid "Interruption of System Calls and Library Functions by Stop Signals"
7415 msgstr "一時停止シグナルによるシステムコールやライブラリ関数への割り込み"
7416
7417 #. type: Plain text
7418 #: build/C/man7/signal.7:784
7419 msgid ""
7420 "On Linux, even in the absence of signal handlers, certain blocking "
7421 "interfaces can fail with the error B<EINTR> after the process is stopped by "
7422 "one of the stop signals and then resumed via B<SIGCONT>.  This behavior is "
7423 "not sanctioned by POSIX.1, and doesn't occur on other systems."
7424 msgstr ""
7425 "Linux では、シグナルハンドラが設定されていない場合でも、 いくつかのブロッキン"
7426 "グ型のインターフェイスは、 プロセスが一時停止 (stop) シグナルの一つにより停止"
7427 "され、 B<SIGCONT> により再開された後に、エラー B<EINTR> で失敗する可能性があ"
7428 "る。 この挙動は POSIX.1 で認められておらず、他のシステムでは起こらない。"
7429
7430 #. type: Plain text
7431 #: build/C/man7/signal.7:786
7432 msgid "The Linux interfaces that display this behavior are:"
7433 msgstr "この挙動を示す Linux のインターフェイスは以下の通りである。"
7434
7435 #. type: Plain text
7436 #: build/C/man7/signal.7:809
7437 msgid "B<epoll_wait>(2), B<epoll_pwait>(2)."
7438 msgstr "B<epoll_wait>(2), B<epoll_pwait>(2)."
7439
7440 #. type: Plain text
7441 #: build/C/man7/signal.7:812
7442 msgid "B<semop>(2), B<semtimedop>(2)."
7443 msgstr "B<semop>(2), B<semtimedop>(2)."
7444
7445 #. type: Plain text
7446 #: build/C/man7/signal.7:815
7447 msgid "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7448 msgstr "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7449
7450 #. type: Plain text
7451 #: build/C/man7/signal.7:826
7452 msgid ""
7453 "Linux 2.6.21 and earlier: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7454 "B<sem_wait>(3)."
7455 msgstr ""
7456 "Linux 2.6.21 以前: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7457 "B<sem_wait>(3)."
7458
7459 #. type: Plain text
7460 #: build/C/man7/signal.7:830
7461 msgid "Linux 2.6.8 and earlier: B<msgrcv>(2), B<msgsnd>(2)."
7462 msgstr "Linux 2.6.8 以前: B<msgrcv>(2), B<msgsnd>(2)."
7463
7464 #. type: Plain text
7465 #: build/C/man7/signal.7:833
7466 msgid "Linux 2.4 and earlier: B<nanosleep>(2)."
7467 msgstr "Linux 2.4 以前: B<nanosleep>(2)."
7468
7469 #. type: Plain text
7470 #: build/C/man7/signal.7:836
7471 msgid "POSIX.1, except as noted."
7472 msgstr "POSIX.1 (注記した内容以外)。"
7473
7474 #. type: Plain text
7475 #: build/C/man7/signal.7:845
7476 msgid ""
7477 "B<SIGIO> and B<SIGLOST> have the same value.  The latter is commented out in "
7478 "the kernel source, but the build process of some software still thinks that "
7479 "signal 29 is B<SIGLOST>."
7480 msgstr ""
7481 "B<SIGIO> と B<SIGLOST> は同じ値を持っている。 B<SIGLOST> はカーネルのソースで"
7482 "はコメントアウトされている。 しかし、ソフトウェアによってはビルドの過程でシグ"
7483 "ナル 29 を B<SIGLOST> とみなしてしまうものがある。"
7484
7485 #. type: Plain text
7486 #: build/C/man7/signal.7:878
7487 msgid ""
7488 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7489 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7490 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7491 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7492 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7493 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7494 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7495 "B<sigevent>(7)"
7496 msgstr ""
7497 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7498 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7499 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7500 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7501 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7502 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7503 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7504 "B<sigevent>(7)"
7505
7506 #. type: TH
7507 #: build/C/man2/signalfd.2:19
7508 #, no-wrap
7509 msgid "SIGNALFD"
7510 msgstr "SIGNALFD"
7511
7512 #. type: TH
7513 #: build/C/man2/signalfd.2:19
7514 #, no-wrap
7515 msgid "2009-01-13"
7516 msgstr "2009-01-13"
7517
7518 #. type: Plain text
7519 #: build/C/man2/signalfd.2:22
7520 msgid "signalfd - create a file descriptor for accepting signals"
7521 msgstr "signalfd - シグナル受け付け用のファイルディスクリプタを生成する"
7522
7523 #. type: Plain text
7524 #: build/C/man2/signalfd.2:24
7525 msgid "B<#include E<lt>sys/signalfd.hE<gt>>"
7526 msgstr "B<#include E<lt>sys/signalfd.hE<gt>>"
7527
7528 #. type: Plain text
7529 #: build/C/man2/signalfd.2:26
7530 msgid ""
7531 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7532 msgstr ""
7533 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7534
7535 #. type: Plain text
7536 #: build/C/man2/signalfd.2:37
7537 msgid ""
7538 "B<signalfd>()  creates a file descriptor that can be used to accept signals "
7539 "targeted at the caller.  This provides an alternative to the use of a signal "
7540 "handler or B<sigwaitinfo>(2), and has the advantage that the file descriptor "
7541 "may be monitored by B<select>(2), B<poll>(2), and B<epoll>(7)."
7542 msgstr ""
7543 "B<signalfd>()  は、呼び出し元宛てのシグナルを受け付けるために使用されるファイ"
7544 "ル ディスクリプタを生成する。 この方法はシグナルハンドラや B<sigwaitinfo>"
7545 "(2)  を用いる方法の代わりとなるものであり、このファイルディスクリプタを "
7546 "B<select>(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
7547
7548 #. type: Plain text
7549 #: build/C/man2/signalfd.2:57
7550 msgid ""
7551 "The I<mask> argument specifies the set of signals that the caller wishes to "
7552 "accept via the file descriptor.  This argument is a signal set whose "
7553 "contents can be initialized using the macros described in B<sigsetops>(3).  "
7554 "Normally, the set of signals to be received via the file descriptor should "
7555 "be blocked using B<sigprocmask>(2), to prevent the signals being handled "
7556 "according to their default dispositions.  It is not possible to receive "
7557 "B<SIGKILL> or B<SIGSTOP> signals via a signalfd file descriptor; these "
7558 "signals are silently ignored if specified in I<mask>."
7559 msgstr ""
7560 "I<mask> 引き数には、呼び出し元がこのファイルディスクリプタ経由で受け付けたい "
7561 "シグナル集合を指定する。この引き数で指定するシグナル集合の内容は、 "
7562 "B<sigsetops>(3)  で説明されているマクロを使って初期化することができる。 通"
7563 "常、ファイルディスクリプタ経由で受信するシグナル集合は、 そのシグナルがデフォ"
7564 "ルトの配送方法に基いて処理されるのを防ぐために、 B<sigprocmask>(2)  を使って"
7565 "ブロックしておくべきである。 シグナル B<SIGKILL> と B<SIGSTOP> を signalfd "
7566 "ファイルディスクリプタ経由で受信することはできない。 これらのシグナルが "
7567 "I<mask> で指定された場合には黙って無視される。"
7568
7569 #. type: Plain text
7570 #: build/C/man2/signalfd.2:71
7571 msgid ""
7572 "If the I<fd> argument is -1, then the call creates a new file descriptor and "
7573 "associates the signal set specified in I<mask> with that descriptor.  If "
7574 "I<fd> is not -1, then it must specify a valid existing signalfd file "
7575 "descriptor, and I<mask> is used to replace the signal set associated with "
7576 "that descriptor."
7577 msgstr ""
7578 "I<fd> 引き数が -1 の場合、 B<signalfd>()  は新しいファイルディスクリプタを生"
7579 "成し、 I<mask> で指定されたシグナル集合をそのファイルディスクリプタに関連付け"
7580 "る。 I<fd> 引き数が -1 以外の場合、 I<fd> には有効な既存の signalfd ファイル"
7581 "ディスクリプタを指定しなければならず、 そのディスクリプタに関連付けられている"
7582 "シグナル集合は I<mask> を使って置き換えられる。"
7583
7584 #. type: Plain text
7585 #: build/C/man2/signalfd.2:76
7586 msgid ""
7587 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
7588 "I<flags> to change the behaviour of B<signalfd>():"
7589 msgstr ""
7590 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
7591 "ることで、 B<signalfd>()  の振舞いを変更することができる。"
7592
7593 #. type: TP
7594 #: build/C/man2/signalfd.2:76
7595 #, no-wrap
7596 msgid "B<SFD_NONBLOCK>"
7597 msgstr "B<SFD_NONBLOCK>"
7598
7599 #. type: TP
7600 #: build/C/man2/signalfd.2:84
7601 #, no-wrap
7602 msgid "B<SFD_CLOEXEC>"
7603 msgstr "B<SFD_CLOEXEC>"
7604
7605 #. type: Plain text
7606 #: build/C/man2/signalfd.2:101
7607 msgid ""
7608 "B<signalfd>()  returns a file descriptor that supports the following "
7609 "operations:"
7610 msgstr ""
7611 "B<signalfd>()  が返すファイルディスクリプタは以下の操作をサポートしている。"
7612
7613 #. type: Plain text
7614 #: build/C/man2/signalfd.2:120
7615 msgid ""
7616 "If one or more of the signals specified in I<mask> is pending for the "
7617 "process, then the buffer supplied to B<read>(2)  is used to return one or "
7618 "more I<signalfd_siginfo> structures (see below) that describe the signals.  "
7619 "The B<read>(2)  returns information for as many signals as are pending and "
7620 "will fit in the supplied buffer.  The buffer must be at least I<sizeof"
7621 "(struct signalfd_siginfo)> bytes.  The return value of the B<read>(2)  is "
7622 "the total number of bytes read."
7623 msgstr ""
7624 "I<mask> に指定されているシグナルのうち一つ以上がそのプロセスに対して 処理待"
7625 "ち (pending) であれば、それらのシグナルの情報が B<read>(2)  に渡されたバッ"
7626 "ファを使って、 I<signalfd_siginfo> 構造体に格納されて返される。 B<read>(2)  "
7627 "は、バッファに格納可能な範囲でできるだけ多くの処理待ちのシグナルに ついての情"
7628 "報を返す。 バッファは最低でも I<sizeof(struct signalfd_siginfo)> バイトの大き"
7629 "さがなければならない。 B<read>(2)  の返り値は読み出されたトータルのバイト数で"
7630 "ある。"
7631
7632 #. type: Plain text
7633 #: build/C/man2/signalfd.2:128
7634 msgid ""
7635 "As a consequence of the B<read>(2), the signals are consumed, so that they "
7636 "are no longer pending for the process (i.e., will not be caught by signal "
7637 "handlers, and cannot be accepted using B<sigwaitinfo>(2))."
7638 msgstr ""
7639 "B<read>(2)  が行われた結果、シグナルは消費され、 これらのシグナルはそのプロセ"
7640 "スに対しては処理待ちではなくなる (つまり、シグナルハンドラで捕捉されることも"
7641 "なく、 B<sigwaitinfo>(2)  を使って受け取ることもできなくなる)。"
7642
7643 #. type: Plain text
7644 #: build/C/man2/signalfd.2:139
7645 msgid ""
7646 "If none of the signals in I<mask> is pending for the process, then the "
7647 "B<read>(2)  either blocks until one of the signals in I<mask> is generated "
7648 "for the process, or fails with the error B<EAGAIN> if the file descriptor "
7649 "has been made nonblocking."
7650 msgstr ""
7651 "I<mask> に指定されているシグナルがそのプロセスに対して一つも処理待ちでなけれ"
7652 "ば、 B<read>(2)  は、 I<mask> で指定されたシグナルのうちいずれか一つがそのプ"
7653 "ロセスに対して発生するまで 停止 (block) する、もしくはファイルディスクリプタ"
7654 "が非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
7655
7656 #. type: Plain text
7657 #: build/C/man2/signalfd.2:152
7658 msgid ""
7659 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
7660 "B<poll>(2)  B<POLLIN> flag)  if one or more of the signals in I<mask> is "
7661 "pending for the process."
7662 msgstr ""
7663 "I<mask> に指定されたシグナルのうち一つ以上がそのプロセスに対して処理待ちであ"
7664 "れば、 ファイルディスクリプタは読み出し可能となる (B<select>(2)  の "
7665 "I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
7666
7667 #. type: Plain text
7668 #: build/C/man2/signalfd.2:159
7669 msgid ""
7670 "The signalfd file descriptor also supports the other file-descriptor "
7671 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
7672 msgstr ""
7673 "signalfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
7674 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
7675
7676 #. type: Plain text
7677 #: build/C/man2/signalfd.2:164
7678 msgid ""
7679 "When the file descriptor is no longer required it should be closed.  When "
7680 "all file descriptors associated with the same signalfd object have been "
7681 "closed, the resources for object are freed by the kernel."
7682 msgstr ""
7683 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
7684 "る。 同じ signalfd オブジェクトに関連付けられたファイルディスクリプタが全て "
7685 "クローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
7686
7687 #. type: SS
7688 #: build/C/man2/signalfd.2:164
7689 #, no-wrap
7690 msgid "The signalfd_siginfo structure"
7691 msgstr "signalfd_siginfo 構造体"
7692
7693 #. type: Plain text
7694 #: build/C/man2/signalfd.2:170
7695 msgid ""
7696 "The format of the I<signalfd_siginfo> structure(s) returned by B<read>(2)s "
7697 "from a signalfd file descriptor is as follows:"
7698 msgstr ""
7699 "signalfd ファイルディスクリプタからの B<read>(2)  で返される "
7700 "I<signalfd_siginfo> 構造体のフォーマットは以下の通りである。"
7701
7702 #.  ssi_trapno is unused on most arches
7703 #. type: Plain text
7704 #: build/C/man2/signalfd.2:195
7705 #, no-wrap
7706 msgid ""
7707 "struct signalfd_siginfo {\n"
7708 "    uint32_t ssi_signo;   /* Signal number */\n"
7709 "    int32_t  ssi_errno;   /* Error number (unused) */\n"
7710 "    int32_t  ssi_code;    /* Signal code */\n"
7711 "    uint32_t ssi_pid;     /* PID of sender */\n"
7712 "    uint32_t ssi_uid;     /* Real UID of sender */\n"
7713 "    int32_t  ssi_fd;      /* File descriptor (SIGIO) */\n"
7714 "    uint32_t ssi_tid;     /* Kernel timer ID (POSIX timers)\n"
7715 "    uint32_t ssi_band;    /* Band event (SIGIO) */\n"
7716 "    uint32_t ssi_overrun; /* POSIX timer overrun count */\n"
7717 "    uint32_t ssi_trapno;  /* Trap number that caused signal */\n"
7718 "    int32_t  ssi_status;  /* Exit status or signal (SIGCHLD) */\n"
7719 "    int32_t  ssi_int;     /* Integer sent by sigqueue(3) */\n"
7720 "    uint64_t ssi_ptr;     /* Pointer sent by sigqueue(3) */\n"
7721 "    uint64_t ssi_utime;   /* User CPU time consumed (SIGCHLD) */\n"
7722 "    uint64_t ssi_stime;   /* System CPU time consumed (SIGCHLD) */\n"
7723 "    uint64_t ssi_addr;    /* Address that generated signal\n"
7724 "                             (for hardware-generated signals) */\n"
7725 "    uint8_t  pad[I<X>];      /* Pad size to 128 bytes (allow for\n"
7726 "                              additional fields in the future) */\n"
7727 "};\n"
7728 msgstr ""
7729 "struct signalfd_siginfo {\n"
7730 "struct signalfd_siginfo {\n"
7731 "    uint32_t ssi_signo;   /* シグナル番号 */\n"
7732 "    int32_t  ssi_errno;   /* エラー番号 (未使用) */\n"
7733 "    int32_t  ssi_code;    /* シグナルコード */\n"
7734 "    uint32_t ssi_pid;     /* 送信元の PID */\n"
7735 "    uint32_t ssi_uid;     /* 送信元の実 UID */\n"
7736 "    int32_t  ssi_fd;      /* ファイルディスクリプタ (SIGIO) */\n"
7737 "    uint32_t ssi_tid;     /* カーネルタイマ ID (POSIX タイマ)\n"
7738 "    uint32_t ssi_band;    /* Band イベント (SIGIO) */\n"
7739 "    uint32_t ssi_overrun; /* POSIX タイマのオーバーラン回数 */\n"
7740 "    uint32_t ssi_trapno;  /* シグナルの原因となったトラップ番号 */\n"
7741 "    int32_t  ssi_status;  /* 終了ステータスかシグナル (SIGCHLD) */\n"
7742 "    int32_t  ssi_int;     /* sigqueue(3) から送られた整数 */\n"
7743 "    uint64_t ssi_ptr;     /* sigqueue(3) から送られたポインタ */\n"
7744 "    uint64_t ssi_utime;   /* 消費したユーザ CPU 時間 (SIGCHLD) */\n"
7745 "    uint64_t ssi_stime;   /* 消費したシステム CPU 時間 (SIGCHLD) */\n"
7746 "    uint64_t ssi_addr;    /* シグナルを生成したアドレス\n"
7747 "                             (ハードウェアが生成したシグナルの場合) */\n"
7748 "    uint8_t  pad[I<X>];      /* pad の大きさは 128 バイト\n"
7749 "                             (将来のフィールド追加用の場所の確保) */\n"
7750 "};\n"
7751
7752 #. type: Plain text
7753 #: build/C/man2/signalfd.2:218
7754 msgid ""
7755 "Each of the fields in this structure is analogous to the similarly named "
7756 "field in the I<siginfo_t> structure.  The I<siginfo_t> structure is "
7757 "described in B<sigaction>(2).  Not all fields in the returned "
7758 "I<signalfd_siginfo> structure will be valid for a specific signal; the set "
7759 "of valid fields can be determined from the value returned in the I<ssi_code> "
7760 "field.  This field is the analog of the I<siginfo_t> I<si_code> field; see "
7761 "B<sigaction>(2)  for details."
7762 msgstr ""
7763 "I<signalfd_siginfo> 構造体の各フィールドは、 I<siginfo_t> 構造体の同じような"
7764 "名前のフィールドと同様である。 I<siginfo_t> 構造体については B<sigaction>"
7765 "(2)  に説明がある。 返された I<signalfd_siginfo> 構造体の全てのフィールドがあ"
7766 "るシグナルに対して有効なわけではない。 どのフィールドが有効かは、 "
7767 "I<ssi_code> フィールドで返される値から判定することができる。 このフィールド"
7768 "は I<siginfo_t> の I<si_code> フィールドと同様である。詳細は B<sigaction>"
7769 "(2)  を参照。"
7770
7771 #. type: SS
7772 #: build/C/man2/signalfd.2:218 build/C/man2/timerfd_create.2:268
7773 #, no-wrap
7774 msgid "fork(2) semantics"
7775 msgstr "fork(2) での扱い"
7776
7777 #. type: Plain text
7778 #: build/C/man2/signalfd.2:226
7779 msgid ""
7780 "After a B<fork>(2), the child inherits a copy of the signalfd file "
7781 "descriptor.  A B<read>(2)  from the file descriptor in the child will return "
7782 "information about signals queued to the child."
7783 msgstr ""
7784 "B<fork>(2)  が行われると、子プロセスは signalfd ファイルディスクリプタのコ"
7785 "ピーを 継承する。 子プロセスでこのファイルディスクリプタから B<read>(2)  を行"
7786 "うと、子プロセスに対するキューに入っているシグナルに関する 情報が返される。"
7787
7788 #. type: SS
7789 #: build/C/man2/signalfd.2:226 build/C/man2/timerfd_create.2:280
7790 #, no-wrap
7791 msgid "execve(2) semantics"
7792 msgstr "execve(2) での扱い"
7793
7794 #. type: Plain text
7795 #: build/C/man2/signalfd.2:238
7796 msgid ""
7797 "Just like any other file descriptor, a signalfd file descriptor remains open "
7798 "across an B<execve>(2), unless it has been marked for close-on-exec (see "
7799 "B<fcntl>(2)).  Any signals that were available for reading before the "
7800 "B<execve>(2)  remain available to the newly loaded program.  (This is "
7801 "analogous to traditional signal semantics, where a blocked signal that is "
7802 "pending remains pending across an B<execve>(2).)"
7803 msgstr ""
7804 "他のファイルディスクリプタと全く同様に、 signalfd ファイルディスクリプタも "
7805 "B<execve>(2)  の前後でオープンされたままとなる。但し、そのファイルディスクリ"
7806 "プタに close-on-exec のマーク (B<fcntl>(2)  参照) が付いている場合はクローズ"
7807 "される。 B<execve>(2)  の前に読み出し可能となっていた全てのシグナルは新しく起"
7808 "動されたプログラム でも引き続き読み出し可能である (これは伝統的なシグナルの扱"
7809 "いと同じであり、 処理待ちのブロックされたシグナルは B<execve>(2)  の前後で処"
7810 "理待ちのままとなる)。"
7811
7812 #. type: SS
7813 #: build/C/man2/signalfd.2:238
7814 #, no-wrap
7815 msgid "Thread semantics"
7816 msgstr "スレッドでの扱い"
7817
7818 #. type: Plain text
7819 #: build/C/man2/signalfd.2:248
7820 msgid ""
7821 "The semantics of signalfd file descriptors in a multithreaded program mirror "
7822 "the standard semantics for signals.  In other words, when a thread reads "
7823 "from a signalfd file descriptor, it will read the signals that are directed "
7824 "to the thread itself and the signals that are directed to the process (i.e., "
7825 "the entire thread group).  (A thread will not be able to read signals that "
7826 "are directed to other threads in the process.)"
7827 msgstr ""
7828 "マルチスレッドプログラムにおける signalfd ファイルディスクリプタの扱いは シグ"
7829 "ナルの標準的な扱いと全く同じである。 言い換えると、あるスレッドが signalfd "
7830 "ファイルディスクリプタから 読み出しを行うと、そのスレッド自身宛てのシグナルと"
7831 "プロセス (すなわち スレッドグループ全体) 宛てのシグナルが読み出される。 (ス"
7832 "レッドは同じプロセスの他のスレッド宛てのシグナルを読み出すことはできない。)"
7833
7834 #. type: Plain text
7835 #: build/C/man2/signalfd.2:262
7836 msgid ""
7837 "On success, B<signalfd>()  returns a signalfd file descriptor; this is "
7838 "either a new file descriptor (if I<fd> was -1), or I<fd> if I<fd> was a "
7839 "valid signalfd file descriptor.  On error, -1 is returned and I<errno> is "
7840 "set to indicate the error."
7841 msgstr ""
7842 "成功すると、 B<signalfd>()  は signalfd ファイルディスクリプタを返す。 返され"
7843 "るファイルディスクリプタは、 I<fd> が -1 の場合は新規のファイルディスクリプタ"
7844 "であり、 I<fd> が有効な signalfd ファイルディスクリプタだった場合は I<fd> 自"
7845 "身である。 エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
7846
7847 #. type: TP
7848 #: build/C/man2/signalfd.2:263 build/C/man2/timerfd_create.2:337
7849 #, no-wrap
7850 msgid "B<EBADF>"
7851 msgstr "B<EBADF>"
7852
7853 #. type: Plain text
7854 #: build/C/man2/signalfd.2:268
7855 msgid "The I<fd> file descriptor is not a valid file descriptor."
7856 msgstr "ファイルディスクリプタ I<fd> が有効なファイルディスクリプタでない。"
7857
7858 #.  or, the
7859 #.  .I sizemask
7860 #.  argument is not equal to
7861 #.  .IR sizeof(sigset_t) ;
7862 #. type: Plain text
7863 #: build/C/man2/signalfd.2:276
7864 msgid "I<fd> is not a valid signalfd file descriptor."
7865 msgstr "I<fd> が有効な signalfd ファイルディスクリプタではない。"
7866
7867 #. type: Plain text
7868 #: build/C/man2/signalfd.2:283 build/C/man2/timerfd_create.2:319
7869 msgid ""
7870 "I<flags> is invalid; or, in Linux 2.6.26 or earlier, I<flags> is nonzero."
7871 msgstr ""
7872 "I<flags> が無効である。もしくは、Linux 2.6.26 以前の場合には I<flags> が 0 以"
7873 "外である。"
7874
7875 #. type: Plain text
7876 #: build/C/man2/signalfd.2:286 build/C/man2/timerfd_create.2:322
7877 msgid "The per-process limit of open file descriptors has been reached."
7878 msgstr ""
7879 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
7880
7881 #. type: Plain text
7882 #: build/C/man2/signalfd.2:296
7883 msgid "There was insufficient memory to create a new signalfd file descriptor."
7884 msgstr ""
7885 "新しい signalfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
7886
7887 #.  signalfd() is in glibc 2.7, but reportedly does not build
7888 #. type: Plain text
7889 #: build/C/man2/signalfd.2:304
7890 msgid ""
7891 "B<signalfd>()  is available on Linux since kernel 2.6.22.  Working support "
7892 "is provided in glibc since version 2.8.  The B<signalfd4>()  system call "
7893 "(see NOTES) is available on Linux since kernel 2.6.27."
7894 msgstr ""
7895 "B<signalfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
7896 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<signalfd4>()  "
7897 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
7898 "る。"
7899
7900 #. type: Plain text
7901 #: build/C/man2/signalfd.2:309
7902 msgid "B<signalfd>()  and B<signalfd4>()  are Linux-specific."
7903 msgstr "B<signalfd>()  と B<signalfd4>()  は Linux 固有である。"
7904
7905 #. type: Plain text
7906 #: build/C/man2/signalfd.2:319
7907 msgid ""
7908 "The underlying Linux system call requires an additional argument, I<size_t "
7909 "sizemask>, which specifies the size of the I<mask> argument.  The glibc "
7910 "B<signalfd>()  wrapper function does not include this argument, since it "
7911 "provides the required value for the underlying system call."
7912 msgstr ""
7913 "実際の Linux のシステムコールでは I<size_t sizemask> という引き数が追加で必要"
7914 "である。この引き数で I<mask> のサイズを指定する。 glibc の B<signalfd>()  "
7915 "ラッパー関数にはこの引き数は含まれず、 ラッパー関数が必要な値を計算して内部で"
7916 "呼び出すシステムコールに提供する。"
7917
7918 #. type: Plain text
7919 #: build/C/man2/signalfd.2:333
7920 msgid ""
7921 "A process can create multiple signalfd file descriptors.  This makes it "
7922 "possible to accept different signals on different file descriptors.  (This "
7923 "may be useful if monitoring the file descriptors using B<select>(2), B<poll>"
7924 "(2), or B<epoll>(7): the arrival of different signals will make different "
7925 "descriptors ready.)  If a signal appears in the I<mask> of more than one of "
7926 "the file descriptors, then occurrences of that signal can be read (once) "
7927 "from any one of the descriptors."
7928 msgstr ""
7929 "一つのプロセスは複数の signalfd ファイルディスクリプタを生成することができ"
7930 "る。 これにより、異なるファイルディスクリプタで異なるシグナルを受け取ること"
7931 "が できる (この機能は B<select>(2), B<poll>(2), B<epoll>(7)  を使ってファイル"
7932 "ディスクリプタを監視する場合に有用かもしれない。 異なるシグナルが到着すると、"
7933 "異なるファイルディスクリプタが利用可能に なるからだ)。 一つのシグナルが二つ以"
7934 "上のファイルディスクリプタの I<mask> に含まれている場合、そのシグナルの発生は"
7935 "そのシグナルを I<mask> に含むファイルディスクリプタのうちいずれか一つから読み"
7936 "出すことができる。"
7937
7938 #. type: Plain text
7939 #: build/C/man2/signalfd.2:349
7940 msgid ""
7941 "There are two underlying Linux system calls: B<signalfd>()  and the more "
7942 "recent B<signalfd4>().  The former system call does not implement a I<flags> "
7943 "argument.  The latter system call implements the I<flags> values described "
7944 "above.  Starting with glibc 2.9, the B<signalfd>()  wrapper function will "
7945 "use B<signalfd4>()  where it is available."
7946 msgstr ""
7947 "下層にある Linux システムコールは二種類あり、 B<signalfd>()  と、もっと新し"
7948 "い B<signalfd4>()  である。 B<signalfd>()  は I<flags> 引き数を実装していな"
7949 "い。 B<signalfd4>()  では上記の値の I<flags> が実装されている。 glibc 2.9 以"
7950 "降では、 B<signalfd>()  のラッパー関数は、 B<signalfd4>()  が利用可能であれ"
7951 "ば、これを使用する。"
7952
7953 #.  The fix also was put into 2.6.24.5
7954 #. type: Plain text
7955 #: build/C/man2/signalfd.2:357
7956 msgid ""
7957 "In kernels before 2.6.25, the I<ssi_ptr> and I<ssi_int> fields are not "
7958 "filled in with the data accompanying a signal sent by B<sigqueue>(3)."
7959 msgstr ""
7960 "カーネル 2.6.25 より前では、 B<sigqueue>(3)  により送信されたシグナルと一緒に"
7961 "渡されるデータでは、フィールド I<ssi_ptr> と I<ssi_int> は設定されない。"
7962
7963 #. type: Plain text
7964 #: build/C/man2/signalfd.2:367
7965 msgid ""
7966 "The program below accepts the signals B<SIGINT> and B<SIGQUIT> via a "
7967 "signalfd file descriptor.  The program terminates after accepting a "
7968 "B<SIGQUIT> signal.  The following shell session demonstrates the use of the "
7969 "program:"
7970 msgstr ""
7971 "下記のプログラムは、シグナル B<SIGINT> と B<SIGQUIT> を signalfd ファイルディ"
7972 "スクリプタ経由で受信する。 シグナル B<SIGQUIT> 受信後にプログラムは終了す"
7973 "る。 以下に示すシェルセッションにこのプログラムの使い方を示す。"
7974
7975 #. type: Plain text
7976 #: build/C/man2/signalfd.2:378
7977 #, no-wrap
7978 msgid ""
7979 "$B< ./signalfd_demo>\n"
7980 "B<^C>                   # Control-C generates SIGINT\n"
7981 "Got SIGINT\n"
7982 "B<^C>\n"
7983 "Got SIGINT\n"
7984 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
7985 "Got SIGQUIT\n"
7986 "$\n"
7987 msgstr ""
7988 "$B< ./signalfd_demo>\n"
7989 "B<^C>                   # Control-C generates SIGINT\n"
7990 "Got SIGINT\n"
7991 "B<^C>\n"
7992 "Got SIGINT\n"
7993 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
7994 "Got SIGQUIT\n"
7995 "$\n"
7996
7997 #. type: Plain text
7998 #: build/C/man2/signalfd.2:388
7999 #, no-wrap
8000 msgid ""
8001 "#include E<lt>sys/signalfd.hE<gt>\n"
8002 "#include E<lt>signal.hE<gt>\n"
8003 "#include E<lt>unistd.hE<gt>\n"
8004 "#include E<lt>stdlib.hE<gt>\n"
8005 "#include E<lt>stdio.hE<gt>\n"
8006 msgstr ""
8007 "#include E<lt>sys/signalfd.hE<gt>\n"
8008 "#include E<lt>signal.hE<gt>\n"
8009 "#include E<lt>unistd.hE<gt>\n"
8010 "#include E<lt>stdlib.hE<gt>\n"
8011 "#include E<lt>stdio.hE<gt>\n"
8012
8013 #. type: Plain text
8014 #: build/C/man2/signalfd.2:399
8015 #, no-wrap
8016 msgid ""
8017 "int\n"
8018 "main(int argc, char *argv[])\n"
8019 "{\n"
8020 "    sigset_t mask;\n"
8021 "    int sfd;\n"
8022 "    struct signalfd_siginfo fdsi;\n"
8023 "    ssize_t s;\n"
8024 msgstr ""
8025 "int\n"
8026 "main(int argc, char *argv[])\n"
8027 "{\n"
8028 "    sigset_t mask;\n"
8029 "    int sfd;\n"
8030 "    struct signalfd_siginfo fdsi;\n"
8031 "    ssize_t s;\n"
8032
8033 #. type: Plain text
8034 #: build/C/man2/signalfd.2:403
8035 #, no-wrap
8036 msgid ""
8037 "    sigemptyset(&mask);\n"
8038 "    sigaddset(&mask, SIGINT);\n"
8039 "    sigaddset(&mask, SIGQUIT);\n"
8040 msgstr ""
8041 "    sigemptyset(&mask);\n"
8042 "    sigaddset(&mask, SIGINT);\n"
8043 "    sigaddset(&mask, SIGQUIT);\n"
8044
8045 #. type: Plain text
8046 #: build/C/man2/signalfd.2:406
8047 #, no-wrap
8048 msgid ""
8049 "    /* Block signals so that they aren\\(aqt handled\n"
8050 "       according to their default dispositions */\n"
8051 msgstr ""
8052 "    /* Block signals so that they aren\\(aqt handled\n"
8053 "       according to their default dispositions */\n"
8054
8055 #. type: Plain text
8056 #: build/C/man2/signalfd.2:409
8057 #, no-wrap
8058 msgid ""
8059 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8060 "        handle_error(\"sigprocmask\");\n"
8061 msgstr ""
8062 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8063 "        handle_error(\"sigprocmask\");\n"
8064
8065 #. type: Plain text
8066 #: build/C/man2/signalfd.2:413
8067 #, no-wrap
8068 msgid ""
8069 "    sfd = signalfd(-1, &mask, 0);\n"
8070 "    if (sfd == -1)\n"
8071 "        handle_error(\"signalfd\");\n"
8072 msgstr ""
8073 "    sfd = signalfd(-1, &mask, 0);\n"
8074 "    if (sfd == -1)\n"
8075 "        handle_error(\"signalfd\");\n"
8076
8077 #. type: Plain text
8078 #: build/C/man2/signalfd.2:418
8079 #, no-wrap
8080 msgid ""
8081 "    for (;;) {\n"
8082 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8083 "        if (s != sizeof(struct signalfd_siginfo))\n"
8084 "            handle_error(\"read\");\n"
8085 msgstr ""
8086 "    for (;;) {\n"
8087 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8088 "        if (s != sizeof(struct signalfd_siginfo))\n"
8089 "            handle_error(\"read\");\n"
8090
8091 #. type: Plain text
8092 #: build/C/man2/signalfd.2:429
8093 #, no-wrap
8094 msgid ""
8095 "        if (fdsi.ssi_signo == SIGINT) {\n"
8096 "            printf(\"Got SIGINT\\en\");\n"
8097 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8098 "            printf(\"Got SIGQUIT\\en\");\n"
8099 "            exit(EXIT_SUCCESS);\n"
8100 "        } else {\n"
8101 "            printf(\"Read unexpected signal\\en\");\n"
8102 "        }\n"
8103 "    }\n"
8104 "}\n"
8105 msgstr ""
8106 "        if (fdsi.ssi_signo == SIGINT) {\n"
8107 "            printf(\"Got SIGINT\\en\");\n"
8108 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8109 "            printf(\"Got SIGQUIT\\en\");\n"
8110 "            exit(EXIT_SUCCESS);\n"
8111 "        } else {\n"
8112 "            printf(\"Read unexpected signal\\en\");\n"
8113 "        }\n"
8114 "    }\n"
8115 "}\n"
8116
8117 #. type: Plain text
8118 #: build/C/man2/signalfd.2:443
8119 msgid ""
8120 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8121 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8122 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8123 msgstr ""
8124 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8125 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8126 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8127
8128 #. type: TH
8129 #: build/C/man3/sigpause.3:23
8130 #, no-wrap
8131 msgid "SIGPAUSE"
8132 msgstr "SIGPAUSE"
8133
8134 #. type: TH
8135 #: build/C/man3/sigpause.3:23
8136 #, no-wrap
8137 msgid "2010-09-12"
8138 msgstr "2010-09-12"
8139
8140 #. type: Plain text
8141 #: build/C/man3/sigpause.3:26
8142 msgid "sigpause - atomically release blocked signals and wait for interrupt"
8143 msgstr "sigpause - ブロックされたシグナルをアトミックに解放して割り込みを待つ"
8144
8145 #. type: Plain text
8146 #: build/C/man3/sigpause.3:31
8147 #, no-wrap
8148 msgid "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8149 msgstr "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8150
8151 #. type: Plain text
8152 #: build/C/man3/sigpause.3:33
8153 #, no-wrap
8154 msgid "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8155 msgstr "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8156
8157 #. type: Plain text
8158 #: build/C/man3/sigpause.3:39
8159 msgid "Don't use this function.  Use B<sigsuspend>(2)  instead."
8160 msgstr "この関数を使わないこと。 代わりに B<sigsuspend>(2)  を使うこと。"
8161
8162 #. type: Plain text
8163 #: build/C/man3/sigpause.3:46
8164 msgid ""
8165 "The function B<sigpause>()  is designed to wait for some signal.  It changes "
8166 "the process's signal mask (set of blocked signals), and then waits for a "
8167 "signal to arrive.  Upon arrival of a signal, the original signal mask is "
8168 "restored."
8169 msgstr ""
8170 "関数 B<sigpause>()  はシグナルを待つように設計されている。 この関数はプロセス"
8171 "のシグナルマスク (ブロックされたシグナルのセット) を変更し、 シグナルが到着す"
8172 "るのを待つ。 シグナルが到着すると、シグナルマスクは元に戻される。"
8173
8174 #. type: Plain text
8175 #: build/C/man3/sigpause.3:54
8176 msgid ""
8177 "If B<sigpause>()  returns, it was interrupted by a signal and the return "
8178 "value is -1 with I<errno> set to B<EINTR>."
8179 msgstr ""
8180 "B<sigpause>()  が返った場合、この関数はシグナルによって割り込まれている。 返"
8181 "り値は -1 で、 I<errno> は B<EINTR> に設定される。"
8182
8183 #. type: Plain text
8184 #: build/C/man3/sigpause.3:58
8185 msgid "The System V version of B<sigpause>()  is standardized in POSIX.1-2001."
8186 msgstr "System V 版の B<sigpause>()  は POSIX.1-2001 で標準化されている。"
8187
8188 #.  __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
8189 #. type: Plain text
8190 #: build/C/man3/sigpause.3:75
8191 msgid ""
8192 "The classical BSD version of this function appeared in 4.2BSD.  It sets the "
8193 "process's signal mask to I<sigmask>.  UNIX 95 standardized the incompatible "
8194 "System V version of this function, which removes only the specified signal "
8195 "I<sig> from the process's signal mask.  The unfortunate situation with two "
8196 "incompatible functions with the same name was solved by the B<\\%sigsuspend>"
8197 "(2)  function, that takes a I<sigset_t *> argument (instead of an I<int>)."
8198 msgstr ""
8199 "この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナル"
8200 "マスクを I<sigmask> に設定する。 UNIX 95 では BSD 版と互換性のない System V "
8201 "版のこの関数が標準化された。 UNIX 95 版は、指定されたシグナル I<sig> をプロセ"
8202 "スのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2 つの関数"
8203 "があるという不幸な事態は、 B<\\%sigsuspend>(2)  関数によって解消された。 この"
8204 "関数は (I<int> の代わりに)  B<sigset_t *> 引き数をとる。"
8205
8206 #. type: Plain text
8207 #: build/C/man3/sigpause.3:78
8208 msgid ""
8209 "On Linux, this routine is a system call only on the Sparc (sparc64)  "
8210 "architecture."
8211 msgstr ""
8212 "Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコー"
8213 "ルとなっている。"
8214
8215 #. type: Plain text
8216 #: build/C/man3/sigpause.3:80
8217 msgid "Libc4 and libc5 only know about the BSD version."
8218 msgstr "libc4 と libc5 には BSD 版しかない。"
8219
8220 #.  For the BSD version, one usually uses a zero
8221 #.  .I sigmask
8222 #.  to indicate that no signals are to be blocked.
8223 #. type: Plain text
8224 #: build/C/man3/sigpause.3:96
8225 msgid ""
8226 "Glibc uses the BSD version if the B<_BSD_SOURCE> feature test macro is "
8227 "defined and none of B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, "
8228 "B<_GNU_SOURCE>, or B<_SVID_SOURCE> is defined.  Otherwise, the System V "
8229 "version is used."
8230 msgstr ""
8231 "機能検査マクロ B<_BSD_SOURCE> が定義され、 B<_POSIX_SOURCE>, "
8232 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, B<_SVID_SOURCE> のいず"
8233 "れも定義されていない場合、 glibc は BSD 版を使う。 それ以外の場合には、"
8234 "System V 版を使用する。"
8235
8236 #. type: Plain text
8237 #: build/C/man3/sigpause.3:104
8238 msgid ""
8239 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8240 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8241 msgstr ""
8242 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8243 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8244
8245 #. type: TH
8246 #: build/C/man2/sigpending.2:27
8247 #, no-wrap
8248 msgid "SIGPENDING"
8249 msgstr "SIGPENDING"
8250
8251 #. type: TH
8252 #: build/C/man2/sigpending.2:27
8253 #, no-wrap
8254 msgid "2008-10-04"
8255 msgstr "2008-10-04"
8256
8257 #. type: Plain text
8258 #: build/C/man2/sigpending.2:30
8259 msgid "sigpending - examine pending signals"
8260 msgstr "sigpending - 処理待ちのシグナルの検査"
8261
8262 #. type: Plain text
8263 #: build/C/man2/sigpending.2:34
8264 msgid "B<int sigpending(sigset_t *>I<set>B<);>"
8265 msgstr "B<int sigpending(sigset_t *>I<set>B<);>"
8266
8267 #. type: Plain text
8268 #: build/C/man2/sigpending.2:43
8269 msgid ""
8270 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8271 "_POSIX_SOURCE"
8272 msgstr ""
8273 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8274 "_POSIX_SOURCE"
8275
8276 #. type: Plain text
8277 #: build/C/man2/sigpending.2:51
8278 msgid ""
8279 "B<sigpending>()  returns the set of signals that are pending for delivery to "
8280 "the calling thread (i.e., the signals which have been raised while "
8281 "blocked).  The mask of pending signals is returned in I<set>."
8282 msgstr ""
8283 "B<sigpending>()  は、呼び出し元のスレッドへの配送を待っている (pending) シグ"
8284 "ナル集合 (すなわち、禁止中に発生したシグナル) を返す。 処理待ちのシグナルのマ"
8285 "スクが I<set> に格納される。"
8286
8287 #. type: Plain text
8288 #: build/C/man2/sigpending.2:54
8289 msgid "B<sigpending>()  returns 0 on success and -1 on error."
8290 msgstr "B<sigpending>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8291
8292 #. type: Plain text
8293 #: build/C/man2/sigpending.2:59
8294 msgid ""
8295 "I<set> points to memory which is not a valid part of the process address "
8296 "space."
8297 msgstr ""
8298 "I<set> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
8299
8300 #. type: Plain text
8301 #: build/C/man2/sigpending.2:70
8302 msgid ""
8303 "The set of signals that is pending for a thread is the union of the set of "
8304 "signals that is pending for that thread and the set of signals that is "
8305 "pending for the process as a whole; see B<signal>(7)."
8306 msgstr ""
8307 "あるスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体への処理待ち"
8308 "のシグナル集合と、プロセス全体への処理待ちの シグナル集合をあわせたものであ"
8309 "る。 B<signal>(7)  参照。"
8310
8311 #. type: Plain text
8312 #: build/C/man2/sigpending.2:82
8313 msgid ""
8314 "In versions of glibc up to and including 2.2.1, there is a bug in the "
8315 "wrapper function for B<sigpending>()  which means that information about "
8316 "pending real-time signals is not correctly returned."
8317 msgstr ""
8318 "バージョン 2.2.1 以前の glibc では、 B<sigpending>()  のラッパー関数に、処理"
8319 "待ちのリアルタイムシグナルに関する情報が 正しく返されないというバグがある。"
8320
8321 #. type: Plain text
8322 #: build/C/man2/sigpending.2:90
8323 msgid ""
8324 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8325 "(2), B<sigsetops>(3), B<signal>(7)"
8326 msgstr ""
8327 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8328 "(2), B<sigsetops>(3), B<signal>(7)"
8329
8330 #. type: TH
8331 #: build/C/man2/sigprocmask.2:27
8332 #, no-wrap
8333 msgid "SIGPROCMASK"
8334 msgstr "SIGPROCMASK"
8335
8336 #. type: Plain text
8337 #: build/C/man2/sigprocmask.2:30
8338 msgid "sigprocmask - examine and change blocked signals"
8339 msgstr "sigprocmask - 禁止するシグナルの確認と変更"
8340
8341 #. type: Plain text
8342 #: build/C/man2/sigprocmask.2:35
8343 msgid ""
8344 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8345 "*>I<oldset>B<);>"
8346 msgstr ""
8347 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8348 "*>I<oldset>B<);>"
8349
8350 #. type: Plain text
8351 #: build/C/man2/sigprocmask.2:44
8352 msgid ""
8353 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8354 "_POSIX_SOURCE"
8355 msgstr ""
8356 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8357 "_POSIX_SOURCE"
8358
8359 #. type: Plain text
8360 #: build/C/man2/sigprocmask.2:53
8361 msgid ""
8362 "B<sigprocmask>()  is used to fetch and/or change the signal mask of the "
8363 "calling thread.  The signal mask is the set of signals whose delivery is "
8364 "currently blocked for the caller (see also B<signal>(7)  for more details)."
8365 msgstr ""
8366 "B<sigprocmask>()  を使うと、呼び出したスレッドのシグナルマスクの取得/変更がで"
8367 "きる。 シグナルマスクは、呼び出し元に対して現在配送が禁止されているシグナル"
8368 "の 集合のことである (詳細については B<signal>(7)  も参照のこと)。"
8369
8370 #. type: Plain text
8371 #: build/C/man2/sigprocmask.2:57
8372 msgid ""
8373 "The behavior of the call is dependent on the value of I<how>, as follows."
8374 msgstr "このコールの動作は I<how> の値によって決まる:"
8375
8376 #. type: TP
8377 #: build/C/man2/sigprocmask.2:57
8378 #, no-wrap
8379 msgid "B<SIG_BLOCK>"
8380 msgstr "B<SIG_BLOCK>"
8381
8382 #. type: Plain text
8383 #: build/C/man2/sigprocmask.2:62
8384 msgid ""
8385 "The set of blocked signals is the union of the current set and the I<set> "
8386 "argument."
8387 msgstr ""
8388 "禁止されたシグナルの集合は現在の値と I<set> 引き数を結合したものとなる。"
8389
8390 #. type: TP
8391 #: build/C/man2/sigprocmask.2:62
8392 #, no-wrap
8393 msgid "B<SIG_UNBLOCK>"
8394 msgstr "B<SIG_UNBLOCK>"
8395
8396 #. type: Plain text
8397 #: build/C/man2/sigprocmask.2:68
8398 msgid ""
8399 "The signals in I<set> are removed from the current set of blocked signals.  "
8400 "It is permissible to attempt to unblock a signal which is not blocked."
8401 msgstr ""
8402 "現在禁止されているシグナルの集合から I<set> にあるシグナルを取り除く。禁止さ"
8403 "れていないシグナルを取り除こうと することも認められている。"
8404
8405 #. type: TP
8406 #: build/C/man2/sigprocmask.2:68
8407 #, no-wrap
8408 msgid "B<SIG_SETMASK>"
8409 msgstr "B<SIG_SETMASK>"
8410
8411 #. type: Plain text
8412 #: build/C/man2/sigprocmask.2:72
8413 msgid "The set of blocked signals is set to the argument I<set>."
8414 msgstr "禁止されているシグナルの集合に I<set> 引き数を設定する。"
8415
8416 #. type: Plain text
8417 #: build/C/man2/sigprocmask.2:77
8418 msgid ""
8419 "If I<oldset> is non-NULL, the previous value of the signal mask is stored in "
8420 "I<oldset>."
8421 msgstr ""
8422 "I<oldset> が NULL でなければ、シグナルマスクの今までの値を I<oldset> に格納す"
8423 "る。"
8424
8425 #. type: Plain text
8426 #: build/C/man2/sigprocmask.2:86
8427 msgid ""
8428 "If I<set> is NULL, then the signal mask is unchanged (i.e., I<how> is "
8429 "ignored), but the current value of the signal mask is nevertheless returned "
8430 "in I<oldset> (if it is not NULL)."
8431 msgstr ""
8432 "I<set> が NULL であれば、シグナルマスクは変更されない (すなわち、 I<how> は無"
8433 "視される)。 I<set> の値にかかわらず、現在のシグナルマスクの値は I<oldset> に"
8434 "入れて返される (但し、 I<oldset> が NULL でない場合)。"
8435
8436 #. type: Plain text
8437 #: build/C/man2/sigprocmask.2:91
8438 msgid ""
8439 "The use of B<sigprocmask>()  is unspecified in a multithreaded process; see "
8440 "B<pthread_sigmask>(3)."
8441 msgstr ""
8442 "マルチスレッドのプロセスで B<sigprocmask>()  を使用した場合の動作は規定されて"
8443 "いない。 B<pthread_sigmask>(3)  を参照のこと。"
8444
8445 #. type: Plain text
8446 #: build/C/man2/sigprocmask.2:94
8447 msgid "B<sigprocmask>()  returns 0 on success and -1 on error."
8448 msgstr "B<sigprocmask>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8449
8450 #. type: Plain text
8451 #: build/C/man2/sigprocmask.2:99
8452 msgid "B<EINVAL> The value specified in I<how> was invalid."
8453 msgstr "B<EINVAL> I<how> に指定された値が有効ではない。"
8454
8455 #. type: Plain text
8456 #: build/C/man2/sigprocmask.2:105
8457 msgid ""
8458 "It is not possible to block B<SIGKILL> or B<SIGSTOP>.  Attempts to do so are "
8459 "silently ignored."
8460 msgstr ""
8461 "B<SIGKILL> や B<SIGSTOP> を禁止することはできない。 禁止しようとしても黙って"
8462 "無視される。"
8463
8464 #. type: Plain text
8465 #: build/C/man2/sigprocmask.2:107
8466 msgid "Each of the threads in a process has its own signal mask."
8467 msgstr "プロセス内の各スレッドはそれぞれ専用のシグナルマスクを持つ。"
8468
8469 #. type: Plain text
8470 #: build/C/man2/sigprocmask.2:127
8471 msgid ""
8472 "If B<SIGBUS>, B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> are generated while they "
8473 "are blocked, the result is undefined, unless the signal was generated by "
8474 "B<kill>(2), B<sigqueue>(3), or B<raise>(3)."
8475 msgstr ""
8476 "シグナル B<SIGBUS>, B<SIGFPE>, B<SIGILL>, B<SIGSEGV> が禁止されている間に生成"
8477 "された場合で、 そのシグナルが B<kill>(2), B<sigqueue>(3), B<raise>(3)  によっ"
8478 "て生成されたものでないときには、 その後の動作は未定義である。"
8479
8480 #. type: Plain text
8481 #: build/C/man2/sigprocmask.2:142
8482 msgid ""
8483 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8484 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8485 "B<signal>(7)"
8486 msgstr ""
8487 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8488 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8489 "B<signal>(7)"
8490
8491 #. type: TH
8492 #: build/C/man3/sigqueue.3:26
8493 #, no-wrap
8494 msgid "SIGQUEUE"
8495 msgstr "SIGQUEUE"
8496
8497 #. type: Plain text
8498 #: build/C/man3/sigqueue.3:29
8499 msgid "sigqueue, rt_sigqueueinfo - queue a signal and data to a process"
8500 msgstr "sigqueue, rt_sigqueueinfo - シグナルとデータをプロセスに送る"
8501
8502 #. type: Plain text
8503 #: build/C/man3/sigqueue.3:33
8504 msgid ""
8505 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8506 ">I<value>B<);>"
8507 msgstr ""
8508 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8509 ">I<value>B<);>"
8510
8511 #. type: Plain text
8512 #: build/C/man3/sigqueue.3:41
8513 msgid "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8514 msgstr "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8515
8516 #. type: Plain text
8517 #: build/C/man3/sigqueue.3:53
8518 msgid ""
8519 "B<sigqueue>()  sends the signal specified in I<sig> to the process whose PID "
8520 "is given in I<pid>.  The permissions required to send a signal are the same "
8521 "as for B<kill>(2).  As with B<kill>(2), the null signal (0) can be used to "
8522 "check if a process with a given PID exists."
8523 msgstr ""
8524 "B<sigqueue>()  は I<sig> で指定されたシグナルを、PID が I<pid> であるプロセス"
8525 "に送る。 シグナルを送るのに必要な権限は B<kill>(2)  と同じである。 B<kill>"
8526 "(2)  と同様に、ヌル・シグナル (0) を使って 指定した PID のプロセスが存在する"
8527 "かをチェックすることができる。"
8528
8529 #. type: Plain text
8530 #: build/C/man3/sigqueue.3:58
8531 msgid ""
8532 "The I<value> argument is used to specify an accompanying item of data "
8533 "(either an integer or a pointer value) to be sent with the signal, and has "
8534 "the following type:"
8535 msgstr ""
8536 "I<value> 引き数はシグナルと一緒に送るデータの付属アイテムを指定する。 "
8537 "I<value> は (整数またはポインタの値であり) 以下のような型である。"
8538
8539 #. type: Plain text
8540 #: build/C/man3/sigqueue.3:65
8541 #, no-wrap
8542 msgid ""
8543 "union sigval {\n"
8544 "    int   sival_int;\n"
8545 "    void *sival_ptr;\n"
8546 "};\n"
8547 msgstr ""
8548 "union sigval {\n"
8549 "    int   sival_int;\n"
8550 "    void *sival_ptr;\n"
8551 "};\n"
8552
8553 #. type: Plain text
8554 #: build/C/man3/sigqueue.3:81
8555 msgid ""
8556 "If the receiving process has installed a handler for this signal using the "
8557 "B<SA_SIGINFO> flag to B<sigaction>(2), then it can obtain this data via the "
8558 "I<si_value> field of the I<siginfo_t> structure passed as the second "
8559 "argument to the handler.  Furthermore, the I<si_code> field of that "
8560 "structure will be set to B<SI_QUEUE>."
8561 msgstr ""
8562 "受取先のプロセスに、このシグナルに対するハンドラを (B<sigaction>(2)  に "
8563 "B<SA_SIGINFO> を指定して) インストールしておくと、 そのハンドラの第 2 引き数"
8564 "に渡される I<siginfo_t> 構造体の I<si_value> フィールドによって、このデータを"
8565 "取得できる。 さらに、この構造体の I<si_code> フィールドは B<SI_QUEUE> に設定"
8566 "される。"
8567
8568 #. type: Plain text
8569 #: build/C/man3/sigqueue.3:89
8570 msgid ""
8571 "On success, B<sigqueue>()  returns 0, indicating that the signal was "
8572 "successfully queued to the receiving process.  Otherwise -1 is returned and "
8573 "I<errno> is set to indicate the error."
8574 msgstr ""
8575 "成功した場合、 B<sigqueue>()  は 0 を返す。 これは受け取り側プロセスの待ち行"
8576 "列に シグナルが正しく入れられたことを示す。 失敗した場合は -1 が返され、 "
8577 "I<errno> がエラーを表す値に設定される。"
8578
8579 #. type: Plain text
8580 #: build/C/man3/sigqueue.3:100
8581 msgid "I<sig> was invalid."
8582 msgstr "I<sig> が不正である。"
8583
8584 #. type: Plain text
8585 #: build/C/man3/sigqueue.3:106
8586 msgid ""
8587 "The process does not have permission to send the signal to the receiving "
8588 "process.  For the required permissions, see B<kill>(2)."
8589 msgstr ""
8590 "このプロセスには、受け取り側プロセスにシグナルを送る権限がない。 必要な権限に"
8591 "ついては、 B<kill>(2)  を参照すること。"
8592
8593 #. type: Plain text
8594 #: build/C/man3/sigqueue.3:110
8595 msgid "No process has a PID matching I<pid>."
8596 msgstr "I<pid> にマッチする PID のプロセスがない。"
8597
8598 #. type: Plain text
8599 #: build/C/man3/sigqueue.3:112
8600 msgid "This system call first appeared in Linux 2.2."
8601 msgstr "このシステムコールは Linux 2.2 で初めて登場した。"
8602
8603 #. type: Plain text
8604 #: build/C/man3/sigqueue.3:122
8605 msgid ""
8606 "If this function results in the sending of a signal to the process that "
8607 "invoked it, and that signal was not blocked by the calling thread, and no "
8608 "other threads were willing to handle this signal (either by having it "
8609 "unblocked, or by waiting for it using B<sigwait>(3)), then at least some "
8610 "signal must be delivered to this thread before this function returns."
8611 msgstr ""
8612 "この関数を呼び出したプロセスにこの関数がシグナルを送ったときに、 シグナルが呼"
8613 "び出し側スレッドにブロックされず、 かつ (シグナルがブロックされなかった、また"
8614 "は B<sigwait>(3)  を使用するのを待っていることにより)  このシグナルを扱うス"
8615 "レッドが何もない場合は、 この関数がリターンする前に、少なくとも そのスレッド"
8616 "に対してシグナルが配送されていなければならない。"
8617
8618 #. type: Plain text
8619 #: build/C/man3/sigqueue.3:137
8620 msgid ""
8621 "On Linux, this function is implemented using the B<rt_sigqueueinfo>(2)  "
8622 "system call.  The system call differs in its third argument, which is the "
8623 "I<siginfo_t> structure that will be supplied to the receiving process's "
8624 "signal handler or returned by the receiving process's B<sigtimedwait>(2)  "
8625 "call.  Inside the glibc B<sigqueue>()  wrapper, this argument, I<uinfo>, is "
8626 "initialized as follows:"
8627 msgstr ""
8628 "Linux では、この関数は B<rt_sigqueueinfo>(2)  システムコールを使って実装され"
8629 "ている。 両者には 3 番目の引き数に違いがあり、 B<rt_sigqueueinfo>(2)  では 3 "
8630 "番目の引き数は I<siginfo_t> 構造体である。 I<siginfo_t> 構造体は、シグナルを"
8631 "受信するプロセスのシグナルハンドラに渡されたり、 シグナル受信プロセスの "
8632 "B<sigtimedwait>(2)  システムコールから返されたりする。 glibc の B<sigqueue>"
8633 "()  ラッパー関数内部では、 この引き数 I<uinfo> は以下のように初期化される。"
8634
8635 #. type: Plain text
8636 #: build/C/man3/sigqueue.3:145
8637 #, no-wrap
8638 msgid ""
8639 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8640 "uinfo.si_code = SI_QUEUE;\n"
8641 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8642 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8643 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8644 msgstr ""
8645 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8646 "uinfo.si_code = SI_QUEUE;\n"
8647 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8648 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8649 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8650
8651 #. type: Plain text
8652 #: build/C/man3/sigqueue.3:155
8653 msgid ""
8654 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8655 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8656 msgstr ""
8657 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8658 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8659
8660 #. type: TH
8661 #: build/C/man2/sigreturn.2:27
8662 #, no-wrap
8663 msgid "SIGRETURN"
8664 msgstr "SIGRETURN"
8665
8666 #. type: TH
8667 #: build/C/man2/sigreturn.2:27
8668 #, no-wrap
8669 msgid "2008-06-26"
8670 msgstr "2008-06-26"
8671
8672 #. type: Plain text
8673 #: build/C/man2/sigreturn.2:30
8674 msgid "sigreturn - return from signal handler and cleanup stack frame"
8675 msgstr "sigreturn - シグナル・ハンドラから返り、スタックを掃除する"
8676
8677 #. type: Plain text
8678 #: build/C/man2/sigreturn.2:32
8679 msgid "B<int sigreturn(unsigned long >I<__unused>B<);>"
8680 msgstr "B<int sigreturn(unsigned long >I<__unused>B<);>"
8681
8682 #. type: Plain text
8683 #: build/C/man2/sigreturn.2:40
8684 msgid ""
8685 "When the Linux kernel creates the stack frame for a signal handler, a call "
8686 "to B<sigreturn>()  is inserted into the stack frame so that upon return from "
8687 "the signal handler, B<sigreturn>()  will be called."
8688 msgstr ""
8689 "Linux カーネルは、 シグナル・ハンドラ用にスタック・フレームを作成する際、 "
8690 "B<sigreturn>()  をスタック・フレームに挿入し、シグナル・ハンドラが返るときに "
8691 "B<sigreturn>()  が呼ばれるようにする。"
8692
8693 #. type: Plain text
8694 #: build/C/man2/sigreturn.2:51
8695 msgid ""
8696 "This B<sigreturn>()  call undoes everything that was done\\(emchanging the "
8697 "process's signal mask, switching stacks (see B<sigaltstack>(2))\\(emin order "
8698 "to invoke the signal handler: it restores the process's signal mask, "
8699 "switches stacks, and restores the process's context (registers, processor "
8700 "flags), so that the process directly resumes execution at the point where it "
8701 "was interrupted by the signal."
8702 msgstr ""
8703 "B<sigreturn>()  は、シグナル・ハンドラを起動するために行ったことの全て \\(em "
8704 "プロセスのシグナルマスクの変更、スタックの切り替え (B<sigaltstack>(2)  参照) "
8705 "\\(em の取り消しを行う。 プロセスのシグナルマスクの復元、スタックの切り替"
8706 "え、 プロセスのコンテキスト (レジスタ、プロセッサ・フラグ) の復元を行い、 プ"
8707 "ロセスがシグナルにより割り込まれた場所からそのまま実行を 再開できるようにす"
8708 "る。"
8709
8710 #. type: Plain text
8711 #: build/C/man2/sigreturn.2:54
8712 msgid "B<sigreturn>()  never returns."
8713 msgstr "B<sigreturn>()  が返ることはない。"
8714
8715 #. type: SH
8716 #: build/C/man2/sigreturn.2:54
8717 #, no-wrap
8718 msgid "FILES"
8719 msgstr "ファイル"
8720
8721 #. type: Plain text
8722 #: build/C/man2/sigreturn.2:56
8723 msgid "/usr/src/linux/arch/i386/kernel/signal.c"
8724 msgstr "/usr/src/linux/arch/i386/kernel/signal.c"
8725
8726 #. type: Plain text
8727 #: build/C/man2/sigreturn.2:58
8728 msgid "/usr/src/linux/arch/alpha/kernel/entry.S"
8729 msgstr "/usr/src/linux/arch/alpha/kernel/entry.S"
8730
8731 #. type: Plain text
8732 #: build/C/man2/sigreturn.2:62
8733 msgid ""
8734 "B<sigreturn>()  is specific to Linux and should not be used in programs "
8735 "intended to be portable."
8736 msgstr ""
8737 "B<sigreturn>()  は Linux 特有であり、移植を意図したプログラムでは使用してはい"
8738 "けない。"
8739
8740 #. type: Plain text
8741 #: build/C/man2/sigreturn.2:72
8742 msgid ""
8743 "The B<sigreturn>()  call is used by the kernel to implement signal "
8744 "handlers.  It should B<never> be called directly.  Better yet, the specific "
8745 "use of the I<__unused> argument varies depending on the architecture."
8746 msgstr ""
8747 "B<sigreturn>()  コールは、シグナル・ハンドラを実装するためにカーネルにより使"
8748 "用される。 これを直接呼び出しては B<決して> いけない。さらに I<__unused> 引き"
8749 "数がどのように使われるかはそのアーキテクチャに依存して変化する。"
8750
8751 #. type: Plain text
8752 #: build/C/man2/sigreturn.2:77
8753 msgid "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
8754 msgstr "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
8755
8756 #. type: TH
8757 #: build/C/man3/sigset.3:24
8758 #, no-wrap
8759 msgid "SIGSET"
8760 msgstr "SIGSET"
8761
8762 #. type: Plain text
8763 #: build/C/man3/sigset.3:27
8764 msgid "sigset, sighold, sigrelse, sigignore - System V signal API"
8765 msgstr "sigset, sighold, sigrelse, sigignore - System V 版シグナル API"
8766
8767 #. type: Plain text
8768 #: build/C/man3/sigset.3:33
8769 msgid "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
8770 msgstr "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
8771
8772 #. type: Plain text
8773 #: build/C/man3/sigset.3:35
8774 msgid "B<int sighold(int >I<sig>B<);>"
8775 msgstr "B<int sighold(int >I<sig>B<);>"
8776
8777 #. type: Plain text
8778 #: build/C/man3/sigset.3:37
8779 msgid "B<int sigrelse(int >I<sig>B<);>"
8780 msgstr "B<int sigrelse(int >I<sig>B<);>"
8781
8782 #. type: Plain text
8783 #: build/C/man3/sigset.3:39
8784 msgid "B<int sigignore(int >I<sig>B<);>"
8785 msgstr "B<int sigignore(int >I<sig>B<);>"
8786
8787 #. type: Plain text
8788 #: build/C/man3/sigset.3:50
8789 msgid "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
8790 msgstr "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
8791
8792 #. type: Plain text
8793 #: build/C/man3/sigset.3:54
8794 msgid ""
8795 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8796 msgstr ""
8797 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8798
8799 #. type: Plain text
8800 #: build/C/man3/sigset.3:63
8801 msgid ""
8802 "These functions are provided in glibc as a compatibility interface for "
8803 "programs that make use of the historical System V signal API.  This API is "
8804 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
8805 "B<sigprocmask>(2), etc.)"
8806 msgstr ""
8807 "これらの関数は、昔ながらの System V 版シグナル API を使用しているプログラム "
8808 "に対して互換性のあるインタフェースを glibc で提供するものである。 この API は"
8809 "過去のものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>"
8810 "(2), B<sigprocmask>(2)  など) を使用すべきである。"
8811
8812 #. type: Plain text
8813 #: build/C/man3/sigset.3:72
8814 msgid ""
8815 "The B<sigset>()  function modifies the disposition of the signal I<sig>.  "
8816 "The I<disp> argument can be the address of a signal handler function, or one "
8817 "of the following constants:"
8818 msgstr ""
8819 "関数 B<sigset>()  はシグナル I<sig> のシグナルハンドラの動作を変更する。 "
8820 "I<disp> 引き数には、シグナルハンドラ関数のアドレスか、 以下の定数のいずれか一"
8821 "つを指定できる。"
8822
8823 #. type: TP
8824 #: build/C/man3/sigset.3:72
8825 #, no-wrap
8826 msgid "B<SIG_DFL>"
8827 msgstr "B<SIG_DFL>"
8828
8829 #. type: Plain text
8830 #: build/C/man3/sigset.3:77
8831 msgid "Reset the disposition of I<sig> to the default."
8832 msgstr "I<sig> の動作をデフォルトにリセットする。"
8833
8834 #. type: TP
8835 #: build/C/man3/sigset.3:77
8836 #, no-wrap
8837 msgid "B<SIG_IGN>"
8838 msgstr "B<SIG_IGN>"
8839
8840 #. type: Plain text
8841 #: build/C/man3/sigset.3:81
8842 msgid "Ignore I<sig>."
8843 msgstr "I<sig> を無視する。"
8844
8845 #. type: TP
8846 #: build/C/man3/sigset.3:81
8847 #, no-wrap
8848 msgid "B<SIG_HOLD>"
8849 msgstr "B<SIG_HOLD>"
8850
8851 #. type: Plain text
8852 #: build/C/man3/sigset.3:88
8853 msgid ""
8854 "Add I<sig> to the process's signal mask, but leave the disposition of I<sig> "
8855 "unchanged."
8856 msgstr ""
8857 "そのプロセスのシグナルマスクに I<sig> を追加するが、 I<sig> の動作は変更しな"
8858 "い。"
8859
8860 #. type: Plain text
8861 #: build/C/man3/sigset.3:94
8862 msgid ""
8863 "If I<disp> specifies the address of a signal handler, then I<sig> is added "
8864 "to the process's signal mask during execution of the handler."
8865 msgstr ""
8866 "I<disp> にシグナルハンドラのアドレスが指定された場合、 シグナルハンドラの実行"
8867 "中は、そのプロセスのシグナルマスクに I<sig> が追加される。"
8868
8869 #. type: Plain text
8870 #: build/C/man3/sigset.3:102
8871 msgid ""
8872 "If I<disp> was specified as a value other than B<SIG_HOLD>, then I<sig> is "
8873 "removed from the process's signal mask."
8874 msgstr ""
8875 "I<disp> に B<SIG_HOLD> 以外の値が指定された場合、 そのプロセスのシグナルマス"
8876 "クから I<sig> が削除される。"
8877
8878 #. type: Plain text
8879 #: build/C/man3/sigset.3:108 build/C/man3/sigvec.3:85
8880 msgid "The dispositions for B<SIGKILL> and B<SIGSTOP> cannot be changed."
8881 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> に対する動作は変更できない。"
8882
8883 #. type: Plain text
8884 #: build/C/man3/sigset.3:114
8885 msgid ""
8886 "The B<sighold>()  function adds I<sig> to the calling process's signal mask."
8887 msgstr ""
8888 "関数 B<sighold>()  は、呼び出し元プロセスのシグナルマスクに I<sig> を追加す"
8889 "る。"
8890
8891 #. type: Plain text
8892 #: build/C/man3/sigset.3:120
8893 msgid ""
8894 "The B<sigrelse>()  function removes I<sig> from the calling process's signal "
8895 "mask."
8896 msgstr ""
8897 "関数 B<sigrelse>()  は、呼び出し元プロセスのシグナルマスクから I<sig> を削除"
8898 "する。"
8899
8900 #. type: Plain text
8901 #: build/C/man3/sigset.3:127
8902 msgid ""
8903 "The B<sigignore>()  function sets the disposition of I<sig> to B<SIG_IGN>."
8904 msgstr "関数 B<sigignore>()  は、 I<sig> の動作を B<SIG_IGN> に設定する。"
8905
8906 #. type: Plain text
8907 #: build/C/man3/sigset.3:143
8908 msgid ""
8909 "On success, B<sigset>()  returns B<SIG_HOLD> if I<sig> was blocked before "
8910 "the call, or the signal's previous disposition if it was not blocked before "
8911 "the call.  On error, B<sigset>()  returns -1, with I<errno> set to indicate "
8912 "the error.  (But see BUGS below.)"
8913 msgstr ""
8914 "B<sigset>()  は成功すると、 呼び出し前に I<sig> がブロックされていた場合には "
8915 "B<SIG_HOLD> を返し、 ブロックされていなかった場合には 変更前のそのシグナルの"
8916 "動作を返す。 エラーの場合、 B<sigset>()  は -1 を返し、 I<errno> にエラーを示"
8917 "す値をセットする。 但し、以下の「バグ」の節も参照のこと。"
8918
8919 #. type: Plain text
8920 #: build/C/man3/sigset.3:152
8921 msgid ""
8922 "The B<sighold>(), B<sigrelse>(), and B<sigignore>()  functions return 0 on "
8923 "success; on error, these functions return -1 and set I<errno> to indicate "
8924 "the error."
8925 msgstr ""
8926 "関数 B<sighold>(), B<sigrelse>(), B<sigignore>()  は成功すると 0 を返す。エ"
8927 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
8928
8929 #. type: Plain text
8930 #: build/C/man3/sigset.3:159
8931 msgid ""
8932 "For B<sigset>()  see the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
8933 msgstr ""
8934 "B<sigset>()  に関しては、 B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」"
8935 "の節を参照。"
8936
8937 #. type: Plain text
8938 #: build/C/man3/sigset.3:166
8939 msgid ""
8940 "For B<sighold>()  and B<sigrelse>()  see the ERRORS under B<sigprocmask>(2)."
8941 msgstr ""
8942 "B<sighold>()  と B<sigrelse>()  に関しては、 B<sigprocmask>(2)  の「エラー」"
8943 "の節を参照。"
8944
8945 #. type: Plain text
8946 #: build/C/man3/sigset.3:171
8947 msgid "For B<sigignore>(), see the errors under B<sigaction>(2)."
8948 msgstr "B<sigignore>()  に関しては、 B<sigaction>(2)  の「エラー」の節を参照。"
8949
8950 #. type: Plain text
8951 #: build/C/man3/sigset.3:188
8952 msgid ""
8953 "SVr4, POSIX.1-2001.  These functions are obsolete: do not use them in new "
8954 "programs.  POSIX.1-2008 marks B<sighold>(), B<sigignore>(), B<sigpause>(), "
8955 "B<sigrelse>(), and B<sigset>()  as obsolete, recommending the use of "
8956 "B<sigaction>(2), B<sigprocmask>(2), B<pthread_sigmask>(3), and B<sigsuspend>"
8957 "(2)  instead."
8958 msgstr ""
8959 "SVr4, POSIX.1-2001.  これらの関数は廃止予定である。新しいプログラムでは使用し"
8960 "ないこと。 POSIX.1-2008 は、 B<sighold>(), B<sigignore>(), B<sigpause>(), "
8961 "B<sigrelse>(), B<sigset>()  を廃止予定としている。 代わりに、 B<sigaction>"
8962 "(2), B<sigprocmask>(2), B<pthread_sigmask>(3), B<sigsuspend>(2)  の使用が推奨"
8963 "されている。"
8964
8965 #. type: Plain text
8966 #: build/C/man3/sigset.3:190
8967 msgid "These functions appeared in glibc version 2.1."
8968 msgstr "これらの関数は glibc 2.1 で登場した。"
8969
8970 #. type: Plain text
8971 #: build/C/man3/sigset.3:196
8972 msgid ""
8973 "The I<sighandler_t> type is a GNU extension; it is only used on this page to "
8974 "make the B<sigset>()  prototype more easily readable."
8975 msgstr ""
8976 "I<sighandler_t> 型は GNU による拡張であり、この man page で B<sigset>()  のプ"
8977 "ロトタイプをより読みやすくするために使われているだけである。"
8978
8979 #. type: Plain text
8980 #: build/C/man3/sigset.3:204
8981 msgid ""
8982 "The B<sigset>()  function provides reliable signal handling semantics (as "
8983 "when calling B<sigaction>(2)  with I<sa_mask> equal to 0)."
8984 msgstr ""
8985 "関数 B<sigset>()  は信頼性のあるシグナル処理機構を提供する (I<sa_mask> を 0 "
8986 "で B<sigaction>(2)  を呼び出したときと同様)。"
8987
8988 #. type: Plain text
8989 #: build/C/man3/sigset.3:222
8990 msgid ""
8991 "On System V, the B<signal>()  function provides unreliable semantics (as "
8992 "when calling B<sigaction>(2)  with I<sa_mask> equal to I<SA_RESETHAND | "
8993 "SA_NODEFER>).  On BSD, B<signal>()  provides reliable semantics.  "
8994 "POSIX.1-2001 leaves these aspects of B<signal>()  unspecified.  See B<signal>"
8995 "(2)  for further details."
8996 msgstr ""
8997 "System V では、関数 B<signal>()  が提供する処理機構は信頼性のないものである "
8998 "(I<sa_mask> を I<SA_RESETHAND | SA_NODEFER> として B<sigaction>(2)  を呼び出"
8999 "したときと同様)。 BSD では、 B<signal>()  は信頼性のある処理機構を提供する。 "
9000 "POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままとなっている。 さら"
9001 "なる詳細については B<signal>(2)  を参照。"
9002
9003 #. type: Plain text
9004 #: build/C/man3/sigset.3:230 build/C/man3/sigvec.3:250
9005 msgid ""
9006 "In order to wait for a signal, BSD and System V both provided a function "
9007 "named B<sigpause>(3), but this function has a different argument on the two "
9008 "systems.  See B<sigpause>(3)  for details."
9009 msgstr ""
9010 "BSD と System V のどちらのシステムでも シグナルを待つために、 B<sigpause>"
9011 "(3)  という名前の関数が提供されているが、 この関数の引き数は両方のシステムで"
9012 "異なる。 詳細は B<sigpause>(3)  を参照。"
9013
9014 #. type: Plain text
9015 #: build/C/man3/sigset.3:239
9016 msgid ""
9017 "In versions of glibc before 2.2, B<sigset>()  did not unblock I<sig> if "
9018 "I<disp> was specified as a value other than B<SIG_HOLD>."
9019 msgstr ""
9020 "2.2 より前のバージョンの glibc では、 I<disp> に B<SIG_HOLD> 以外の値が指定さ"
9021 "れた場合、 I<sig> のブロック解除を行っていなかった。"
9022
9023 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1951
9024 #. type: Plain text
9025 #: build/C/man3/sigset.3:264
9026 msgid ""
9027 "In versions of glibc before 2.5, B<sigset>()  does not correctly return the "
9028 "previous disposition of the signal in two cases.  First, if I<disp> is "
9029 "specified as B<SIG_HOLD>, then a successful B<sigset>()  always returns "
9030 "B<SIG_HOLD>.  Instead, it should return the previous disposition of the "
9031 "signal (unless the signal was blocked, in which case B<SIG_HOLD> should be "
9032 "returned).  Second, if the signal is currently blocked, then the return "
9033 "value of a successful B<sigset>()  should be B<SIG_HOLD>.  Instead, the "
9034 "previous disposition of the signal is returned.  These problems have been "
9035 "fixed since glibc 2.5."
9036 msgstr ""
9037 "2.3.5 以前の全てのバージョンの glibc では、 B<sigset>()  が変更前のシグナルの"
9038 "動作を正しく返さない場合が 2つある。 一つめは、 I<disp> に B<SIG_HOLD> が指定"
9039 "されると、成功した場合 B<sigset>()  は常に B<SIG_HOLD> を返すことである。 正"
9040 "しくは、(シグナルがブロックされていなかった場合には)  変更前のシグナルの動作"
9041 "を返すべきである (シグナルがブロックされていた場合には、 B<SIG_HOLD> が返され"
9042 "る)。 もう一つは、シグナルが現在ブロックされている場合には、 成功した場合の "
9043 "B<sigset>()  の返り値は B<SIG_HOLD> になるべきであるが、実際には 変更前のシグ"
9044 "ナルの動作が返されることである。 これらの問題は glibc 2.5 以降で修正されてい"
9045 "る。"
9046
9047 #. type: Plain text
9048 #: build/C/man3/sigset.3:274
9049 msgid ""
9050 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9051 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9052 msgstr ""
9053 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9054 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9055
9056 #. type: TH
9057 #: build/C/man3/sigsetops.3:29
9058 #, no-wrap
9059 msgid "SIGSETOPS"
9060 msgstr "SIGSETOPS"
9061
9062 #. type: TH
9063 #: build/C/man3/sigsetops.3:29
9064 #, no-wrap
9065 msgid "2008-09-01"
9066 msgstr "2008-09-01"
9067
9068 #. type: Plain text
9069 #: build/C/man3/sigsetops.3:33
9070 msgid ""
9071 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX signal "
9072 "set operations."
9073 msgstr ""
9074 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX シグナル集"
9075 "合の操作"
9076
9077 #. type: Plain text
9078 #: build/C/man3/sigsetops.3:37
9079 msgid "B<int sigemptyset(sigset_t *>I<set>B<);>"
9080 msgstr "B<int sigemptyset(sigset_t *>I<set>B<);>"
9081
9082 #. type: Plain text
9083 #: build/C/man3/sigsetops.3:39
9084 msgid "B<int sigfillset(sigset_t *>I<set>B<);>"
9085 msgstr "B<int sigfillset(sigset_t *>I<set>B<);>"
9086
9087 #. type: Plain text
9088 #: build/C/man3/sigsetops.3:41
9089 msgid "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9090 msgstr "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9091
9092 #. type: Plain text
9093 #: build/C/man3/sigsetops.3:43
9094 msgid "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9095 msgstr "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9096
9097 #. type: Plain text
9098 #: build/C/man3/sigsetops.3:45
9099 msgid "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9100 msgstr "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9101
9102 #. type: Plain text
9103 #: build/C/man3/sigsetops.3:57
9104 msgid ""
9105 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9106 "B<sigismember>():"
9107 msgstr ""
9108 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9109 "B<sigismember>():"
9110
9111 #. type: Plain text
9112 #: build/C/man3/sigsetops.3:59
9113 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9114 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9115
9116 #. type: Plain text
9117 #: build/C/man3/sigsetops.3:63
9118 msgid "These functions allow the manipulation of POSIX signal sets."
9119 msgstr "これらの関数は POSIX シグナル集合(signal set)を操作するため使用する。"
9120
9121 #. type: Plain text
9122 #: build/C/man3/sigsetops.3:68
9123 msgid ""
9124 "B<sigemptyset>()  initializes the signal set given by I<set> to empty, with "
9125 "all signals excluded from the set."
9126 msgstr ""
9127 "B<sigemptyset>()  は I<set> で与えられたシグナル集合を空に初期化し、シグナル"
9128 "が一つも 含まれていない状態にする。"
9129
9130 #. type: Plain text
9131 #: build/C/man3/sigsetops.3:73
9132 msgid "B<sigfillset>()  initializes I<set> to full, including all signals."
9133 msgstr ""
9134 "B<sigfillset>()  は I<set> で与えられたシグナル集合が全てのシグナルを含むよう"
9135 "にする。"
9136
9137 #. type: Plain text
9138 #: build/C/man3/sigsetops.3:81
9139 msgid ""
9140 "B<sigaddset>()  and B<sigdelset>()  add and delete respectively signal "
9141 "I<signum> from I<set>."
9142 msgstr ""
9143 "B<sigaddset>()  と B<sigdelset>()  は I<set> に I<signum> シグナルをそれぞれ"
9144 "加えたり、削除したりする。"
9145
9146 #. type: Plain text
9147 #: build/C/man3/sigsetops.3:87
9148 msgid "B<sigismember>()  tests whether I<signum> is a member of I<set>."
9149 msgstr ""
9150 "B<sigismember>()  は I<signum> が I<set> に含まれているかどうかをテストする。"
9151
9152 #. type: Plain text
9153 #: build/C/man3/sigsetops.3:105
9154 msgid ""
9155 "Objects of type I<sigset_t> must be initialized by a call to either "
9156 "B<sigemptyset>()  or B<sigfillset>()  before being passed to the functions "
9157 "B<sigaddset>(), B<sigdelset>()  and B<sigismember>()  or the additional "
9158 "glibc functions described below (B<sigisemptyset>(), B<sigandset>(), and "
9159 "B<sigorset>()).  The results are undefined if this is not done."
9160 msgstr ""
9161 "I<sigset_t> 型のオブジェクトは、関数 B<sigaddset>(), B<sigdelset>(), "
9162 "B<sigismember>()  や後述の glibc の追加関数 (B<sigisemptyset>(), B<sigandset>"
9163 "(), B<sigorset>())  に渡す前に、 B<sigemptyset>()  か B<sigfillset>()  を呼び"
9164 "出して初期化しなければならない。 初期化しなかった場合の結果は未定義である。"
9165
9166 #. type: Plain text
9167 #: build/C/man3/sigsetops.3:112
9168 msgid ""
9169 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), and B<sigdelset>()  "
9170 "return 0 on success and -1 on error."
9171 msgstr ""
9172 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>()  は成功すれ"
9173 "ば 0 を、エラーの場合は -1 を返す。"
9174
9175 #. type: Plain text
9176 #: build/C/man3/sigsetops.3:121
9177 msgid ""
9178 "B<sigismember>()  returns 1 if I<signum> is a member of I<set>, 0 if "
9179 "I<signum> is not a member, and -1 on error."
9180 msgstr ""
9181 "B<sigismember>()  は I<signum> が I<set> に含まれていれば 1 を返し、含まれて"
9182 "いなければ 0 を返す。 エラーの場合は -1 を返す。"
9183
9184 #. type: Plain text
9185 #: build/C/man3/sigsetops.3:126
9186 msgid "I<sig> is not a valid signal."
9187 msgstr "I<sig> が有効なシグナルではない。"
9188
9189 #. type: SS
9190 #: build/C/man3/sigsetops.3:129
9191 #, no-wrap
9192 msgid "Glibc Notes"
9193 msgstr "glibc での注意"
9194
9195 #. type: Plain text
9196 #: build/C/man3/sigsetops.3:135
9197 msgid ""
9198 "If the B<_GNU_SOURCE> feature test macro is defined, then I<E<lt>signal."
9199 "hE<gt>> exposes three other functions for manipulating signal sets."
9200 msgstr ""
9201 "B<_GNU_SOURCE> 機能検査マクロが定義されていると、 I<E<lt>signal.hE<gt>> でシ"
9202 "グナル集合を操作する 3つの関数が追加で公開される。"
9203
9204 #. type: TP
9205 #: build/C/man3/sigsetops.3:135
9206 #, no-wrap
9207 msgid "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9208 msgstr "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9209
9210 #. type: Plain text
9211 #: build/C/man3/sigsetops.3:140
9212 msgid "returns 1 if I<set> contains no signals, and 0 otherwise."
9213 msgstr ""
9214 "I<set> にシグナルが一つも含まれていなければ 1 を返し、 それ以外は 0 を返す。"
9215
9216 #. type: TP
9217 #: build/C/man3/sigsetops.3:140
9218 #, no-wrap
9219 msgid "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9220 msgstr "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9221
9222 #. type: Plain text
9223 #: build/C/man3/sigsetops.3:149
9224 msgid "places the union of the sets I<left> and I<right> in I<dest>."
9225 msgstr "シグナル集合 I<left> と I<left> の和集合を I<dest> に書き込む。"
9226
9227 #. type: TP
9228 #: build/C/man3/sigsetops.3:149
9229 #, no-wrap
9230 msgid "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9231 msgstr "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9232
9233 #. type: Plain text
9234 #: build/C/man3/sigsetops.3:158
9235 msgid "places the intersection of the sets I<left> and I<right> in I<dest>."
9236 msgstr "シグナル集合 I<left> と I<left> の積集合を I<dest> に書き込む。"
9237
9238 #. type: Plain text
9239 #: build/C/man3/sigsetops.3:163
9240 msgid ""
9241 "B<sigorset>()  and B<sigandset>()  return 0 on success, and -1 on failure."
9242 msgstr ""
9243 "B<sigorset>()  と B<sigandset>()  は成功すると 0 を、失敗すると -1 を返す。"
9244
9245 #. type: Plain text
9246 #: build/C/man3/sigsetops.3:166
9247 msgid ""
9248 "These functions are nonstandard (a few other systems provide similar "
9249 "functions) and their use should be avoided in portable applications."
9250 msgstr ""
9251 "これらの関数は非標準であり、(他にも同様の関数を提供しているシステムも いくつ"
9252 "かはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき である。"
9253
9254 #. type: Plain text
9255 #: build/C/man3/sigsetops.3:171
9256 msgid "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9257 msgstr "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9258
9259 #. type: TH
9260 #: build/C/man2/sigsuspend.2:27
9261 #, no-wrap
9262 msgid "SIGSUSPEND"
9263 msgstr "SIGSUSPEND"
9264
9265 #. type: TH
9266 #: build/C/man2/sigsuspend.2:27
9267 #, no-wrap
9268 msgid "2008-08-29"
9269 msgstr "2008-08-29"
9270
9271 #. type: Plain text
9272 #: build/C/man2/sigsuspend.2:30
9273 msgid "sigsuspend - wait for a signal"
9274 msgstr "sigsuspend - シグナルを待つ"
9275
9276 #. type: Plain text
9277 #: build/C/man2/sigsuspend.2:34
9278 msgid "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9279 msgstr "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9280
9281 #. type: Plain text
9282 #: build/C/man2/sigsuspend.2:43
9283 msgid ""
9284 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9285 "_POSIX_SOURCE"
9286 msgstr ""
9287 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9288 "_POSIX_SOURCE"
9289
9290 #. type: Plain text
9291 #: build/C/man2/sigsuspend.2:51
9292 msgid ""
9293 "B<sigsuspend>()  temporarily replaces the signal mask of the calling process "
9294 "with the mask given by I<mask> and then suspends the process until delivery "
9295 "of a signal whose action is to invoke a signal handler or to terminate a "
9296 "process."
9297 msgstr ""
9298 "B<sigsuspend>()  は、呼び出し元プロセスのシグナルマスクを I<mask> で指定され"
9299 "たマスクに一時的に置き換え、 シグナルハンドラの起動もしくはプロセスの終了がア"
9300 "クションとして 設定されたシグナルが配送されるまで、そのプロセスを停止する。"
9301
9302 #. type: Plain text
9303 #: build/C/man2/sigsuspend.2:60
9304 msgid ""
9305 "If the signal terminates the process, then B<sigsuspend>()  does not "
9306 "return.  If the signal is caught, then B<sigsuspend>()  returns after the "
9307 "signal handler returns, and the signal mask is restored to the state before "
9308 "the call to B<sigsuspend>()."
9309 msgstr ""
9310 "シグナルがプロセスを終了させるものの場合、 B<sigsuspend>()  は返らない。シグ"
9311 "ナルが捕捉された場合、 シグナルハンドラの処理が終わった後に B<sigsuspend>()  "
9312 "は返り、シグナルマスクは B<sigsuspend>()  が呼び出される前の状態に復元され"
9313 "る。"
9314
9315 #. type: Plain text
9316 #: build/C/man2/sigsuspend.2:68
9317 msgid ""
9318 "It is not possible to block B<SIGKILL> or B<SIGSTOP>; specifying these "
9319 "signals in I<mask>, has no effect on the process's signal mask."
9320 msgstr ""
9321 "B<SIGKILL> と B<SIGSTOP> を禁止 (block) することはできない; これらのシグナル"
9322 "を I<mask> に指定しても、プロセスのシグナルマスクは影響を受けない。"
9323
9324 #. type: Plain text
9325 #: build/C/man2/sigsuspend.2:72
9326 msgid "B<sigsuspend>()  always returns -1, normally with the error B<EINTR>."
9327 msgstr "B<sigsuspend>()  は常に -1 を返し、通常は B<EINTR> エラーが発生する。"
9328
9329 #. type: Plain text
9330 #: build/C/man2/sigsuspend.2:77
9331 msgid ""
9332 "I<mask> points to memory which is not a valid part of the process address "
9333 "space."
9334 msgstr ""
9335 "I<mask> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
9336
9337 #. type: Plain text
9338 #: build/C/man2/sigsuspend.2:80
9339 msgid "The call was interrupted by a signal."
9340 msgstr "システムコールはシグナルにより割り込まれた。"
9341
9342 #. type: Plain text
9343 #: build/C/man2/sigsuspend.2:100
9344 msgid ""
9345 "Normally, B<sigsuspend>()  is used in conjunction with B<sigprocmask>(2)  in "
9346 "order to prevent delivery of a signal during the execution of a critical "
9347 "code section.  The caller first blocks the signals with B<sigprocmask>(2).  "
9348 "When the critical code has completed, the caller then waits for the signals "
9349 "by calling B<sigsuspend>()  with the signal mask that was returned by "
9350 "B<sigprocmask>(2)  (in the I<oldset> argument)."
9351 msgstr ""
9352 "B<sigsuspend>()  は、通常、クリティカル・コード・セクション (critical code "
9353 "section) の 実行中にシグナルが配送されるのを防止するために、 B<sigprocmask>"
9354 "(2)  と組み合わせて使用される。 まず最初に、呼び出し元は B<sigprocmask>(2)  "
9355 "を使ってシグナルを禁止する。 クリティカル・コードが完了すると、呼び出し元は "
9356 "B<sigprocmask>(2)  が (I<oldset> 引き数で) 返すシグナルマスクを指定して "
9357 "B<sigsuspend>()  を呼び出すことで、クリティカル・コード実行中に発生した シグ"
9358 "ナルを待つことができる。"
9359
9360 #. type: Plain text
9361 #: build/C/man2/sigsuspend.2:114
9362 msgid ""
9363 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9364 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9365 msgstr ""
9366 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9367 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9368
9369 #. type: TH
9370 #: build/C/man3/sigvec.3:24
9371 #, no-wrap
9372 msgid "SIGVEC"
9373 msgstr "SIGVEC"
9374
9375 #. type: Plain text
9376 #: build/C/man3/sigvec.3:27
9377 msgid "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD signal API"
9378 msgstr "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD 版シグナル API"
9379
9380 #. type: Plain text
9381 #: build/C/man3/sigvec.3:31
9382 msgid ""
9383 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9384 "*>I<ovec>B<);>"
9385 msgstr ""
9386 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9387 "*>I<ovec>B<);>"
9388
9389 #. type: Plain text
9390 #: build/C/man3/sigvec.3:33
9391 msgid "B<int sigmask(int >I<signum>B<);>"
9392 msgstr "B<int sigmask(int >I<signum>B<);>"
9393
9394 #. type: Plain text
9395 #: build/C/man3/sigvec.3:35
9396 msgid "B<int sigblock(int >I<mask>B<);>"
9397 msgstr "B<int sigblock(int >I<mask>B<);>"
9398
9399 #. type: Plain text
9400 #: build/C/man3/sigvec.3:37
9401 msgid "B<int sigsetmask(int >I<mask>B<);>"
9402 msgstr "B<int sigsetmask(int >I<mask>B<);>"
9403
9404 #. type: Plain text
9405 #: build/C/man3/sigvec.3:39
9406 msgid "B<int siggetmask(void);>"
9407 msgstr "B<int siggetmask(void);>"
9408
9409 #. type: Plain text
9410 #: build/C/man3/sigvec.3:47
9411 msgid "All functions shown above: _BSD_SOURCE"
9412 msgstr "上記の全ての関数: _BSD_SOURCE"
9413
9414 #. type: Plain text
9415 #: build/C/man3/sigvec.3:54
9416 msgid ""
9417 "These functions are provided in glibc as a compatibility interface for "
9418 "programs that make use of the historical BSD signal API.  This API is "
9419 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
9420 "B<sigprocmask>(2), etc.)"
9421 msgstr ""
9422 "これらの関数は、昔ながらの BSD 版シグナル API を使用しているプログラム に対し"
9423 "て互換性のあるインタフェースを glibc で提供するものである。 この API は過去の"
9424 "ものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>(2), "
9425 "B<sigprocmask>(2)  など) を使用すべきである。"
9426
9427 #. type: Plain text
9428 #: build/C/man3/sigvec.3:79
9429 msgid ""
9430 "The B<sigvec>()  function sets and/or gets the disposition of the signal "
9431 "I<sig> (like the POSIX B<sigaction>(2)).  If I<vec> is not NULL, it points "
9432 "to a I<sigvec> structure that defines the new disposition for I<sig>.  If "
9433 "I<ovec> is not NULL, it points to a I<sigvec> structure that is used to "
9434 "return the previous disposition of I<sig>.  To obtain the current "
9435 "disposition of I<sig> without changing it, specify NULL for I<vec>, and a "
9436 "non-NULL pointer for I<ovec>."
9437 msgstr ""
9438 "関数 B<sigvec>()  は、(POSIX の B<sigaction>(2)  と同様に) シグナル I<sig> の"
9439 "動作の設定・取得を行う。 I<vec> は、NULL 以外の場合、 I<sig> の新しい動作を定"
9440 "義した I<sigvec> 構造体へのポインタである。 I<ovec> は、NULL 以外の場合、 "
9441 "I<sig> の変更前の動作を返すために使用される I<sigvec> 構造体へのポインタであ"
9442 "る。 I<sig> の動作を変更せずに現在の動作を取得するためには、 I<vec> に NULL "
9443 "を指定し、 I<ovec> に NULL でないポインタを指定すればよい。"
9444
9445 #. type: Plain text
9446 #: build/C/man3/sigvec.3:89
9447 msgid "The I<sigvec> structure has the following form:"
9448 msgstr "I<sigvec> 構造体は以下の通りである:"
9449
9450 #. type: Plain text
9451 #: build/C/man3/sigvec.3:97
9452 #, no-wrap
9453 msgid ""
9454 "struct sigvec {\n"
9455 "    void (*sv_handler)();  /* Signal disposition */\n"
9456 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9457 "    int    sv_flags;       /* Flags */\n"
9458 "};\n"
9459 msgstr ""
9460 "struct sigvec {\n"
9461 "    void (*sv_handler)();  /* Signal disposition */\n"
9462 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9463 "    int    sv_flags;       /* Flags */\n"
9464 "};\n"
9465
9466 #. type: Plain text
9467 #: build/C/man3/sigvec.3:108
9468 msgid ""
9469 "The I<sv_handler> field specifies the disposition of the signal, and is "
9470 "either: the address of a signal handler function; or B<SIG_DFL> meaning the "
9471 "default disposition applies for the signal; or B<SIG_IGN> meaning that the "
9472 "signal is ignored."
9473 msgstr ""
9474 "I<sv_handler> フィールドはシグナルの動作を指定するもので、 シグナルハンドラ関"
9475 "数のアドレスか、 B<SIG_DFL> と B<SIG_IGN> のいずれかを指定できる。 "
9476 "B<SIG_DFL> はシグナルに適用されるデフォルトの動作を意味し、 B<SIG_IGN> はシグ"
9477 "ナルを無視することを意味する。"
9478
9479 #. type: Plain text
9480 #: build/C/man3/sigvec.3:122
9481 msgid ""
9482 "If I<sv_handler> specifies the address of a signal handler, then I<sv_mask> "
9483 "specifies a mask of signals that are to be blocked while the handler is "
9484 "executing.  In addition, the signal for which the handler is invoked is also "
9485 "blocked by default.  Attempts to block B<SIGKILL> or B<SIGSTOP> are silently "
9486 "ignored."
9487 msgstr ""
9488 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_mask> はハン"
9489 "ドラが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラを"
9490 "起動したシグナル自身はデフォルトでブロックされる。 B<SIGKILL> か B<SIGSTOP> "
9491 "をブロックしようとした場合には、黙って無視される。"
9492
9493 #. type: Plain text
9494 #: build/C/man3/sigvec.3:129
9495 msgid ""
9496 "If I<sv_handler> specifies the address of a signal handler, then the "
9497 "I<sv_flags> field specifies flags controlling what happens when the handler "
9498 "is called.  This field may contain zero or more of the following flags:"
9499 msgstr ""
9500 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_flags> フィー"
9501 "ルドはハンドラが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドに"
9502 "は、0 か、以下のフラグを 1個以上指定できる:"
9503
9504 #. type: TP
9505 #: build/C/man3/sigvec.3:129
9506 #, no-wrap
9507 msgid "B<SV_INTERRUPT>"
9508 msgstr "B<SV_INTERRUPT>"
9509
9510 #. type: Plain text
9511 #: build/C/man3/sigvec.3:137
9512 msgid ""
9513 "If the signal handler interrupts a blocking system call, then upon return "
9514 "from the handler the system call will not be restarted: instead it will fail "
9515 "with the error B<EINTR>.  If this flag is not specified, then system calls "
9516 "are restarted by default."
9517 msgstr ""
9518 "シグナルハンドラが停止中のシステムコールを中断した場合、 ハンドラから復帰して"
9519 "も、システムコールは再開されず、 エラー B<EINTR> で失敗する。 このフラグを指"
9520 "定しなかった場合、システムコールは デフォルトで再開される。"
9521
9522 #. type: TP
9523 #: build/C/man3/sigvec.3:137
9524 #, no-wrap
9525 msgid "B<SV_RESETHAND>"
9526 msgstr "B<SV_RESETHAND>"
9527
9528 #. type: Plain text
9529 #: build/C/man3/sigvec.3:146
9530 msgid ""
9531 "Reset the disposition of the signal to the default before calling the signal "
9532 "handler.  If this flag is not specified, then the handler remains "
9533 "established until explicitly removed by a later call to B<sigvec>()  or "
9534 "until the process performs an B<execve>(2)."
9535 msgstr ""
9536 "シグナルハンドラを呼び出す前にシグナルの動作を デフォルトにリセットする。 こ"
9537 "のフラグを指定しなかった場合、もう一度 B<sigvec>()  を呼び出して明示的に削除"
9538 "されるか、プロセスが B<execve>(2)  を実行するまで、ハンドラは設定されたままと"
9539 "なる。"
9540
9541 #. type: TP
9542 #: build/C/man3/sigvec.3:146
9543 #, no-wrap
9544 msgid "B<SV_ONSTACK>"
9545 msgstr "B<SV_ONSTACK>"
9546
9547 #. type: Plain text
9548 #: build/C/man3/sigvec.3:153
9549 msgid ""
9550 "Handle the signal on the alternate signal stack (historically established "
9551 "under BSD using the obsolete B<sigstack>()  function; the POSIX replacement "
9552 "is B<sigaltstack>(2))."
9553 msgstr ""
9554 "代替シグナルスタック上でシグナルハンドラを実行する (歴史的に、BSD では代替シ"
9555 "グナルスタックは廃止された関数 B<sigstack>()  を使って設定する。POSIX では、"
9556 "代わりに B<sigaltstack>(2)  を使用する)。"
9557
9558 #. type: Plain text
9559 #: build/C/man3/sigvec.3:163
9560 msgid ""
9561 "The B<sigmask>()  function constructs and returns a \"signal mask\" for "
9562 "I<signum>.  For example, we can initialize the I<vec.sv_mask> field given to "
9563 "B<sigvec>()  using code such as the following:"
9564 msgstr ""
9565 "関数 B<sigmask>()  は I<signum> に対する「シグナルマスク」を構成して返す。 例"
9566 "えば、以下のようなコードを使うと、 B<sigvec>()  に渡す I<vec.sv_mask> を初期"
9567 "化できる。"
9568
9569 #. type: Plain text
9570 #: build/C/man3/sigvec.3:168
9571 #, no-wrap
9572 msgid ""
9573 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9574 "                /* Block SIGQUIT and SIGABRT during\n"
9575 "                   handler execution */\n"
9576 msgstr ""
9577 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9578 "                /* Block SIGQUIT and SIGABRT during\n"
9579 "                   handler execution */\n"
9580
9581 #. type: Plain text
9582 #: build/C/man3/sigvec.3:183
9583 msgid ""
9584 "The B<sigblock>()  function adds the signals in I<mask> to the process's "
9585 "signal mask (like POSIX I<sigprocmask(SIG_BLOCK)>), and returns the "
9586 "process's previous signal mask.  Attempts to block B<SIGKILL> or B<SIGSTOP> "
9587 "are silently ignored."
9588 msgstr ""
9589 "B<sigblock>()  関数は、 I<mask> にあるシグナルをプロセスのシグナルマスクに追"
9590 "加し (POSIX の I<sigprocmask(SIG_BLOCK)> と同様)、変更前のプロセスのシグナル"
9591 "マスクを返す。 B<SIGKILL> や B<SIGSTOP> をブロックしようとした場合には、黙っ"
9592 "て無視される。"
9593
9594 #. type: Plain text
9595 #: build/C/man3/sigvec.3:191
9596 msgid ""
9597 "The B<sigsetmask>()  function sets the process's signal mask to the value "
9598 "given in I<mask> (like POSIX I<sigprocmask(SIG_SETMASK)>), and returns the "
9599 "process's previous signal mask."
9600 msgstr ""
9601 "B<sigsetmask>()  関数はプロセスのシグナルマスクを I<mask> で指定された値に設"
9602 "定し (POSIX の I<sigprocmask(SIG_SETMASK)> と同様)、変更前のプロセスのシグナ"
9603 "ルマスクを返す。"
9604
9605 #. type: Plain text
9606 #: build/C/man3/sigvec.3:197
9607 msgid ""
9608 "The B<siggetmask>()  function returns the process's current signal mask.  "
9609 "This call is equivalent to I<sigblock(0)>."
9610 msgstr ""
9611 "B<siggetmask>()  関数はプロセスの現在のシグナルマスクを返す。この関数は "
9612 "I<sigblock(0)> と等価である。"
9613
9614 #. type: Plain text
9615 #: build/C/man3/sigvec.3:203
9616 msgid ""
9617 "The B<sigvec>()  function returns 0 on success; on error, it returns -1 and "
9618 "sets I<errno> to indicate the error."
9619 msgstr ""
9620 "B<sigvec>()  関数は成功すると 0 を返す。エラーの場合、-1 を返し、 I<errno> に"
9621 "エラーを示す値をセットする。"
9622
9623 #. type: Plain text
9624 #: build/C/man3/sigvec.3:209
9625 msgid ""
9626 "The B<sigblock>()  and B<sigsetmask>()  functions return the previous signal "
9627 "mask."
9628 msgstr "B<sigblock>()  と B<sigsetmask>()  は変更前のシグナルマスクを返す。"
9629
9630 #. type: Plain text
9631 #: build/C/man3/sigvec.3:214
9632 msgid "The B<sigmask>()  function returns the signal mask for I<signum>."
9633 msgstr "B<sigmask>()  関数は I<signum> のシグナルマスクを返す。"
9634
9635 #. type: Plain text
9636 #: build/C/man3/sigvec.3:219
9637 msgid "See the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
9638 msgstr "B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」の節を参照。"
9639
9640 #. type: Plain text
9641 #: build/C/man3/sigvec.3:225
9642 msgid ""
9643 "All of these functions were in 4.3BSD, except B<siggetmask>(), whose origin "
9644 "is unclear.  These functions are obsolete: do not use them in new programs."
9645 msgstr ""
9646 "これらの関数のうち B<siggetmask>()  以外の全ては 4.3BSD にあった。 "
9647 "B<siggetmask>()  の出自ははっきりしない。 これらの関数は廃止予定であり、新し"
9648 "いプログラムでは使用しないこと。"
9649
9650 #. type: Plain text
9651 #: build/C/man3/sigvec.3:242
9652 msgid ""
9653 "On 4.3BSD, the B<signal>()  function provided reliable semantics (as when "
9654 "calling B<sigvec>()  with I<vec.sv_mask> equal to 0).  On System V, B<signal>"
9655 "()  provides unreliable semantics.  POSIX.1-2001 leaves these aspects of "
9656 "B<signal>()  unspecified.  See B<signal>(2)  for further details."
9657 msgstr ""
9658 "4.3BSD では、信頼性のあるシグナル処理機構を提供する (I<vec.sv_mask> を 0 で "
9659 "B<sigvec>()  を呼び出したときと同様)。 System V が提供する処理機構は信頼性の"
9660 "ないものである。 POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままと"
9661 "なっている。 さらなる詳細については B<signal>(2)  を参照。"
9662
9663 #. type: Plain text
9664 #: build/C/man3/sigvec.3:260
9665 msgid ""
9666 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9667 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9668 msgstr ""
9669 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9670 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9671
9672 #. type: TH
9673 #: build/C/man3/sigwait.3:24
9674 #, no-wrap
9675 msgid "SIGWAIT"
9676 msgstr "SIGWAIT"
9677
9678 #. type: TH
9679 #: build/C/man3/sigwait.3:24
9680 #, no-wrap
9681 msgid "2010-09-10"
9682 msgstr "2010-09-10"
9683
9684 #. type: Plain text
9685 #: build/C/man3/sigwait.3:27
9686 msgid "sigwait - wait for a signal"
9687 msgstr "sigwait - シグナルを待つ"
9688
9689 #. type: Plain text
9690 #: build/C/man3/sigwait.3:32
9691 #, no-wrap
9692 msgid "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9693 msgstr "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9694
9695 #. type: Plain text
9696 #: build/C/man3/sigwait.3:42
9697 msgid ""
9698 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9699 msgstr ""
9700 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9701
9702 #. type: Plain text
9703 #: build/C/man3/sigwait.3:53
9704 msgid ""
9705 "The B<sigwait>()  function suspends execution of the calling thread until "
9706 "the delivery of one of the signals specified in the signal set I<set>.  The "
9707 "function accepts the signal (removes it from the pending list of signals), "
9708 "and returns the signal number in I<sig>."
9709 msgstr ""
9710 "B<sigwait>()  関数は、シグナル集合 I<set> で指定されたシグナルの一つが配送さ"
9711 "れるまで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け"
9712 "取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグ"
9713 "ナル番号を I<sig> に格納して返す。"
9714
9715 #. type: Plain text
9716 #: build/C/man3/sigwait.3:59
9717 msgid ""
9718 "The operation of B<sigwait>()  is the same as B<sigwaitinfo>(2), except that:"
9719 msgstr ""
9720 "B<sigwait>()  の動作は B<sigwaitinfo>(2)  と同じだが、以下の点が異なる。"
9721
9722 #. type: Plain text
9723 #: build/C/man3/sigwait.3:64
9724 msgid ""
9725 "B<sigwait>()  only returns the signal number, rather than a I<siginfo_t> "
9726 "structure describing the signal."
9727 msgstr ""
9728 "B<sigwait>()  は、シグナルの内容を表す I<siginfo_t> 構造体を返すのではなく、"
9729 "単にシグナル番号を返す。"
9730
9731 #. type: Plain text
9732 #: build/C/man3/sigwait.3:66
9733 msgid "The return values of the two functions are different."
9734 msgstr "返り値が B<sigwaitinfo>(2)  とは異なる。"
9735
9736 #. type: Plain text
9737 #: build/C/man3/sigwait.3:71
9738 msgid ""
9739 "On success, B<sigwait>()  returns 0.  On error, it returns a positive error "
9740 "number (listed in ERRORS)."
9741 msgstr ""
9742 "成功すると、 B<sigwait>()  は 0 を返す。 エラーの場合、(「エラー」の節のリス"
9743 "トにある) 正のエラー番号を返す。"
9744
9745 #.  Does not occur for glibc.
9746 #. type: Plain text
9747 #: build/C/man3/sigwait.3:77
9748 msgid "I<set> contains an invalid signal number."
9749 msgstr "I<set> に無効なシグナル番号が入っている。"
9750
9751 #. type: Plain text
9752 #: build/C/man3/sigwait.3:83
9753 msgid "B<sigwait>()  is implemented using B<sigtimedwait>(2)."
9754 msgstr "B<sigwait>()  は B<sigtimedwait>(2)  を使って実装されている。"
9755
9756 #. type: SH
9757 #: build/C/man3/sigwait.3:83
9758 #, no-wrap
9759 msgid "EXAMPLES"
9760 msgstr "例"
9761
9762 #. type: Plain text
9763 #: build/C/man3/sigwait.3:86
9764 msgid "See B<pthread_sigmask>(3)."
9765 msgstr "B<pthread_sigmask>(3)  を参照。"
9766
9767 #. type: Plain text
9768 #: build/C/man3/sigwait.3:94
9769 msgid ""
9770 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
9771 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
9772 msgstr ""
9773 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
9774 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
9775
9776 #. type: TH
9777 #: build/C/man2/sigwaitinfo.2:23
9778 #, no-wrap
9779 msgid "SIGWAITINFO"
9780 msgstr "SIGWAITINFO"
9781
9782 #. type: TH
9783 #: build/C/man2/sigwaitinfo.2:23
9784 #, no-wrap
9785 msgid "2011-10-03"
9786 msgstr "2011-10-03"
9787
9788 #. type: Plain text
9789 #: build/C/man2/sigwaitinfo.2:26
9790 msgid "sigwaitinfo, sigtimedwait - synchronously wait for queued signals"
9791 msgstr "sigwaitinfo, sigtimedwait - キューに入れられたシグナルを同期して待つ"
9792
9793 #. type: Plain text
9794 #: build/C/man2/sigwaitinfo.2:31
9795 #, no-wrap
9796 msgid "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
9797 msgstr "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
9798
9799 #. type: Plain text
9800 #: build/C/man2/sigwaitinfo.2:34
9801 #, no-wrap
9802 msgid ""
9803 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
9804 "B<                 const struct timespec *>I<timeout>B<);>\n"
9805 msgstr ""
9806 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
9807 "B<                 const struct timespec *>I<timeout>B<);>\n"
9808
9809 #. type: Plain text
9810 #: build/C/man2/sigwaitinfo.2:44
9811 msgid "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
9812 msgstr ""
9813 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
9814
9815 #. type: Plain text
9816 #: build/C/man2/sigwaitinfo.2:54
9817 msgid ""
9818 "B<sigwaitinfo>()  suspends execution of the calling thread until one of the "
9819 "signals in I<set> is delivered.  (If one of the signals in I<set> is already "
9820 "pending for the calling thread, B<sigwaitinfo>()  will return immediately "
9821 "with information about that signal.)"
9822 msgstr ""
9823 "B<sigwaitinfo>()  は I<set> のうちのどれかのシグナルが配送されるまで、 呼び出"
9824 "しスレッドの実行を一時停止する (呼び出しスレッドに対して I<set> のうちのどれ"
9825 "かのシグナルが既に待機中 (pending) である場合、 B<sigwaitinfo>()  はそのシグ"
9826 "ナルの情報を返してすぐに戻る)。"
9827
9828 #. type: Plain text
9829 #: build/C/man2/sigwaitinfo.2:66
9830 msgid ""
9831 "B<sigwaitinfo>()  removes the delivered signal from the set of pending "
9832 "signals and returns the signal number as its function result.  If the "
9833 "I<info> argument is not NULL, then it returns a structure of type "
9834 "I<siginfo_t> (see B<sigaction>(2))  containing information about the signal."
9835 msgstr ""
9836 "B<sigwaitinfo>()  は配送されたシグナルを待機中のシグナルの集合から削除し、 関"
9837 "数の結果としてシグナル番号を返す。 I<info> 引き数が NULL でない場合、配送され"
9838 "たシグナルの情報が入った I<siginfo_t> 型 (B<sigaction>(2)  を参照) の構造体を"
9839 "返す。"
9840
9841 #. type: Plain text
9842 #: build/C/man2/sigwaitinfo.2:72
9843 msgid ""
9844 "Signals returned via B<sigwaitinfo>()  are delivered in the usual order; see "
9845 "B<signal>(7)  for further details."
9846 msgstr ""
9847 "B<sigwaitinfo>()  で返されるシグナルは、通常の順番で配送される。 詳細は "
9848 "B<signal>(7)  を参照すること。"
9849
9850 #. type: Plain text
9851 #: build/C/man2/sigwaitinfo.2:81
9852 msgid ""
9853 "B<sigtimedwait>()  operates in exactly the same way as B<sigwaitinfo>()  "
9854 "except that it has an additional argument, I<timeout>, which enables an "
9855 "upper bound to be placed on the time for which the thread is suspended.  "
9856 "This argument is of the following type:"
9857 msgstr ""
9858 "B<sigtimedwait>()  は、 B<sigwaitinfo>()  と次の点を除いて全く同じように動作"
9859 "する。 この関数にはもう 1 つの引き数 I<timeout> があり、スレッドが一時停止す"
9860 "る時間の上限を定めることができる。 この引き数の型は以下のとおりである:"
9861
9862 #. type: Plain text
9863 #: build/C/man2/sigwaitinfo.2:88
9864 #, no-wrap
9865 msgid ""
9866 "struct timespec {\n"
9867 "    long    tv_sec;         /* seconds */\n"
9868 "    long    tv_nsec;        /* nanoseconds */\n"
9869 "}\n"
9870 msgstr ""
9871 "struct timespec {\n"
9872 "    long    tv_sec;         /* 秒 */\n"
9873 "    long    tv_nsec;        /* ナノ秒 */\n"
9874 "}\n"
9875
9876 #. type: Plain text
9877 #: build/C/man2/sigwaitinfo.2:98
9878 msgid ""
9879 "If both fields of this structure are specified as 0, a poll is performed: "
9880 "B<sigtimedwait>()  returns immediately, either with information about a "
9881 "signal that was pending for the caller, or with an error if none of the "
9882 "signals in I<set> was pending."
9883 msgstr ""
9884 "この構造体の 2 つのフィールドがともに 0 の場合、ポーリングが行われる: "
9885 "B<sigtimedwait>()  は、呼び出し側プロセスに対して 待機しているシグナルの情報"
9886 "を返して戻るか、 I<set> のうちのどのシグナルも待機していない場合はエラーを返"
9887 "して戻る。"
9888
9889 #. type: Plain text
9890 #: build/C/man2/sigwaitinfo.2:107
9891 msgid ""
9892 "On success, both B<sigwaitinfo>()  and B<sigtimedwait>()  return a signal "
9893 "number (i.e., a value greater than zero).  On failure both calls return -1, "
9894 "with I<errno> set to indicate the error."
9895 msgstr ""
9896 "成功した場合、 B<sigwaitinfo>()  と B<sigtimedwait>()  はシグナル番号 (すなわ"
9897 "ち 0 より大きい数) を返す。 失敗した場合、2 つの関数は -1 を返し、 I<errno> "
9898 "はエラーを表す値に設定される。"
9899
9900 #. type: Plain text
9901 #: build/C/man2/sigwaitinfo.2:116
9902 msgid ""
9903 "No signal in I<set> was delivered within the I<timeout> period specified to "
9904 "B<sigtimedwait>()."
9905 msgstr ""
9906 "I<set> のうちのどのシグナルも B<sigtimedwait>()  に指定された I<timeout> の期"
9907 "間内に配送されなかった。"
9908
9909 #. type: Plain text
9910 #: build/C/man2/sigwaitinfo.2:122
9911 msgid ""
9912 "The wait was interrupted by a signal handler; see B<signal>(7).  (This "
9913 "handler was for a signal other than one of those in I<set>.)"
9914 msgstr ""
9915 "シグナル待ちがシグナルハンドラによって中断 (interrupt) された (このハンドラ"
9916 "は I<set> にあるシグナル以外のものである)。 B<signal>(7)  参照。"
9917
9918 #. type: Plain text
9919 #: build/C/man2/sigwaitinfo.2:126
9920 msgid "I<timeout> was invalid."
9921 msgstr "I<timeout> が不正である。"
9922
9923 #. type: Plain text
9924 #: build/C/man2/sigwaitinfo.2:145
9925 msgid ""
9926 "In normal usage, the calling program blocks the signals in I<set> via a "
9927 "prior call to B<sigprocmask>(2)  (so that the default disposition for these "
9928 "signals does not occur if they are delivered between successive calls to "
9929 "B<sigwaitinfo>()  or B<sigtimedwait>())  and does not establish handlers for "
9930 "these signals.  In a multithreaded program, the signal should be blocked in "
9931 "all threads to prevent the signal being delivered to a thread other than the "
9932 "one calling B<sigwaitinfo>()  or B<sigtimedwait>())."
9933 msgstr ""
9934 "通常の使用法では、呼び出し側プロセスはこれらの関数より先に B<sigprocmask>"
9935 "(2)  の呼び出すことにより I<set> に含まれるシグナルをブロックし (そのためにこ"
9936 "れらのシグナルがこの後に続く B<sigwaitinfo>()  や B<sigtimedwait>()  の呼び出"
9937 "しの間に配送された場合には、 デフォルトの配置は行われず)、 これらのシグナルに"
9938 "対するハンドラは設定しない。 マルチスレッドプログラムでは、 B<sigwaitinfo>"
9939 "()  や B<sigtimedwait>()  を呼び出したスレッド以外のスレッドにそのシグナルが"
9940 "配送されないように、 全てのスレッドで該当シグナルをブロックすべきである。"
9941
9942 #. type: Plain text
9943 #: build/C/man2/sigwaitinfo.2:150
9944 msgid ""
9945 "The set of signals that is pending for a given thread is the union of the "
9946 "set of signals that is pending specifically for that thread and the set of "
9947 "signals that is pending for the process as a whole (see B<signal>(7))."
9948 msgstr ""
9949 "指定されたスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体宛ての"
9950 "処理待ちのシグナル集合と、プロセス全体宛ての 処理待ちのシグナル集合をあわせた"
9951 "ものである (B<signal>(7)  参照)。"
9952
9953 #. type: Plain text
9954 #: build/C/man2/sigwaitinfo.2:156
9955 msgid "Attempts to wait for B<SIGKILL> and B<SIGSTOP> are silently ignored."
9956 msgstr "B<SIGKILL> と B<SIGSTOP> を待とうとした場合、黙って無視される。"
9957
9958 #. type: Plain text
9959 #: build/C/man2/sigwaitinfo.2:165
9960 msgid ""
9961 "If multiple threads of a process are blocked waiting for the same signal(s) "
9962 "in B<sigwaitinfo>()  or B<sigtimedwait>(), then exactly one of the threads "
9963 "will actually receive the signal if it is delivered to the process as a "
9964 "whole; which of the threads receives the signal is indeterminate."
9965 msgstr ""
9966 "一つのプロセス内の複数のスレッドが B<sigwaitinfo>()  や B<sigtimedwait>()  で"
9967 "同じシグナルを待って停止した場合、 プロセス全体宛てのシグナルが配送されると、"
9968 "複数のスレッドのうち一つだけが 実際にそのシグナルを受信することになる。 どの"
9969 "スレッドがシグナルを受信するかは決まっていない。"
9970
9971 #. type: Plain text
9972 #: build/C/man2/sigwaitinfo.2:174
9973 msgid ""
9974 "POSIX leaves the meaning of a NULL value for the I<timeout> argument of "
9975 "B<sigtimedwait>()  unspecified, permitting the possibility that this has the "
9976 "same meaning as a call to B<sigwaitinfo>(), and indeed this is what is done "
9977 "on Linux."
9978 msgstr ""
9979 "POSIX では B<sigtimedwait>()  の引き数 I<timeout> の値を NULL にした場合の意"
9980 "味を未定義としている。 B<sigwaitinfo>()  を呼び出したのと同じ意味としてもよい"
9981 "ことになっており、 実際 Linux ではこのように動作する。"
9982
9983 #. type: Plain text
9984 #: build/C/man2/sigwaitinfo.2:179
9985 msgid ""
9986 "On Linux, B<sigwaitinfo>()  is a library function implemented on top of "
9987 "B<sigtimedwait>()."
9988 msgstr ""
9989 "Linux では、 B<sigwaitinfo>()  は B<sigtimedwait>()  を用いて実装されたライブ"
9990 "ラリ関数である。"
9991
9992 #. type: Plain text
9993 #: build/C/man2/sigwaitinfo.2:191
9994 msgid ""
9995 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
9996 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
9997 "(7), B<time>(7)"
9998 msgstr ""
9999 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10000 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10001 "(7), B<time>(7)"
10002
10003 #. type: TH
10004 #: build/C/man3/sysv_signal.3:23
10005 #, no-wrap
10006 msgid "SYSV_SIGNAL"
10007 msgstr "SYSV_SIGNAL"
10008
10009 #. type: TH
10010 #: build/C/man3/sysv_signal.3:23
10011 #, no-wrap
10012 msgid "2007-05-04"
10013 msgstr "2007-05-04"
10014
10015 #. type: Plain text
10016 #: build/C/man3/sysv_signal.3:26
10017 msgid "sysv_signal - signal handling with System V semantics"
10018 msgstr "sysv_signal - System V 方式のシグナル処理"
10019
10020 #. type: Plain text
10021 #: build/C/man3/sysv_signal.3:28
10022 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
10023 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
10024
10025 #. type: Plain text
10026 #: build/C/man3/sysv_signal.3:34
10027 msgid ""
10028 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10029 msgstr ""
10030 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10031
10032 #. type: Plain text
10033 #: build/C/man3/sysv_signal.3:39
10034 msgid ""
10035 "The B<sysv_signal>()  function takes the same arguments, and performs the "
10036 "same task, as B<signal>(2)."
10037 msgstr ""
10038 "B<sysv_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
10039 "る。"
10040
10041 #. type: Plain text
10042 #: build/C/man3/sysv_signal.3:49
10043 msgid ""
10044 "However B<sysv_signal>()  provides the System V unreliable signal semantics, "
10045 "that is: a) the disposition of the signal is reset to the default when the "
10046 "handler is invoked; b) delivery of further instances of the signal is not "
10047 "blocked while the signal handler is executing; and c) if the handler "
10048 "interrupts (certain) blocking system calls, then the system call is not "
10049 "automatically restarted."
10050 msgstr ""
10051 "しかしながら、 B<sysv_signal>()  は System V の信頼性に欠けるシグナル処理方式"
10052 "を提供している。 信頼性に欠けるシグナル処理方式は以下の特徴を持つ。 a) ハンド"
10053 "ラが起動されると、シグナルの処理方法 (disposition) が デフォルトにリセットさ"
10054 "れる、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナルの配送が "
10055 "ブロックされない、 c) ハンドラが停止中の (blocking している) システムコールを"
10056 "中断した場合、 自動的に再開されないシステムコールがある。"
10057
10058 #. type: Plain text
10059 #: build/C/man3/sysv_signal.3:55
10060 msgid ""
10061 "The B<sysv_signal>()  function returns the previous value of the signal "
10062 "handler, or B<SIG_ERR> on error."
10063 msgstr ""
10064 "B<sysv_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
10065 "B<SIG_ERR> を返す。"
10066
10067 #. type: Plain text
10068 #: build/C/man3/sysv_signal.3:60
10069 msgid "This function is nonstandard."
10070 msgstr "この関数は非標準である。"
10071
10072 #. type: Plain text
10073 #: build/C/man3/sysv_signal.3:66
10074 msgid ""
10075 "Use of B<sysv_signal>()  should be avoided; use B<sigaction>(2)  instead."
10076 msgstr ""
10077 "B<sysv_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使う"
10078 "こと。"
10079
10080 #. type: Plain text
10081 #: build/C/man3/sysv_signal.3:77
10082 msgid ""
10083 "On older Linux systems, B<sysv_signal>()  and B<signal>(2)  were "
10084 "equivalent.  But on newer systems, B<signal>(2)  provides reliable signal "
10085 "semantics; see B<signal>(2)  for details."
10086 msgstr ""
10087 "以前の Linux システムでは、 B<sysv_signal>()  と B<signal>(2)  は等価であっ"
10088 "た。しかし、新しめのシステムでは、 B<signal>(2)  は信頼性のあるシグナル処理方"
10089 "式を提供している。 詳細は B<signal>(2)  を参照。"
10090
10091 #. type: Plain text
10092 #: build/C/man3/sysv_signal.3:90
10093 msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10094 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10095
10096 #. type: TH
10097 #: build/C/man2/timer_create.2:29
10098 #, no-wrap
10099 msgid "TIMER_CREATE"
10100 msgstr "TIMER_CREATE"
10101
10102 #. type: TH
10103 #: build/C/man2/timer_create.2:29
10104 #, no-wrap
10105 msgid "2010-09-27"
10106 msgstr "2010-09-27"
10107
10108 #. type: Plain text
10109 #: build/C/man2/timer_create.2:32
10110 msgid "timer_create - create a POSIX per-process timer"
10111 msgstr "timer_create - create a POSIX per-process timer"
10112
10113 #. type: Plain text
10114 #: build/C/man2/timer_create.2:36
10115 #, no-wrap
10116 msgid ""
10117 "B<#include E<lt>signal.hE<gt>>\n"
10118 "B<#include E<lt>time.hE<gt>>\n"
10119 msgstr ""
10120 "B<#include E<lt>signal.hE<gt>>\n"
10121 "B<#include E<lt>time.hE<gt>>\n"
10122
10123 #. type: Plain text
10124 #: build/C/man2/timer_create.2:39
10125 #, no-wrap
10126 msgid ""
10127 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10128 "B<                 timer_t *>I<timerid>B<);>\n"
10129 msgstr ""
10130 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10131 "B<                 timer_t *>I<timerid>B<);>\n"
10132
10133 #. type: Plain text
10134 #: build/C/man2/timer_create.2:42 build/C/man2/timer_delete.2:34
10135 #: build/C/man2/timer_getoverrun.2:34 build/C/man2/timer_settime.2:38
10136 msgid "Link with I<-lrt>."
10137 msgstr "Link with I<-lrt>."
10138
10139 #. type: Plain text
10140 #: build/C/man2/timer_create.2:50
10141 msgid "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10142 msgstr "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10143
10144 #. type: Plain text
10145 #: build/C/man2/timer_create.2:58
10146 msgid ""
10147 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10148 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10149 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10150 "is deleted.  The new timer is initially disarmed."
10151 msgstr ""
10152 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10153 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10154 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10155 "is deleted.  The new timer is initially disarmed."
10156
10157 #. type: Plain text
10158 #: build/C/man2/timer_create.2:63
10159 msgid ""
10160 "The I<clockid> argument specifies the clock that the new timer uses to "
10161 "measure time.  It can be specified as one of the following values:"
10162 msgstr ""
10163 "The I<clockid> argument specifies the clock that the new timer uses to "
10164 "measure time.  It can be specified as one of the following values:"
10165
10166 #. type: TP
10167 #: build/C/man2/timer_create.2:63
10168 #, no-wrap
10169 msgid "B<CLOCK_REALTIME>"
10170 msgstr "B<CLOCK_REALTIME>"
10171
10172 #. type: Plain text
10173 #: build/C/man2/timer_create.2:66
10174 msgid "A settable system-wide real-time clock."
10175 msgstr "A settable system-wide real-time clock."
10176
10177 #. type: TP
10178 #: build/C/man2/timer_create.2:66
10179 #, no-wrap
10180 msgid "B<CLOCK_MONOTONIC>"
10181 msgstr "B<CLOCK_MONOTONIC>"
10182
10183 #.  Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
10184 #.  in 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
10185 #. type: Plain text
10186 #: build/C/man2/timer_create.2:73
10187 msgid ""
10188 "A nonsettable monotonically increasing clock that measures time from some "
10189 "unspecified point in the past that does not change after system startup."
10190 msgstr ""
10191 "A nonsettable monotonically increasing clock that measures time from some "
10192 "unspecified point in the past that does not change after system startup."
10193
10194 #. type: TP
10195 #: build/C/man2/timer_create.2:73
10196 #, no-wrap
10197 msgid "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10198 msgstr "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10199
10200 #. type: Plain text
10201 #: build/C/man2/timer_create.2:77
10202 msgid ""
10203 "A clock that measures (user and system) CPU time consumed by (all of the "
10204 "threads in) the calling process."
10205 msgstr ""
10206 "A clock that measures (user and system) CPU time consumed by (all of the "
10207 "threads in) the calling process."
10208
10209 #. type: TP
10210 #: build/C/man2/timer_create.2:77
10211 #, no-wrap
10212 msgid "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10213 msgstr "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10214
10215 #.  The CLOCK_MONOTONIC_RAW that was added in 2.6.28 can't be used
10216 #.  to create a timer -- mtk, Feb 2009
10217 #. type: Plain text
10218 #: build/C/man2/timer_create.2:83
10219 msgid ""
10220 "A clock that measures (user and system) CPU time consumed by the calling "
10221 "thread."
10222 msgstr ""
10223 "A clock that measures (user and system) CPU time consumed by the calling "
10224 "thread."
10225
10226 #. type: Plain text
10227 #: build/C/man2/timer_create.2:92
10228 msgid ""
10229 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10230 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10231 "(3)."
10232 msgstr ""
10233 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10234 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10235 "(3)."
10236
10237 #. type: Plain text
10238 #: build/C/man2/timer_create.2:101
10239 msgid ""
10240 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10241 "the caller should be notified when the timer expires.  For the definition "
10242 "and general details of this structure, see B<sigevent>(7)."
10243 msgstr ""
10244 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10245 "the caller should be notified when the timer expires.  For the definition "
10246 "and general details of this structure, see B<sigevent>(7)."
10247
10248 #. type: Plain text
10249 #: build/C/man2/timer_create.2:105
10250 msgid "The I<sevp.sigev_notify> field can have the following values:"
10251 msgstr "The I<sevp.sigev_notify> field can have the following values:"
10252
10253 #. type: Plain text
10254 #: build/C/man2/timer_create.2:110
10255 msgid ""
10256 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10257 "can be monitored using B<timer_gettime>(2)."
10258 msgstr ""
10259 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10260 "can be monitored using B<timer_gettime>(2)."
10261
10262 #. type: Plain text
10263 #: build/C/man2/timer_create.2:128
10264 msgid ""
10265 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10266 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10267 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10268 "most one signal is queued to the process for a given timer; see "
10269 "B<timer_getoverrun>(2)  for more details."
10270 msgstr ""
10271 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10272 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10273 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10274 "most one signal is queued to the process for a given timer; see "
10275 "B<timer_getoverrun>(2)  for more details."
10276
10277 #. type: Plain text
10278 #: build/C/man2/timer_create.2:136
10279 msgid ""
10280 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10281 "start function of a new thread.  See B<sigevent>(7)  for details."
10282 msgstr ""
10283 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10284 "start function of a new thread.  See B<sigevent>(7)  for details."
10285
10286 #. type: Plain text
10287 #: build/C/man2/timer_create.2:150
10288 msgid ""
10289 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10290 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10291 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10292 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10293 "(2).  This flag is only intended for use by threading libraries."
10294 msgstr ""
10295 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10296 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10297 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10298 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10299 "(2).  This flag is only intended for use by threading libraries."
10300
10301 #. type: Plain text
10302 #: build/C/man2/timer_create.2:165
10303 msgid ""
10304 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10305 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10306 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10307 msgstr ""
10308 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10309 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10310 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10311
10312 #. type: Plain text
10313 #: build/C/man2/timer_create.2:173
10314 msgid ""
10315 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10316 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10317 "indicate the error."
10318 msgstr ""
10319 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10320 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10321 "indicate the error."
10322
10323 #. type: Plain text
10324 #: build/C/man2/timer_create.2:177
10325 msgid "Temporary error during kernel allocation of timer structures."
10326 msgstr "Temporary error during kernel allocation of timer structures."
10327
10328 #. type: Plain text
10329 #: build/C/man2/timer_create.2:185
10330 msgid ""
10331 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10332 "invalid."
10333 msgstr ""
10334 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10335 "invalid."
10336
10337 #.  glibc layer: malloc()
10338 #. type: Plain text
10339 #: build/C/man2/timer_create.2:189
10340 msgid "Could not allocate memory."
10341 msgstr "Could not allocate memory."
10342
10343 #. type: Plain text
10344 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
10345 #: build/C/man2/timer_getoverrun.2:94
10346 msgid "This system call is available since Linux 2.6."
10347 msgstr "This system call is available since Linux 2.6."
10348
10349 #. type: Plain text
10350 #: build/C/man2/timer_create.2:196
10351 msgid "A program may create multiple interval timers using B<timer_create>()."
10352 msgstr "A program may create multiple interval timers using B<timer_create>()."
10353
10354 #. type: Plain text
10355 #: build/C/man2/timer_create.2:201
10356 msgid ""
10357 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10358 "deleted during an B<execve>(2)."
10359 msgstr ""
10360 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10361 "deleted during an B<execve>(2)."
10362
10363 #. type: Plain text
10364 #: build/C/man2/timer_create.2:209
10365 msgid ""
10366 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10367 "using B<timer_create>().  Consequently, the number of timers is limited by "
10368 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10369 msgstr ""
10370 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10371 "using B<timer_create>().  Consequently, the number of timers is limited by "
10372 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10373
10374 #. type: Plain text
10375 #: build/C/man2/timer_create.2:214
10376 msgid ""
10377 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10378 "(interval) timers\".  The POSIX timers API consists of the following "
10379 "interfaces:"
10380 msgstr ""
10381 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10382 "(interval) timers\".  The POSIX timers API consists of the following "
10383 "interfaces:"
10384
10385 #. type: Plain text
10386 #: build/C/man2/timer_create.2:217
10387 msgid "B<timer_create>(): Create a timer."
10388 msgstr "B<timer_create>(): Create a timer."
10389
10390 #. type: Plain text
10391 #: build/C/man2/timer_create.2:220
10392 msgid "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10393 msgstr "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10394
10395 #. type: Plain text
10396 #: build/C/man2/timer_create.2:224
10397 msgid ""
10398 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10399 "timer, along with the interval setting of the timer."
10400 msgstr ""
10401 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10402 "timer, along with the interval setting of the timer."
10403
10404 #. type: Plain text
10405 #: build/C/man2/timer_create.2:227
10406 msgid ""
10407 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10408 "expiration."
10409 msgstr ""
10410 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10411 "expiration."
10412
10413 #. type: Plain text
10414 #: build/C/man2/timer_create.2:230
10415 msgid "B<timer_delete>(2): Disarm and delete a timer."
10416 msgstr "B<timer_delete>(2): Disarm and delete a timer."
10417
10418 #. type: Plain text
10419 #: build/C/man2/timer_create.2:233
10420 msgid ""
10421 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10422 "particular:"
10423 msgstr ""
10424 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10425 "particular:"
10426
10427 #. type: Plain text
10428 #: build/C/man2/timer_create.2:237
10429 msgid ""
10430 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10431 "than the kernel."
10432 msgstr ""
10433 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10434 "than the kernel."
10435
10436 #.  See the glibc source file kernel-posix-timers.h for the structure
10437 #.  that glibc uses to map userspace timer IDs to kernel timer IDs
10438 #.  The kernel-level timer ID is exposed via siginfo.si_tid.
10439 #. type: Plain text
10440 #: build/C/man2/timer_create.2:243
10441 msgid ""
10442 "The timer IDs presented at user level are maintained by glibc, which maps "
10443 "these IDs to the timer IDs employed by the kernel."
10444 msgstr ""
10445 "The timer IDs presented at user level are maintained by glibc, which maps "
10446 "these IDs to the timer IDs employed by the kernel."
10447
10448 #. type: Plain text
10449 #: build/C/man2/timer_create.2:251
10450 msgid ""
10451 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10452 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10453 "timers only) using POSIX threads, and current glibc falls back to this "
10454 "implementation on systems running pre-2.6 Linux kernels."
10455 msgstr ""
10456 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10457 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10458 "timers only) using POSIX threads, and current glibc falls back to this "
10459 "implementation on systems running pre-2.6 Linux kernels."
10460
10461 #. type: Plain text
10462 #: build/C/man2/timer_create.2:263
10463 msgid ""
10464 "The program below takes two arguments: a sleep period in seconds, and a "
10465 "timer frequency in nanoseconds.  The program establishes a handler for the "
10466 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10467 "that expires with the given frequency, sleeps for the specified number of "
10468 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10469 "expired at least once while the program slept, the signal handler will be "
10470 "invoked, and the handler displays some information about the timer "
10471 "notification.  The program terminates after one invocation of the signal "
10472 "handler."
10473 msgstr ""
10474 "The program below takes two arguments: a sleep period in seconds, and a "
10475 "timer frequency in nanoseconds.  The program establishes a handler for the "
10476 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10477 "that expires with the given frequency, sleeps for the specified number of "
10478 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10479 "expired at least once while the program slept, the signal handler will be "
10480 "invoked, and the handler displays some information about the timer "
10481 "notification.  The program terminates after one invocation of the signal "
10482 "handler."
10483
10484 #. type: Plain text
10485 #: build/C/man2/timer_create.2:268
10486 msgid ""
10487 "In the following example run, the program sleeps for 1 second, after "
10488 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10489 "signal is unblocked and delivered, there have been around ten million "
10490 "overruns."
10491 msgstr ""
10492 "In the following example run, the program sleeps for 1 second, after "
10493 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10494 "signal is unblocked and delivered, there have been around ten million "
10495 "overruns."
10496
10497 #. type: Plain text
10498 #: build/C/man2/timer_create.2:280
10499 #, no-wrap
10500 msgid ""
10501 "$ B<./a.out 1 100>\n"
10502 "Establishing handler for signal 34\n"
10503 "Blocking signal 34\n"
10504 "timer ID is 0x804c008\n"
10505 "Sleeping for 1 seconds\n"
10506 "Unblocking signal 34\n"
10507 "Caught signal 34\n"
10508 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10509 "    overrun count = 10004886\n"
10510 msgstr ""
10511 "$ B<./a.out 1 100>\n"
10512 "Establishing handler for signal 34\n"
10513 "Blocking signal 34\n"
10514 "timer ID is 0x804c008\n"
10515 "Sleeping for 1 seconds\n"
10516 "Unblocking signal 34\n"
10517 "Caught signal 34\n"
10518 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10519 "    overrun count = 10004886\n"
10520
10521 #. type: SS
10522 #: build/C/man2/timer_create.2:282
10523 #, no-wrap
10524 msgid "Program Source"
10525 msgstr "Program Source"
10526
10527 #. type: Plain text
10528 #: build/C/man2/timer_create.2:290
10529 #, no-wrap
10530 msgid ""
10531 "#include E<lt>stdlib.hE<gt>\n"
10532 "#include E<lt>unistd.hE<gt>\n"
10533 "#include E<lt>stdio.hE<gt>\n"
10534 "#include E<lt>signal.hE<gt>\n"
10535 "#include E<lt>time.hE<gt>\n"
10536 msgstr ""
10537 "#include E<lt>stdlib.hE<gt>\n"
10538 "#include E<lt>unistd.hE<gt>\n"
10539 "#include E<lt>stdio.hE<gt>\n"
10540 "#include E<lt>signal.hE<gt>\n"
10541 "#include E<lt>time.hE<gt>\n"
10542
10543 #. type: Plain text
10544 #: build/C/man2/timer_create.2:293
10545 #, no-wrap
10546 msgid ""
10547 "#define CLOCKID CLOCK_REALTIME\n"
10548 "#define SIG SIGRTMIN\n"
10549 msgstr ""
10550 "#define CLOCKID CLOCK_REALTIME\n"
10551 "#define SIG SIGRTMIN\n"
10552
10553 #. type: Plain text
10554 #: build/C/man2/timer_create.2:296
10555 #, no-wrap
10556 msgid ""
10557 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10558 "                        } while (0)\n"
10559 msgstr ""
10560 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10561 "                        } while (0)\n"
10562
10563 #. type: Plain text
10564 #: build/C/man2/timer_create.2:302
10565 #, no-wrap
10566 msgid ""
10567 "static void\n"
10568 "print_siginfo(siginfo_t *si)\n"
10569 "{\n"
10570 "    timer_t *tidp;\n"
10571 "    int or;\n"
10572 msgstr ""
10573 "static void\n"
10574 "print_siginfo(siginfo_t *si)\n"
10575 "{\n"
10576 "    timer_t *tidp;\n"
10577 "    int or;\n"
10578
10579 #. type: Plain text
10580 #: build/C/man2/timer_create.2:304
10581 #, no-wrap
10582 msgid "    tidp = si-E<gt>si_value.sival_ptr;\n"
10583 msgstr "    tidp = si-E<gt>si_value.sival_ptr;\n"
10584
10585 #. type: Plain text
10586 #: build/C/man2/timer_create.2:307
10587 #, no-wrap
10588 msgid ""
10589 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10590 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10591 msgstr ""
10592 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10593 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10594
10595 #. type: Plain text
10596 #: build/C/man2/timer_create.2:314
10597 #, no-wrap
10598 msgid ""
10599 "    or = timer_getoverrun(*tidp);\n"
10600 "    if (or == -1)\n"
10601 "        errExit(\"timer_getoverrun\");\n"
10602 "    else\n"
10603 "        printf(\"    overrun count = %d\\en\", or);\n"
10604 "}\n"
10605 msgstr ""
10606 "    or = timer_getoverrun(*tidp);\n"
10607 "    if (or == -1)\n"
10608 "        errExit(\"timer_getoverrun\");\n"
10609 "    else\n"
10610 "        printf(\"    overrun count = %d\\en\", or);\n"
10611 "}\n"
10612
10613 #. type: Plain text
10614 #: build/C/man2/timer_create.2:321
10615 #, no-wrap
10616 msgid ""
10617 "static void\n"
10618 "handler(int sig, siginfo_t *si, void *uc)\n"
10619 "{\n"
10620 "    /* Note: calling printf() from a signal handler is not\n"
10621 "       strictly correct, since printf() is not async-signal-safe;\n"
10622 "       see signal(7) */\n"
10623 msgstr ""
10624 "static void\n"
10625 "handler(int sig, siginfo_t *si, void *uc)\n"
10626 "{\n"
10627 "    /* Note: calling printf() from a signal handler is not\n"
10628 "       strictly correct, since printf() is not async-signal-safe;\n"
10629 "       see signal(7) */\n"
10630
10631 #. type: Plain text
10632 #: build/C/man2/timer_create.2:326
10633 #, no-wrap
10634 msgid ""
10635 "    printf(\"Caught signal %d\\en\", sig);\n"
10636 "    print_siginfo(si);\n"
10637 "    signal(sig, SIG_IGN);\n"
10638 "}\n"
10639 msgstr ""
10640 "    printf(\"Caught signal %d\\en\", sig);\n"
10641 "    print_siginfo(si);\n"
10642 "    signal(sig, SIG_IGN);\n"
10643 "}\n"
10644
10645 #. type: Plain text
10646 #: build/C/man2/timer_create.2:336
10647 #, no-wrap
10648 msgid ""
10649 "int\n"
10650 "main(int argc, char *argv[])\n"
10651 "{\n"
10652 "    timer_t timerid;\n"
10653 "    struct sigevent sev;\n"
10654 "    struct itimerspec its;\n"
10655 "    long long freq_nanosecs;\n"
10656 "    sigset_t mask;\n"
10657 "    struct sigaction sa;\n"
10658 msgstr ""
10659 "int\n"
10660 "main(int argc, char *argv[])\n"
10661 "{\n"
10662 "    timer_t timerid;\n"
10663 "    struct sigevent sev;\n"
10664 "    struct itimerspec its;\n"
10665 "    long long freq_nanosecs;\n"
10666 "    sigset_t mask;\n"
10667 "    struct sigaction sa;\n"
10668
10669 #. type: Plain text
10670 #: build/C/man2/timer_create.2:342
10671 #, no-wrap
10672 msgid ""
10673 "    if (argc != 3) {\n"
10674 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10675 "                argv[0]);\n"
10676 "        exit(EXIT_FAILURE);\n"
10677 "    }\n"
10678 msgstr ""
10679 "    if (argc != 3) {\n"
10680 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10681 "                argv[0]);\n"
10682 "        exit(EXIT_FAILURE);\n"
10683 "    }\n"
10684
10685 #. type: Plain text
10686 #: build/C/man2/timer_create.2:344
10687 #, no-wrap
10688 msgid "    /* Establish handler for timer signal */\n"
10689 msgstr "    /* Establish handler for timer signal */\n"
10690
10691 #. type: Plain text
10692 #: build/C/man2/timer_create.2:351
10693 #, no-wrap
10694 msgid ""
10695 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10696 "    sa.sa_flags = SA_SIGINFO;\n"
10697 "    sa.sa_sigaction = handler;\n"
10698 "    sigemptyset(&sa.sa_mask);\n"
10699 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10700 "        errExit(\"sigaction\");\n"
10701 msgstr ""
10702 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10703 "    sa.sa_flags = SA_SIGINFO;\n"
10704 "    sa.sa_sigaction = handler;\n"
10705 "    sigemptyset(&sa.sa_mask);\n"
10706 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10707 "        errExit(\"sigaction\");\n"
10708
10709 #. type: Plain text
10710 #: build/C/man2/timer_create.2:353
10711 #, no-wrap
10712 msgid "    /* Block timer signal temporarily */\n"
10713 msgstr "    /* Block timer signal temporarily */\n"
10714
10715 #. type: Plain text
10716 #: build/C/man2/timer_create.2:359
10717 #, no-wrap
10718 msgid ""
10719 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10720 "    sigemptyset(&mask);\n"
10721 "    sigaddset(&mask, SIG);\n"
10722 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10723 "        errExit(\"sigprocmask\");\n"
10724 msgstr ""
10725 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10726 "    sigemptyset(&mask);\n"
10727 "    sigaddset(&mask, SIG);\n"
10728 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10729 "        errExit(\"sigprocmask\");\n"
10730
10731 #. type: Plain text
10732 #: build/C/man2/timer_create.2:361
10733 #, no-wrap
10734 msgid "    /* Create the timer */\n"
10735 msgstr "    /* Create the timer */\n"
10736
10737 #. type: Plain text
10738 #: build/C/man2/timer_create.2:367
10739 #, no-wrap
10740 msgid ""
10741 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
10742 "    sev.sigev_signo = SIG;\n"
10743 "    sev.sigev_value.sival_ptr = &timerid;\n"
10744 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
10745 "        errExit(\"timer_create\");\n"
10746 msgstr ""
10747 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
10748 "    sev.sigev_signo = SIG;\n"
10749 "    sev.sigev_value.sival_ptr = &timerid;\n"
10750 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
10751 "        errExit(\"timer_create\");\n"
10752
10753 #. type: Plain text
10754 #: build/C/man2/timer_create.2:369
10755 #, no-wrap
10756 msgid "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
10757 msgstr "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
10758
10759 #. type: Plain text
10760 #: build/C/man2/timer_create.2:371
10761 #, no-wrap
10762 msgid "    /* Start the timer */\n"
10763 msgstr "    /* Start the timer */\n"
10764
10765 #. type: Plain text
10766 #: build/C/man2/timer_create.2:377
10767 #, no-wrap
10768 msgid ""
10769 "    freq_nanosecs = atoll(argv[2]);\n"
10770 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
10771 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
10772 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
10773 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
10774 msgstr ""
10775 "    freq_nanosecs = atoll(argv[2]);\n"
10776 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
10777 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
10778 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
10779 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
10780
10781 #. type: Plain text
10782 #: build/C/man2/timer_create.2:380
10783 #, no-wrap
10784 msgid ""
10785 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
10786 "         errExit(\"timer_settime\");\n"
10787 msgstr ""
10788 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
10789 "         errExit(\"timer_settime\");\n"
10790
10791 #. type: Plain text
10792 #: build/C/man2/timer_create.2:383
10793 #, no-wrap
10794 msgid ""
10795 "    /* Sleep for a while; meanwhile, the timer may expire\n"
10796 "       multiple times */\n"
10797 msgstr ""
10798 "    /* Sleep for a while; meanwhile, the timer may expire\n"
10799 "       multiple times */\n"
10800
10801 #. type: Plain text
10802 #: build/C/man2/timer_create.2:386
10803 #, no-wrap
10804 msgid ""
10805 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
10806 "    sleep(atoi(argv[1]));\n"
10807 msgstr ""
10808 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
10809 "    sleep(atoi(argv[1]));\n"
10810
10811 #. type: Plain text
10812 #: build/C/man2/timer_create.2:389
10813 #, no-wrap
10814 msgid ""
10815 "    /* Unlock the timer signal, so that timer notification\n"
10816 "       can be delivered */\n"
10817 msgstr ""
10818 "    /* Unlock the timer signal, so that timer notification\n"
10819 "       can be delivered */\n"
10820
10821 #. type: Plain text
10822 #: build/C/man2/timer_create.2:393
10823 #, no-wrap
10824 msgid ""
10825 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
10826 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
10827 "        errExit(\"sigprocmask\");\n"
10828 msgstr ""
10829 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
10830 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
10831 "        errExit(\"sigprocmask\");\n"
10832
10833 #. type: Plain text
10834 #: build/C/man2/timer_create.2:396 build/C/man2/timerfd_create.2:533
10835 #, no-wrap
10836 msgid ""
10837 "    exit(EXIT_SUCCESS);\n"
10838 "}\n"
10839 msgstr ""
10840 "    exit(EXIT_SUCCESS);\n"
10841 "}\n"
10842
10843 #. type: Plain text
10844 #: build/C/man2/timer_create.2:410
10845 msgid ""
10846 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
10847 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
10848 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
10849 "B<time>(7)"
10850 msgstr ""
10851 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
10852 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
10853 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
10854 "B<time>(7)"
10855
10856 #. type: TH
10857 #: build/C/man2/timer_delete.2:23
10858 #, no-wrap
10859 msgid "TIMER_DELETE"
10860 msgstr "TIMER_DELETE"
10861
10862 #. type: TH
10863 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
10864 #: build/C/man2/timer_settime.2:23
10865 #, no-wrap
10866 msgid "2009-02-20"
10867 msgstr "2009-02-20"
10868
10869 #. type: Plain text
10870 #: build/C/man2/timer_delete.2:26
10871 msgid "timer_delete - delete a POSIX per-process timer"
10872 msgstr "timer_delete - delete a POSIX per-process timer"
10873
10874 #. type: Plain text
10875 #: build/C/man2/timer_delete.2:29 build/C/man2/timer_getoverrun.2:29
10876 #: build/C/man2/timer_settime.2:30
10877 #, no-wrap
10878 msgid "B<#include E<lt>time.hE<gt>>\n"
10879 msgstr "B<#include E<lt>time.hE<gt>>\n"
10880
10881 #. type: Plain text
10882 #: build/C/man2/timer_delete.2:31
10883 #, no-wrap
10884 msgid "B<int timer_delete(timer_t >I<timerid>B<);>\n"
10885 msgstr "B<int timer_delete(timer_t >I<timerid>B<);>\n"
10886
10887 #. type: Plain text
10888 #: build/C/man2/timer_delete.2:42
10889 msgid "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10890 msgstr "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10891
10892 #. type: Plain text
10893 #: build/C/man2/timer_delete.2:50
10894 msgid ""
10895 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
10896 "the timer was armed at the time of this call, it is disarmed before being "
10897 "deleted.  The treatment of any pending signal generated by the deleted timer "
10898 "is unspecified."
10899 msgstr ""
10900 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
10901 "the timer was armed at the time of this call, it is disarmed before being "
10902 "deleted.  The treatment of any pending signal generated by the deleted timer "
10903 "is unspecified."
10904
10905 #. type: Plain text
10906 #: build/C/man2/timer_delete.2:57
10907 msgid ""
10908 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
10909 "I<errno> is set to indicate the error."
10910 msgstr ""
10911 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
10912 "I<errno> is set to indicate the error."
10913
10914 #. type: Plain text
10915 #: build/C/man2/timer_delete.2:62 build/C/man2/timer_getoverrun.2:92
10916 msgid "I<timerid> is not a valid timer ID."
10917 msgstr "I<timerid> is not a valid timer ID."
10918
10919 #. type: Plain text
10920 #: build/C/man2/timer_delete.2:72
10921 msgid ""
10922 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
10923 "B<timer_settime>(2), B<time>(7)"
10924 msgstr ""
10925 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
10926 "B<timer_settime>(2), B<time>(7)"
10927
10928 #. type: TH
10929 #: build/C/man2/timer_getoverrun.2:23
10930 #, no-wrap
10931 msgid "TIMER_GETOVERRUN"
10932 msgstr "TIMER_GETOVERRUN"
10933
10934 #. type: Plain text
10935 #: build/C/man2/timer_getoverrun.2:26
10936 msgid "timer_getoverrun - get overrun count for a POSIX per-process timer"
10937 msgstr "timer_getoverrun - get overrun count for a POSIX per-process timer"
10938
10939 #. type: Plain text
10940 #: build/C/man2/timer_getoverrun.2:31
10941 #, no-wrap
10942 msgid "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
10943 msgstr "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
10944
10945 #. type: Plain text
10946 #: build/C/man2/timer_getoverrun.2:42
10947 msgid "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10948 msgstr "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10949
10950 #. type: Plain text
10951 #: build/C/man2/timer_getoverrun.2:53
10952 msgid ""
10953 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
10954 "to by I<timerid>.  An application can use the overrun count to accurately "
10955 "calculate the number of timer expirations that would have occurred over a "
10956 "given time interval.  Timer overruns can occur both when receiving "
10957 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
10958 "(B<SIGEV_THREAD>)."
10959 msgstr ""
10960 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
10961 "to by I<timerid>.  An application can use the overrun count to accurately "
10962 "calculate the number of timer expirations that would have occurred over a "
10963 "given time interval.  Timer overruns can occur both when receiving "
10964 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
10965 "(B<SIGEV_THREAD>)."
10966
10967 #. type: Plain text
10968 #: build/C/man2/timer_getoverrun.2:73
10969 msgid ""
10970 "When expiration notifications are delivered via a signal, overruns can occur "
10971 "as follows.  Regardless of whether or not a real-time signal is used for "
10972 "timer notifications, the system queues at most one signal per timer.  (This "
10973 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
10974 "signal for each timer expiration, could easily result in overflowing the "
10975 "allowed limits for queued signals on the system.)  Because of system "
10976 "scheduling delays, or because the signal may be temporarily blocked, there "
10977 "can be a delay between the time when the notification signal is generated "
10978 "and the time when it is delivered (e.g., caught by a signal handler) or "
10979 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
10980 "expirations may occur.  The timer overrun count is the number of additional "
10981 "timer expirations that occurred between the time when the signal was "
10982 "generated and when it was delivered or accepted."
10983 msgstr ""
10984 "When expiration notifications are delivered via a signal, overruns can occur "
10985 "as follows.  Regardless of whether or not a real-time signal is used for "
10986 "timer notifications, the system queues at most one signal per timer.  (This "
10987 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
10988 "signal for each timer expiration, could easily result in overflowing the "
10989 "allowed limits for queued signals on the system.)  Because of system "
10990 "scheduling delays, or because the signal may be temporarily blocked, there "
10991 "can be a delay between the time when the notification signal is generated "
10992 "and the time when it is delivered (e.g., caught by a signal handler) or "
10993 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
10994 "expirations may occur.  The timer overrun count is the number of additional "
10995 "timer expirations that occurred between the time when the signal was "
10996 "generated and when it was delivered or accepted."
10997
10998 #. type: Plain text
10999 #: build/C/man2/timer_getoverrun.2:79
11000 msgid ""
11001 "Timer overruns can also occur when expiration notifications are delivered "
11002 "via invocation of a thread, since there may be an arbitrary delay between an "
11003 "expiration of the timer and the invocation of the notification thread, and "
11004 "in that delay interval, additional timer expirations may occur"
11005 msgstr ""
11006 "Timer overruns can also occur when expiration notifications are delivered "
11007 "via invocation of a thread, since there may be an arbitrary delay between an "
11008 "expiration of the timer and the invocation of the notification thread, and "
11009 "in that delay interval, additional timer expirations may occur"
11010
11011 #. type: Plain text
11012 #: build/C/man2/timer_getoverrun.2:87
11013 msgid ""
11014 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11015 "specified timer; this count may be 0 if no overruns have occurred.  On "
11016 "failure, -1 is returned, and I<errno> is set to indicate the error."
11017 msgstr ""
11018 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11019 "specified timer; this count may be 0 if no overruns have occurred.  On "
11020 "failure, -1 is returned, and I<errno> is set to indicate the error."
11021
11022 #. type: Plain text
11023 #: build/C/man2/timer_getoverrun.2:108
11024 msgid ""
11025 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11026 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11027 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11028 "application to avoid the overhead of making a system call to obtain the "
11029 "overrun count, but is a nonportable extension to POSIX.1-2001."
11030 msgstr ""
11031 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11032 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11033 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11034 "application to avoid the overhead of making a system call to obtain the "
11035 "overrun count, but is a nonportable extension to POSIX.1-2001."
11036
11037 #.  FIXME . Austin bug filed, 11 Feb 09
11038 #. type: Plain text
11039 #: build/C/man2/timer_getoverrun.2:112
11040 msgid ""
11041 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11042 "notifications using signals."
11043 msgstr ""
11044 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11045 "notifications using signals."
11046
11047 #.  Bug filed: http://bugzilla.kernel.org/show_bug.cgi?id=12665
11048 #.  http://thread.gmane.org/gmane.linux.kernel/113276/
11049 #. type: Plain text
11050 #: build/C/man2/timer_getoverrun.2:125
11051 msgid ""
11052 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11053 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11054 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11055 "not implement this feature: instead, if the timer overrun value exceeds the "
11056 "maximum representable integer, the counter cycles, starting once more from "
11057 "low values."
11058 msgstr ""
11059 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11060 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11061 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11062 "not implement this feature: instead, if the timer overrun value exceeds the "
11063 "maximum representable integer, the counter cycles, starting once more from "
11064 "low values."
11065
11066 #. type: Plain text
11067 #: build/C/man2/timer_getoverrun.2:128 build/C/man2/timer_settime.2:208
11068 msgid "See B<timer_create>(2)."
11069 msgstr "See B<timer_create>(2)."
11070
11071 #. type: Plain text
11072 #: build/C/man2/timer_getoverrun.2:138
11073 msgid ""
11074 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11075 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11076 "B<time>(7)"
11077 msgstr ""
11078 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11079 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11080 "B<time>(7)"
11081
11082 #. type: TH
11083 #: build/C/man2/timer_settime.2:23
11084 #, no-wrap
11085 msgid "TIMER_SETTIME"
11086 msgstr "TIMER_SETTIME"
11087
11088 #. type: Plain text
11089 #: build/C/man2/timer_settime.2:27
11090 msgid ""
11091 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11092 "process timer"
11093 msgstr ""
11094 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11095 "process timer"
11096
11097 #. type: Plain text
11098 #: build/C/man2/timer_settime.2:35
11099 #, no-wrap
11100 msgid ""
11101 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11102 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11103 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11104 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11105 msgstr ""
11106 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11107 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11108 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11109 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11110
11111 #. type: Plain text
11112 #: build/C/man2/timer_settime.2:47
11113 msgid ""
11114 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11115 msgstr ""
11116 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11117
11118 #. type: Plain text
11119 #: build/C/man2/timer_settime.2:60
11120 msgid ""
11121 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11122 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11123 "initial value and the new interval for the timer.  The I<itimerspec> "
11124 "structure is defined as follows:"
11125 msgstr ""
11126 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11127 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11128 "initial value and the new interval for the timer.  The I<itimerspec> "
11129 "structure is defined as follows:"
11130
11131 #. type: Plain text
11132 #: build/C/man2/timer_settime.2:67 build/C/man2/timerfd_create.2:127
11133 #, no-wrap
11134 msgid ""
11135 "struct timespec {\n"
11136 "    time_t tv_sec;                /* Seconds */\n"
11137 "    long   tv_nsec;               /* Nanoseconds */\n"
11138 "};\n"
11139 msgstr ""
11140 "struct timespec {\n"
11141 "    time_t tv_sec;                /* Seconds */\n"
11142 "    long   tv_nsec;               /* Nanoseconds */\n"
11143 "};\n"
11144
11145 #. type: Plain text
11146 #: build/C/man2/timer_settime.2:72
11147 #, no-wrap
11148 msgid ""
11149 "struct itimerspec {\n"
11150 "    struct timespec it_interval;  /* Timer interval */\n"
11151 "    struct timespec it_value;     /* Initial expiration */\n"
11152 "};\n"
11153 msgstr ""
11154 "struct itimerspec {\n"
11155 "    struct timespec it_interval;  /* Timer interval */\n"
11156 "    struct timespec it_value;     /* Initial expiration */\n"
11157 "};\n"
11158
11159 #. type: Plain text
11160 #: build/C/man2/timer_settime.2:84
11161 msgid ""
11162 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11163 "structure that allows a time value to be specified in seconds and "
11164 "nanoseconds.  These time values are measured according to the clock that was "
11165 "specified when the timer was created by B<timer_create>(2)"
11166 msgstr ""
11167 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11168 "structure that allows a time value to be specified in seconds and "
11169 "nanoseconds.  These time values are measured according to the clock that was "
11170 "specified when the timer was created by B<timer_create>(2)"
11171
11172 #. type: Plain text
11173 #: build/C/man2/timer_settime.2:98
11174 msgid ""
11175 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11176 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11177 "setting it to initially expire at the given time.  (If the timer was already "
11178 "armed, then the previous settings are overwritten.)  If I<new_value-"
11179 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11180 "the timer is disarmed."
11181 msgstr ""
11182 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11183 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11184 "setting it to initially expire at the given time.  (If the timer was already "
11185 "armed, then the previous settings are overwritten.)  If I<new_value-"
11186 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11187 "the timer is disarmed."
11188
11189 #. type: Plain text
11190 #: build/C/man2/timer_settime.2:110
11191 msgid ""
11192 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11193 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11194 "an armed timer expires, the timer is reloaded from the value specified in "
11195 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11196 "zero value then the timer expires just once, at the time specified by "
11197 "I<it_value>."
11198 msgstr ""
11199 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11200 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11201 "an armed timer expires, the timer is reloaded from the value specified in "
11202 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11203 "zero value then the timer expires just once, at the time specified by "
11204 "I<it_value>."
11205
11206 #.  By experiment: the overrun count is set correctly, for CLOCK_REALTIME.
11207 #. type: Plain text
11208 #: build/C/man2/timer_settime.2:131
11209 msgid ""
11210 "By default, the initial expiration time specified in I<new_value-"
11211 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11212 "clock at the time of the call.  This can be modified by specifying "
11213 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11214 "interpreted as an absolute value as measured on the timer's clock; that is, "
11215 "the timer will expire when the clock value reaches the value specified by "
11216 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11217 "passed, then the timer expires immediately, and the overrun count (see "
11218 "B<timer_getoverrun>(2))  will be set correctly."
11219 msgstr ""
11220 "By default, the initial expiration time specified in I<new_value-"
11221 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11222 "clock at the time of the call.  This can be modified by specifying "
11223 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11224 "interpreted as an absolute value as measured on the timer's clock; that is, "
11225 "the timer will expire when the clock value reaches the value specified by "
11226 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11227 "passed, then the timer expires immediately, and the overrun count (see "
11228 "B<timer_getoverrun>(2))  will be set correctly."
11229
11230 #.  Similar remarks might apply with respect to process and thread CPU time
11231 #.  clocks, but these clocks are not currently (2.6.28) settable on Linux.
11232 #. type: Plain text
11233 #: build/C/man2/timer_settime.2:141
11234 msgid ""
11235 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11236 "timer based on that clock is armed, then the expiration of the timer will be "
11237 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11238 "effect on relative timers based on that clock."
11239 msgstr ""
11240 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11241 "timer based on that clock is armed, then the expiration of the timer will be "
11242 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11243 "effect on relative timers based on that clock."
11244
11245 #. type: Plain text
11246 #: build/C/man2/timer_settime.2:149
11247 msgid ""
11248 "If I<old_value> is not NULL, then it returns the previous interval of the "
11249 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11250 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11251 msgstr ""
11252 "If I<old_value> is not NULL, then it returns the previous interval of the "
11253 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11254 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11255
11256 #. type: Plain text
11257 #: build/C/man2/timer_settime.2:169
11258 msgid ""
11259 "B<timer_gettime>()  returns the time until next expiration, and the "
11260 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11261 "I<curr_value>.  The time remaining until the next timer expiration is "
11262 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11263 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11264 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11265 "the timer is currently disarmed.  The timer interval is returned in "
11266 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11267 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11268 msgstr ""
11269 "B<timer_gettime>()  returns the time until next expiration, and the "
11270 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11271 "I<curr_value>.  The time remaining until the next timer expiration is "
11272 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11273 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11274 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11275 "the timer is currently disarmed.  The timer interval is returned in "
11276 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11277 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11278
11279 #. type: Plain text
11280 #: build/C/man2/timer_settime.2:178
11281 msgid ""
11282 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11283 "-1 is returned, and I<errno> is set to indicate the error."
11284 msgstr ""
11285 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11286 "-1 is returned, and I<errno> is set to indicate the error."
11287
11288 #. type: Plain text
11289 #: build/C/man2/timer_settime.2:180
11290 msgid "These functions may fail with the following errors:"
11291 msgstr "These functions may fail with the following errors:"
11292
11293 #. type: Plain text
11294 #: build/C/man2/timer_settime.2:187
11295 msgid "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11296 msgstr "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11297
11298 #.  FIXME . eventually: invalid value in flags
11299 #. type: Plain text
11300 #: build/C/man2/timer_settime.2:192
11301 msgid "I<timerid> is invalid."
11302 msgstr "I<timerid> is invalid."
11303
11304 #. type: Plain text
11305 #: build/C/man2/timer_settime.2:195
11306 msgid "B<timer_settime>()  may fail with the following errors:"
11307 msgstr "B<timer_settime>()  may fail with the following errors:"
11308
11309 #. type: Plain text
11310 #: build/C/man2/timer_settime.2:201
11311 msgid ""
11312 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11313 "negative or greater than 999,999,999."
11314 msgstr ""
11315 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11316 "negative or greater than 999,999,999."
11317
11318 #. type: Plain text
11319 #: build/C/man2/timer_settime.2:203
11320 msgid "These system calls are available since Linux 2.6."
11321 msgstr "These system calls are available since Linux 2.6."
11322
11323 #. type: Plain text
11324 #: build/C/man2/timer_settime.2:212
11325 msgid "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11326 msgstr "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11327
11328 #. type: TH
11329 #: build/C/man2/timerfd_create.2:20
11330 #, no-wrap
11331 msgid "TIMERFD_CREATE"
11332 msgstr "TIMERFD_CREATE"
11333
11334 #. type: TH
11335 #: build/C/man2/timerfd_create.2:20
11336 #, fuzzy, no-wrap
11337 #| msgid "2011-09-18"
11338 msgid "2011-09-14"
11339 msgstr "2011-09-18"
11340
11341 #. type: Plain text
11342 #: build/C/man2/timerfd_create.2:24
11343 msgid ""
11344 "timerfd_create, timerfd_settime, timerfd_gettime - timers that notify via "
11345 "file descriptors"
11346 msgstr ""
11347 "timerfd_create, timerfd_settime, timerfd_gettime - ファイルディスクリプタ経由"
11348 "で通知するタイマー"
11349
11350 #. type: Plain text
11351 #: build/C/man2/timerfd_create.2:27
11352 #, no-wrap
11353 msgid "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11354 msgstr "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11355
11356 #. type: Plain text
11357 #: build/C/man2/timerfd_create.2:29
11358 #, no-wrap
11359 msgid "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11360 msgstr "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11361
11362 #. type: Plain text
11363 #: build/C/man2/timerfd_create.2:33
11364 #, no-wrap
11365 msgid ""
11366 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11367 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11368 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11369 msgstr ""
11370 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11371 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11372 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11373
11374 #. type: Plain text
11375 #: build/C/man2/timerfd_create.2:35
11376 #, no-wrap
11377 msgid "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11378 msgstr "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11379
11380 #. type: Plain text
11381 #: build/C/man2/timerfd_create.2:48
11382 msgid ""
11383 "These system calls create and operate on a timer that delivers timer "
11384 "expiration notifications via a file descriptor.  They provide an alternative "
11385 "to the use of B<setitimer>(2)  or B<timer_create>(2), with the advantage "
11386 "that the file descriptor may be monitored by B<select>(2), B<poll>(2), and "
11387 "B<epoll>(7)."
11388 msgstr ""
11389 "これらのシステムコールは、満了通知をファイルディスクリプタ経由で配送する タイ"
11390 "マーの生成と操作を行う。 これらは、 B<setitimer>(2)  や B<timer_create>(2)  "
11391 "を用いる方法の代わりとなるものであり、このファイルディスクリプタを B<select>"
11392 "(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
11393
11394 #. type: Plain text
11395 #: build/C/man2/timerfd_create.2:60
11396 msgid ""
11397 "The use of these three system calls is analogous to the use of "
11398 "B<timer_create>(2), B<timer_settime>(2), and B<timer_gettime>(2).  (There is "
11399 "no analog of B<timer_getoverrun>(2), since that functionality is provided by "
11400 "B<read>(2), as described below.)"
11401 msgstr ""
11402 "これらのシステムコールを使うのは、それぞれ B<timer_create>(2), "
11403 "B<timer_settime>(2), B<timer_gettime>(2)  を使うのと同様である "
11404 "(B<timer_getoverrun>(2)  に対応するものはなく、以下で説明するように この機能"
11405 "は B<read>(2)  により提供される)。"
11406
11407 #. type: SS
11408 #: build/C/man2/timerfd_create.2:60
11409 #, no-wrap
11410 msgid "timerfd_create()"
11411 msgstr "timerfd_create()"
11412
11413 #. type: Plain text
11414 #: build/C/man2/timerfd_create.2:79
11415 msgid ""
11416 "B<timerfd_create>()  creates a new timer object, and returns a file "
11417 "descriptor that refers to that timer.  The I<clockid> argument specifies the "
11418 "clock that is used to mark the progress of the timer, and must be either "
11419 "B<CLOCK_REALTIME> or B<CLOCK_MONOTONIC>.  B<CLOCK_REALTIME> is a settable "
11420 "system-wide clock.  B<CLOCK_MONOTONIC> is a nonsettable clock that is not "
11421 "affected by discontinuous changes in the system clock (e.g., manual changes "
11422 "to system time).  The current value of each of these clocks can be retrieved "
11423 "using B<clock_gettime>(2)."
11424 msgstr ""
11425 "B<timerfd_create>()  は新規のタイマーオブジェクトを生成し、そのタイマーを参照"
11426 "するファイル ディスクリプタを返す。 I<clockid> 引き数は、タイマーの進捗を管理"
11427 "するためのクロックを指定するもので、 B<CLOCK_REALTIME> か B<CLOCK_MONOTONIC> "
11428 "のいずれかでなければならない。 B<CLOCK_REALTIME> はシステム全体で使用されるク"
11429 "ロックで、このクロックは変更可能である。 B<CLOCK_MONOTONIC> は変更されること"
11430 "のないクロックで、(システム時刻の手動での変更などの)  システムクロックの不連"
11431 "続な変化の影響を受けない。 これらのクロックの現在の値は B<clock_gettime>(2)  "
11432 "を使って取得できる。"
11433
11434 #. type: Plain text
11435 #: build/C/man2/timerfd_create.2:84
11436 msgid ""
11437 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
11438 "I<flags> to change the behavior of B<timerfd_create>():"
11439 msgstr ""
11440 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
11441 "ることで、 B<timerfd_create>()  の振舞いを変更することができる。"
11442
11443 #. type: TP
11444 #: build/C/man2/timerfd_create.2:84
11445 #, no-wrap
11446 msgid "B<TFD_NONBLOCK>"
11447 msgstr "B<TFD_NONBLOCK>"
11448
11449 #. type: TP
11450 #: build/C/man2/timerfd_create.2:92
11451 #, no-wrap
11452 msgid "B<TFD_CLOEXEC>"
11453 msgstr "B<TFD_CLOEXEC>"
11454
11455 #. type: Plain text
11456 #: build/C/man2/timerfd_create.2:106
11457 msgid ""
11458 "In Linux versions up to and including 2.6.26, I<flags> must be specified as "
11459 "zero."
11460 msgstr ""
11461 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
11462 "しなければならない。"
11463
11464 #. type: SS
11465 #: build/C/man2/timerfd_create.2:106
11466 #, no-wrap
11467 msgid "timerfd_settime()"
11468 msgstr "timerfd_settime()"
11469
11470 #. type: Plain text
11471 #: build/C/man2/timerfd_create.2:111
11472 msgid ""
11473 "B<timerfd_settime>()  arms (starts) or disarms (stops)  the timer referred "
11474 "to by the file descriptor I<fd>."
11475 msgstr ""
11476 "B<timerfd_settime>()  は、ファイルディスクリプタ I<fd> により参照されるタイ"
11477 "マーを開始したり停止したりする。"
11478
11479 #. type: Plain text
11480 #: build/C/man2/timerfd_create.2:120
11481 msgid ""
11482 "The I<new_value> argument specifies the initial expiration and interval for "
11483 "the timer.  The I<itimer> structure used for this argument contains two "
11484 "fields, each of which is in turn a structure of type I<timespec>:"
11485 msgstr ""
11486 "I<new_value> 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 "
11487 "(interval) を 指定する。この引き数で使用されている I<itimerspec> 構造体には "
11488 "2 つのフィールドがあり、各フィールドは I<timespec> 型の構造体である。"
11489
11490 #. type: Plain text
11491 #: build/C/man2/timerfd_create.2:132
11492 #, no-wrap
11493 msgid ""
11494 "struct itimerspec {\n"
11495 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11496 "    struct timespec it_value;     /* Initial expiration */\n"
11497 "};\n"
11498 msgstr ""
11499 "struct itimerspec {\n"
11500 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11501 "    struct timespec it_value;     /* Initial expiration */\n"
11502 "};\n"
11503
11504 #. type: Plain text
11505 #: build/C/man2/timerfd_create.2:144
11506 msgid ""
11507 "I<new_value.it_value> specifies the initial expiration of the timer, in "
11508 "seconds and nanoseconds.  Setting either field of I<new_value.it_value> to a "
11509 "nonzero value arms the timer.  Setting both fields of I<new_value.it_value> "
11510 "to zero disarms the timer."
11511 msgstr ""
11512 "I<new_value.it_value> はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 "
11513 "I<new_value.it_value> のフィールドのうち少なくとも一方に 0 以外の値を設定する"
11514 "と、 タイマーが開始される。 両方のフィールドに 0 を設定すると、タイマーが停止"
11515 "する。"
11516
11517 #. type: Plain text
11518 #: build/C/man2/timerfd_create.2:153
11519 msgid ""
11520 "Setting one or both fields of I<new_value.it_interval> to nonzero values "
11521 "specifies the period, in seconds and nanoseconds, for repeated timer "
11522 "expirations after the initial expiration.  If both fields of I<new_value."
11523 "it_interval> are zero, the timer expires just once, at the time specified by "
11524 "I<new_value.it_value>."
11525 msgstr ""
11526 "I<new_value.it_interval> はタイマーの一回目の満了後に繰り返しタイマーの満了間"
11527 "隔を、秒とナノ秒で指定する。 I<new_value.it_interval> のフィールドのうち少な"
11528 "くとも一方に 0 以外の値を設定すると、 繰り返しタイマーが有効になる。 両方の"
11529 "フィールドに 0 を設定した場合、タイマーは I<new_value.it_value> で指定された"
11530 "時間後に、一回だけ満了して停止する。"
11531
11532 #. type: Plain text
11533 #: build/C/man2/timerfd_create.2:169
11534 #, fuzzy
11535 #| msgid ""
11536 #| "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11537 #| "it_interval> specifies a time relative to the current value of the clock "
11538 #| "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11539 #| "timer (I<new_value.it_value> specifies an absolute time for the clock "
11540 #| "specified by I<clockid>; that is, the timer will expire when the value of "
11541 #| "that clock reaches the value specified in I<new_value.it_value>)."
11542 msgid ""
11543 "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11544 "it_value> specifies a time relative to the current value of the clock "
11545 "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11546 "timer (I<new_value.it_value> specifies an absolute time for the clock "
11547 "specified by I<clockid>; that is, the timer will expire when the value of "
11548 "that clock reaches the value specified in I<new_value.it_value>)."
11549 msgstr ""
11550 "I<flags> 引き数には 0 か B<TFD_TIMER_ABSTIME> を指定する。 0 は相対時刻タイ"
11551 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11552 "の現在の値からの相対的な時刻を指定する。 B<TFD_TIMER_ABSTIME> は絶対時刻タイ"
11553 "マーを意味し、 I<new_value.it_interval> では I<clockid> で指定されたクロック"
11554 "の絶対時刻を指定する。つまり、 クロックの値が I<new_value.it_interval> で指定"
11555 "された時刻に達したら、タイマーが満了する。"
11556
11557 #. type: Plain text
11558 #: build/C/man2/timerfd_create.2:180
11559 #, fuzzy
11560 #| msgid ""
11561 #| "The I<old_value> argument returns a structure containing the setting of "
11562 #| "the timer that was current at the time of the call; see the description "
11563 #| "of B<timerfd_gettime>()  following."
11564 msgid ""
11565 "If the I<old_value> argument is not NULL, then the I<itimerspec> structure "
11566 "that it points to is used to return the setting of the timer that was "
11567 "current at the time of the call; see the description of B<timerfd_gettime>"
11568 "()  following."
11569 msgstr ""
11570 "I<old_value> 引き数を通じて、 B<timerfd_settime>()  を呼び出した時点でのタイ"
11571 "マーの設定を保持した構造体が返される。 下記の B<timerfd_gettime>()  の説明を"
11572 "参照。"
11573
11574 #. type: SS
11575 #: build/C/man2/timerfd_create.2:180
11576 #, no-wrap
11577 msgid "timerfd_gettime()"
11578 msgstr "timerfd_gettime()"
11579
11580 #. type: Plain text
11581 #: build/C/man2/timerfd_create.2:189
11582 msgid ""
11583 "B<timerfd_gettime>()  returns, in I<curr_value>, an I<itimerspec> structure "
11584 "that contains the current setting of the timer referred to by the file "
11585 "descriptor I<fd>."
11586 msgstr ""
11587 "B<timerfd_gettime>()  は、ファイルディスクリプタ I<fd> で参照されるタイマーの"
11588 "現在の設定が入った I<itimerspec> 構造体を、 I<curr_value> に格納して返す。"
11589
11590 #. type: Plain text
11591 #: build/C/man2/timerfd_create.2:199
11592 msgid ""
11593 "The I<it_value> field returns the amount of time until the timer will next "
11594 "expire.  If both fields of this structure are zero, then the timer is "
11595 "currently disarmed.  This field always contains a relative value, regardless "
11596 "of whether the B<TFD_TIMER_ABSTIME> flag was specified when setting the "
11597 "timer."
11598 msgstr ""
11599 "I<it_value> フィールドは、タイマーが次に満了するまでの残り時間を返す。 この構"
11600 "造体の両方のフィールドが 0 であれば、タイマーは現在停止している。 タイマー設"
11601 "定時に B<TFD_TIMER_ABSTIME> フラグが指定されたかに関わらず、このフィールドは"
11602 "常に相対値が格納される。"
11603
11604 #. type: Plain text
11605 #: build/C/man2/timerfd_create.2:206
11606 msgid ""
11607 "The I<it_interval> field returns the interval of the timer.  If both fields "
11608 "of this structure are zero, then the timer is set to expire just once, at "
11609 "the time specified by I<curr_value.it_value>."
11610 msgstr ""
11611 "I<it_interval> フィールドは、タイマーの間隔を返す。 この構造体の両方のフィー"
11612 "ルドが 0 であれば、タイマーは I<new_value.it_value> で指定された時間後に一回"
11613 "だけ満了して停止するように設定されている。"
11614
11615 #. type: SS
11616 #: build/C/man2/timerfd_create.2:206
11617 #, no-wrap
11618 msgid "Operating on a timer file descriptor"
11619 msgstr "タイマー・ファイルディスクリプタに対する操作"
11620
11621 #. type: Plain text
11622 #: build/C/man2/timerfd_create.2:210
11623 msgid ""
11624 "The file descriptor returned by B<timerfd_create>()  supports the following "
11625 "operations:"
11626 msgstr ""
11627 "B<timerfd_create>()  が返すファイルディスクリプタは以下の操作をサポートしてい"
11628 "る。"
11629
11630 #. type: Plain text
11631 #: build/C/man2/timerfd_create.2:224
11632 msgid ""
11633 "If the timer has already expired one or more times since its settings were "
11634 "last modified using B<timerfd_settime>(), or since the last successful "
11635 "B<read>(2), then the buffer given to B<read>(2)  returns an unsigned 8-byte "
11636 "integer (I<uint64_t>)  containing the number of expirations that have "
11637 "occurred.  (The returned value is in host byte order, i.e., the native byte "
11638 "order for integers on the host machine.)"
11639 msgstr ""
11640 "B<timerfd_settime>()  を使ってタイマーの設定が最後変更されて以降、または "
11641 "B<read>(2)  の呼び出しに最後に成功して以降に、タイマーの満了が一回以上発生し"
11642 "ていれば、 B<read>(2)  に渡されたバッファに、タイマー満了回数を示す 8 バイト"
11643 "の unsigned 型の整数 (I<uint64_t>)  が返される (返される値はホストバイトオー"
11644 "ダ、つまりそのホストマシンにおける 整数の通常のバイトオーダである)。"
11645
11646 #. type: Plain text
11647 #: build/C/man2/timerfd_create.2:237
11648 msgid ""
11649 "If no timer expirations have occurred at the time of the B<read>(2), then "
11650 "the call either blocks until the next timer expiration, or fails with the "
11651 "error B<EAGAIN> if the file descriptor has been made nonblocking (via the "
11652 "use of the B<fcntl>(2)  B<F_SETFL> operation to set the B<O_NONBLOCK> flag)."
11653 msgstr ""
11654 "B<read>(2)  を行った時点でタイマーの満了が発生していなければ、 B<read>(2)  は"
11655 "停止 (block) する、もしくはファイルディスクリプタが 非停止 (nonblocking) に設"
11656 "定されている場合はエラー B<EAGAIN> で失敗する (非停止モードにするには、 "
11657 "B<fcntl>(2)  の B<F_SETFL> 命令で B<O_NONBLOCK> フラグをセットする)。"
11658
11659 #. type: Plain text
11660 #: build/C/man2/timerfd_create.2:243
11661 msgid ""
11662 "A B<read>(2)  will fail with the error B<EINVAL> if the size of the supplied "
11663 "buffer is less than 8 bytes."
11664 msgstr ""
11665 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
11666 "B<EINVAL> で失敗する。"
11667
11668 #. type: Plain text
11669 #: build/C/man2/timerfd_create.2:254
11670 msgid ""
11671 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
11672 "B<poll>(2)  B<POLLIN> flag)  if one or more timer expirations have occurred."
11673 msgstr ""
11674 "一つ以上のタイマー満了が発生していれば、 ファイルディスクリプタは読み出し可能"
11675 "となる (B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラ"
11676 "グ)。"
11677
11678 #. type: Plain text
11679 #: build/C/man2/timerfd_create.2:261
11680 msgid ""
11681 "The file descriptor also supports the other file-descriptor multiplexing "
11682 "APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
11683 msgstr ""
11684 "このファイルディスクリプタは、他のファイルディスクリプタ多重 API である "
11685 "B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
11686
11687 #. type: Plain text
11688 #: build/C/man2/timerfd_create.2:268
11689 msgid ""
11690 "When the file descriptor is no longer required it should be closed.  When "
11691 "all file descriptors associated with the same timer object have been closed, "
11692 "the timer is disarmed and its resources are freed by the kernel."
11693 msgstr ""
11694 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
11695 "る。 同じ timer オブジェクトに関連付けられたファイルディスクリプタが全て ク"
11696 "ローズされると、そのタイマーは解除され、 そのオブジェクト用の資源がカーネルに"
11697 "より解放される。"
11698
11699 #. type: Plain text
11700 #: build/C/man2/timerfd_create.2:280
11701 msgid ""
11702 "After a B<fork>(2), the child inherits a copy of the file descriptor created "
11703 "by B<timerfd_create>().  The file descriptor refers to the same underlying "
11704 "timer object as the corresponding file descriptor in the parent, and B<read>"
11705 "(2)s in the child will return information about expirations of the timer."
11706 msgstr ""
11707 "B<fork>(2)  が行われると、子プロセスは B<timerfd_create>()  により生成された"
11708 "ファイルディスクリプタのコピーを 継承する。そのファイルディスクリプタは、親プ"
11709 "ロセスの対応する ファイルディスクリプタと同じタイマーオブジェクトを参照してお"
11710 "り、 子プロセスの B<read>(2)  でも同じタイマーの満了に関する情報が返される。"
11711
11712 #. type: Plain text
11713 #: build/C/man2/timerfd_create.2:286
11714 msgid ""
11715 "A file descriptor created by B<timerfd_create>()  is preserved across "
11716 "B<execve>(2), and continues to generate timer expirations if the timer was "
11717 "armed."
11718 msgstr ""
11719 "B<execve>(2)  の前後で B<timerfd_create>()  により生成されたファイルディスク"
11720 "リプタは保持され、 タイマーが開始されていた場合にはタイマーの満了が発生し続け"
11721 "る。"
11722
11723 #. type: Plain text
11724 #: build/C/man2/timerfd_create.2:293
11725 msgid ""
11726 "On success, B<timerfd_create>()  returns a new file descriptor.  On error, "
11727 "-1 is returned and I<errno> is set to indicate the error."
11728 msgstr ""
11729 "成功すると、 B<timerfd_create>()  は新しいファイルディスクリプタを返す。 エ"
11730 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11731
11732 #. type: Plain text
11733 #: build/C/man2/timerfd_create.2:301
11734 msgid ""
11735 "B<timerfd_settime>()  and B<timerfd_gettime>()  return 0 on success; on "
11736 "error they return -1, and set I<errno> to indicate the error."
11737 msgstr ""
11738 "B<timerfd_settime>()  と B<timerfd_gettime>()  は成功すると 0 を返す。 エラー"
11739 "の場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11740
11741 #. type: Plain text
11742 #: build/C/man2/timerfd_create.2:304
11743 msgid "B<timerfd_create>()  can fail with the following errors:"
11744 msgstr "B<timerfd_create>()  は以下のエラーで失敗する可能性がある。"
11745
11746 #. type: Plain text
11747 #: build/C/man2/timerfd_create.2:312
11748 msgid ""
11749 "The I<clockid> argument is neither B<CLOCK_MONOTONIC> nor B<CLOCK_REALTIME>;"
11750 msgstr ""
11751 "I<clockid> 引き数が B<CLOCK_MONOTONIC> でも B<CLOCK_REALTIME> でもない。"
11752
11753 #. type: Plain text
11754 #: build/C/man2/timerfd_create.2:332
11755 msgid "There was insufficient kernel memory to create the timer."
11756 msgstr "タイマーを作成するのに十分なカーネルメモリがなかった。"
11757
11758 #. type: Plain text
11759 #: build/C/man2/timerfd_create.2:337
11760 msgid ""
11761 "B<timerfd_settime>()  and B<timerfd_gettime>()  can fail with the following "
11762 "errors:"
11763 msgstr ""
11764 "B<timerfd_settime>()  と B<timerfd_gettime>()  は以下のエラーで失敗する可能性"
11765 "がある。"
11766
11767 #. type: Plain text
11768 #: build/C/man2/timerfd_create.2:341
11769 msgid "I<fd> is not a valid file descriptor."
11770 msgstr "I<fd> が有効なファイルディスクリプタでない。"
11771
11772 #. type: Plain text
11773 #: build/C/man2/timerfd_create.2:352
11774 msgid "I<fd> is not a valid timerfd file descriptor."
11775 msgstr "I<fd> が有効な timerfd ファイルディスクリプタでない。"
11776
11777 #. type: Plain text
11778 #: build/C/man2/timerfd_create.2:355
11779 msgid "B<timerfd_settime>()  can also fail with the following errors:"
11780 msgstr "B<timerfd_settime>()  は以下のエラーで失敗することもある。"
11781
11782 #. type: Plain text
11783 #: build/C/man2/timerfd_create.2:361
11784 msgid ""
11785 "I<new_value> is not properly initialized (one of the I<tv_nsec> falls "
11786 "outside the range zero to 999,999,999)."
11787 msgstr ""
11788 "I<new_value> が適切に初期化されていない (I<tv_nsec> の一つが 0 から "
11789 "999,999,999 までの範囲に入っていない)。"
11790
11791 #.  This case only checked since 2.6.29, and 2.2.2[78].some-stable-version.
11792 #.  In older kernel versions, no check was made for invalid flags.
11793 #. type: Plain text
11794 #: build/C/man2/timerfd_create.2:367
11795 msgid "I<flags> is invalid."
11796 msgstr "I<flags> が無効である。"
11797
11798 #. type: Plain text
11799 #: build/C/man2/timerfd_create.2:370
11800 msgid ""
11801 "These system calls are available on Linux since kernel 2.6.25.  Library "
11802 "support is provided by glibc since version 2.8."
11803 msgstr ""
11804 "これらのシステムコールはカーネル 2.6.25 以降の Linux で利用可能である。 ライ"
11805 "ブラリ側のサポートはバージョン 2.8 以降の glibc で提供されている。"
11806
11807 #. type: Plain text
11808 #: build/C/man2/timerfd_create.2:381
11809 msgid ""
11810 "The following program creates a timer and then monitors its progress.  The "
11811 "program accepts up to three command-line arguments.  The first argument "
11812 "specifies the number of seconds for the initial expiration of the timer.  "
11813 "The second argument specifies the interval for the timer, in seconds.  The "
11814 "third argument specifies the number of times the program should allow the "
11815 "timer to expire before terminating.  The second and third command-line "
11816 "arguments are optional."
11817 msgstr ""
11818 "以下のプログラムは、タイマーを作成し、その進捗をモニターするものである。 この"
11819 "プログラムは最大で 3 個のコマンドライン引き数を取り、 第一引き数ではタイマー"
11820 "の満了時間の初期値 (秒数単位) を、 第二引き数ではタイマーの間隔 (秒数単位) "
11821 "を、 第三引き数ではタイマーが何回満了したらプログラムが終了するかを指定す"
11822 "る。 第二引き数と第三引き数は省略可能である。"
11823
11824 #. type: Plain text
11825 #: build/C/man2/timerfd_create.2:383 build/C/man2/wait.2:541
11826 msgid "The following shell session demonstrates the use of the program:"
11827 msgstr "以下のシェルのセッションはこのプログラムの使用例を示したものである。"
11828
11829 #. type: Plain text
11830 #: build/C/man2/timerfd_create.2:398
11831 #, no-wrap
11832 msgid ""
11833 "$B< a.out 3 1 100>\n"
11834 "0.000: timer started\n"
11835 "3.000: read: 1; total=1\n"
11836 "4.000: read: 1; total=2\n"
11837 "B<^Z >                 # type control-Z to suspend the program\n"
11838 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
11839 "$ B<fg>                # Resume execution after a few seconds\n"
11840 "a.out 3 1 100\n"
11841 "9.660: read: 5; total=7\n"
11842 "10.000: read: 1; total=8\n"
11843 "11.000: read: 1; total=9\n"
11844 "B<^C >                 # type control-C to suspend the program\n"
11845 msgstr ""
11846 "$B< a.out 3 1 100>\n"
11847 "0.000: timer started\n"
11848 "3.000: read: 1; total=1\n"
11849 "4.000: read: 1; total=2\n"
11850 "B<^Z >                 # type control-Z to suspend the program\n"
11851 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
11852 "$ B<fg>                # Resume execution after a few seconds\n"
11853 "a.out 3 1 100\n"
11854 "9.660: read: 5; total=7\n"
11855 "10.000: read: 1; total=8\n"
11856 "11.000: read: 1; total=9\n"
11857 "B<^C >                 # type control-C to suspend the program\n"
11858
11859 #.  The commented out code here is what we currently need until
11860 #.  the required stuff is in glibc
11861 #. /* Link with -lrt */
11862 #. #define _GNU_SOURCE
11863 #. #include <sys/syscall.h>
11864 #. #include <unistd.h>
11865 #. #include <time.h>
11866 #. #if defined(__i386__)
11867 #. #define __NR_timerfd_create 322
11868 #. #define __NR_timerfd_settime 325
11869 #. #define __NR_timerfd_gettime 326
11870 #. #endif
11871 #. static int
11872 #. timerfd_create(int clockid, int flags)
11873 #. {
11874 #.     return syscall(__NR_timerfd_create, clockid, flags);
11875 #. }
11876 #. static int
11877 #. timerfd_settime(int fd, int flags, struct itimerspec *new_value,
11878 #.         struct itimerspec *curr_value)
11879 #. {
11880 #.     return syscall(__NR_timerfd_settime, fd, flags, new_value,
11881 #.                    curr_value);
11882 #. }
11883 #. static int
11884 #. timerfd_gettime(int fd, struct itimerspec *curr_value)
11885 #. {
11886 #.     return syscall(__NR_timerfd_gettime, fd, curr_value);
11887 #. }
11888 #. #define TFD_TIMER_ABSTIME (1 << 0)
11889 #. ////////////////////////////////////////////////////////////
11890 #. type: Plain text
11891 #: build/C/man2/timerfd_create.2:447
11892 #, no-wrap
11893 msgid ""
11894 "#include E<lt>sys/timerfd.hE<gt>\n"
11895 "#include E<lt>time.hE<gt>\n"
11896 "#include E<lt>unistd.hE<gt>\n"
11897 "#include E<lt>stdlib.hE<gt>\n"
11898 "#include E<lt>stdio.hE<gt>\n"
11899 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
11900 msgstr ""
11901 "#include E<lt>sys/timerfd.hE<gt>\n"
11902 "#include E<lt>time.hE<gt>\n"
11903 "#include E<lt>unistd.hE<gt>\n"
11904 "#include E<lt>stdlib.hE<gt>\n"
11905 "#include E<lt>stdio.hE<gt>\n"
11906 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
11907
11908 #. type: Plain text
11909 #: build/C/man2/timerfd_create.2:450
11910 #, no-wrap
11911 msgid ""
11912 "#define handle_error(msg) \\e\n"
11913 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
11914 msgstr ""
11915 "#define handle_error(msg) \\e\n"
11916 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
11917
11918 #. type: Plain text
11919 #: build/C/man2/timerfd_create.2:458
11920 #, no-wrap
11921 msgid ""
11922 "static void\n"
11923 "print_elapsed_time(void)\n"
11924 "{\n"
11925 "    static struct timespec start;\n"
11926 "    struct timespec curr;\n"
11927 "    static int first_call = 1;\n"
11928 "    int secs, nsecs;\n"
11929 msgstr ""
11930 "static void\n"
11931 "print_elapsed_time(void)\n"
11932 "{\n"
11933 "    static struct timespec start;\n"
11934 "    struct timespec curr;\n"
11935 "    static int first_call = 1;\n"
11936 "    int secs, nsecs;\n"
11937
11938 #. type: Plain text
11939 #: build/C/man2/timerfd_create.2:464
11940 #, no-wrap
11941 msgid ""
11942 "    if (first_call) {\n"
11943 "        first_call = 0;\n"
11944 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
11945 "            handle_error(\"clock_gettime\");\n"
11946 "    }\n"
11947 msgstr ""
11948 "    if (first_call) {\n"
11949 "        first_call = 0;\n"
11950 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
11951 "            handle_error(\"clock_gettime\");\n"
11952 "    }\n"
11953
11954 #. type: Plain text
11955 #: build/C/man2/timerfd_create.2:467
11956 #, no-wrap
11957 msgid ""
11958 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
11959 "        handle_error(\"clock_gettime\");\n"
11960 msgstr ""
11961 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
11962 "        handle_error(\"clock_gettime\");\n"
11963
11964 #. type: Plain text
11965 #: build/C/man2/timerfd_create.2:476
11966 #, no-wrap
11967 msgid ""
11968 "    secs = curr.tv_sec - start.tv_sec;\n"
11969 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
11970 "    if (nsecs E<lt> 0) {\n"
11971 "        secs--;\n"
11972 "        nsecs += 1000000000;\n"
11973 "    }\n"
11974 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
11975 "}\n"
11976 msgstr ""
11977 "    secs = curr.tv_sec - start.tv_sec;\n"
11978 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
11979 "    if (nsecs E<lt> 0) {\n"
11980 "        secs--;\n"
11981 "        nsecs += 1000000000;\n"
11982 "    }\n"
11983 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
11984 "}\n"
11985
11986 #. type: Plain text
11987 #: build/C/man2/timerfd_create.2:485
11988 #, no-wrap
11989 msgid ""
11990 "int\n"
11991 "main(int argc, char *argv[])\n"
11992 "{\n"
11993 "    struct itimerspec new_value;\n"
11994 "    int max_exp, fd;\n"
11995 "    struct timespec now;\n"
11996 "    uint64_t exp, tot_exp;\n"
11997 "    ssize_t s;\n"
11998 msgstr ""
11999 "int\n"
12000 "main(int argc, char *argv[])\n"
12001 "{\n"
12002 "    struct itimerspec new_value;\n"
12003 "    int max_exp, fd;\n"
12004 "    struct timespec now;\n"
12005 "    uint64_t exp, tot_exp;\n"
12006 "    ssize_t s;\n"
12007
12008 #. type: Plain text
12009 #: build/C/man2/timerfd_create.2:491
12010 #, no-wrap
12011 msgid ""
12012 "    if ((argc != 2) && (argc != 4)) {\n"
12013 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12014 "                argv[0]);\n"
12015 "        exit(EXIT_FAILURE);\n"
12016 "    }\n"
12017 msgstr ""
12018 "    if ((argc != 2) && (argc != 4)) {\n"
12019 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
12020 "                argv[0]);\n"
12021 "        exit(EXIT_FAILURE);\n"
12022 "    }\n"
12023
12024 #. type: Plain text
12025 #: build/C/man2/timerfd_create.2:494
12026 #, no-wrap
12027 msgid ""
12028 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12029 "        handle_error(\"clock_gettime\");\n"
12030 msgstr ""
12031 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
12032 "        handle_error(\"clock_gettime\");\n"
12033
12034 #. type: Plain text
12035 #: build/C/man2/timerfd_create.2:497
12036 #, no-wrap
12037 msgid ""
12038 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12039 "       expiration and interval as specified in command line */\n"
12040 msgstr ""
12041 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
12042 "       expiration and interval as specified in command line */\n"
12043
12044 #. type: Plain text
12045 #: build/C/man2/timerfd_create.2:508
12046 #, no-wrap
12047 msgid ""
12048 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12049 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12050 "    if (argc == 2) {\n"
12051 "        new_value.it_interval.tv_sec = 0;\n"
12052 "        max_exp = 1;\n"
12053 "    } else {\n"
12054 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12055 "        max_exp = atoi(argv[3]);\n"
12056 "    }\n"
12057 "    new_value.it_interval.tv_nsec = 0;\n"
12058 msgstr ""
12059 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12060 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12061 "    if (argc == 2) {\n"
12062 "        new_value.it_interval.tv_sec = 0;\n"
12063 "        max_exp = 1;\n"
12064 "    } else {\n"
12065 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12066 "        max_exp = atoi(argv[3]);\n"
12067 "    }\n"
12068 "    new_value.it_interval.tv_nsec = 0;\n"
12069
12070 #. type: Plain text
12071 #: build/C/man2/timerfd_create.2:512
12072 #, no-wrap
12073 msgid ""
12074 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12075 "    if (fd == -1)\n"
12076 "        handle_error(\"timerfd_create\");\n"
12077 msgstr ""
12078 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12079 "    if (fd == -1)\n"
12080 "        handle_error(\"timerfd_create\");\n"
12081
12082 #. type: Plain text
12083 #: build/C/man2/timerfd_create.2:515
12084 #, no-wrap
12085 msgid ""
12086 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12087 "        handle_error(\"timerfd_settime\");\n"
12088 msgstr ""
12089 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12090 "        handle_error(\"timerfd_settime\");\n"
12091
12092 #. type: Plain text
12093 #: build/C/man2/timerfd_create.2:518
12094 #, no-wrap
12095 msgid ""
12096 "    print_elapsed_time();\n"
12097 "    printf(\"timer started\\en\");\n"
12098 msgstr ""
12099 "    print_elapsed_time();\n"
12100 "    printf(\"timer started\\en\");\n"
12101
12102 #. type: Plain text
12103 #: build/C/man2/timerfd_create.2:523
12104 #, no-wrap
12105 msgid ""
12106 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12107 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12108 "        if (s != sizeof(uint64_t))\n"
12109 "            handle_error(\"read\");\n"
12110 msgstr ""
12111 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12112 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12113 "        if (s != sizeof(uint64_t))\n"
12114 "            handle_error(\"read\");\n"
12115
12116 #. type: Plain text
12117 #: build/C/man2/timerfd_create.2:530
12118 #, no-wrap
12119 msgid ""
12120 "        tot_exp += exp;\n"
12121 "        print_elapsed_time();\n"
12122 "        printf(\"read: %llu; total=%llu\\en\",\n"
12123 "                (unsigned long long) exp,\n"
12124 "                (unsigned long long) tot_exp);\n"
12125 "    }\n"
12126 msgstr ""
12127 "        tot_exp += exp;\n"
12128 "        print_elapsed_time();\n"
12129 "        printf(\"read: %llu; total=%llu\\en\",\n"
12130 "                (unsigned long long) exp,\n"
12131 "                (unsigned long long) tot_exp);\n"
12132 "    }\n"
12133
12134 #.  2.6.29
12135 #. type: Plain text
12136 #: build/C/man2/timerfd_create.2:540
12137 msgid ""
12138 "Currently, B<timerfd_create>()  supports fewer types of clock IDs than "
12139 "B<timer_create>(2)."
12140 msgstr ""
12141 "現在のところ、 B<timerfd_create>()  が対応している clockid の種類は "
12142 "B<timer_create>(2)  よりも少ない。"
12143
12144 #. type: Plain text
12145 #: build/C/man2/timerfd_create.2:552
12146 msgid ""
12147 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12148 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12149 "(2), B<epoll>(7), B<time>(7)"
12150 msgstr ""
12151 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12152 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12153 "(2), B<epoll>(7), B<time>(7)"
12154
12155 #. type: TH
12156 #: build/C/man2/tkill.2:29
12157 #, no-wrap
12158 msgid "TKILL"
12159 msgstr "TKILL"
12160
12161 #. type: Plain text
12162 #: build/C/man2/tkill.2:32
12163 msgid "tkill, tgkill - send a signal to a thread"
12164 msgstr "tkill, tgkill - スレッドにシグナルを送る"
12165
12166 #. type: Plain text
12167 #: build/C/man2/tkill.2:35
12168 #, no-wrap
12169 msgid "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12170 msgstr "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12171
12172 #. type: Plain text
12173 #: build/C/man2/tkill.2:37
12174 #, no-wrap
12175 msgid "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12176 msgstr "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12177
12178 #. type: Plain text
12179 #: build/C/man2/tkill.2:51
12180 msgid ""
12181 "B<tgkill>()  sends the signal I<sig> to the thread with the thread ID I<tid> "
12182 "in the thread group I<tgid>.  (By contrast, B<kill>(2)  can only be used to "
12183 "send a signal to a process (i.e., thread group)  as a whole, and the signal "
12184 "will be delivered to an arbitrary thread within that process.)"
12185 msgstr ""
12186 "B<tgkill>()  はスレッド・グループ I<tgid> に属するスレッド ID が I<tid> のス"
12187 "レッドにシグナル I<sig> を送る。 (これに対し、 B<kill>(2)  は一つのプロセス "
12188 "(すなわち、スレッド・グループ) にまとめてシグナルを 送るのにだけ利用できる。 "
12189 "B<kill>(2)  で送信されたシグナルはプロセス内の任意のスレッドに配送される。)"
12190
12191 #. type: Plain text
12192 #: build/C/man2/tkill.2:59
12193 msgid ""
12194 "B<tkill>()  is an obsolete predecessor to B<tgkill>().  It only allows the "
12195 "target thread ID to be specified, which may result in the wrong thread being "
12196 "signaled if a thread terminates and its thread ID is recycled.  Avoid using "
12197 "this system call."
12198 msgstr ""
12199 "B<tkill>()  はもう使われなくなった B<tgkill>()  の先祖である。 B<tkill>()  で"
12200 "はシグナルの送り先のスレッド ID しか指定できない。 そのため、スレッドが終了し"
12201 "て、そのスレッド ID が再利用される場合に、 意図しないスレッドにシグナルが送ら"
12202 "れる可能性がある。 このシステムコールの使用は避けること。"
12203
12204 #. type: Plain text
12205 #: build/C/man2/tkill.2:66
12206 msgid ""
12207 "If I<tgid> is specified as -1, B<tgkill>()  is equivalent to B<tkill>()."
12208 msgstr ""
12209 "I<tgid> に -1 が指定された場合、 B<tgkill>()  は B<tkill>()  と等価である。"
12210
12211 #. type: Plain text
12212 #: build/C/man2/tkill.2:69
12213 msgid ""
12214 "These are the raw system call interfaces, meant for internal thread library "
12215 "use."
12216 msgstr ""
12217 "これらはシステムコールへの直接のインターフェースであり、 スレッド・ライブラリ"
12218 "内部での使用を意図したものである。"
12219
12220 #. type: Plain text
12221 #: build/C/man2/tkill.2:77
12222 msgid "An invalid thread ID, thread group ID, or signal was specified."
12223 msgstr "指定されたスレッド ID、スレッドグループ ID、シグナルが不正であった。"
12224
12225 #. type: Plain text
12226 #: build/C/man2/tkill.2:82
12227 msgid "Permission denied.  For the required permissions, see B<kill>(2)."
12228 msgstr ""
12229 "許可がなかった。どのような許可が必要かについては、 B<kill>(2)  を参照のこと。"
12230
12231 #. type: Plain text
12232 #: build/C/man2/tkill.2:85
12233 msgid "No process with the specified thread ID (and thread group ID) exists."
12234 msgstr ""
12235 "指定されたスレッドID (とスレッド・グループID) を持つプロセスが存在しない。"
12236
12237 #. type: Plain text
12238 #: build/C/man2/tkill.2:90
12239 msgid ""
12240 "B<tkill>()  is supported since Linux 2.4.19 / 2.5.4.  B<tgkill>()  was added "
12241 "in Linux 2.5.75."
12242 msgstr ""
12243 "B<tkill>()  は Linux 2.4.19 / 2.5.4 以降でサポートされ、 B<tgkill>()  は "
12244 "Linux 2.5.75 で追加された。"
12245
12246 #. type: Plain text
12247 #: build/C/man2/tkill.2:96
12248 msgid ""
12249 "B<tkill>()  and B<tgkill>()  are Linux-specific and should not be used in "
12250 "programs that are intended to be portable."
12251 msgstr ""
12252 "B<tkill>()  と B<tgkill>()  は Linux 固有であり、 移植を想定したプログラムで"
12253 "は使用すべきではない。"
12254
12255 #. type: Plain text
12256 #: build/C/man2/tkill.2:102
12257 msgid ""
12258 "See the description of B<CLONE_THREAD> in B<clone>(2)  for an explanation of "
12259 "thread groups."
12260 msgstr ""
12261 "スレッド・グループの説明については B<clone>(2)  の B<CLONE_THREAD> の説明を参"
12262 "照のこと。"
12263
12264 #. type: Plain text
12265 #: build/C/man2/tkill.2:105
12266 msgid ""
12267 "Glibc does not provide wrappers for these system calls; call them using "
12268 "B<syscall>(2)."
12269 msgstr ""
12270 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
12271 "B<syscall>(2)  を使って呼び出すこと。"
12272
12273 #. type: Plain text
12274 #: build/C/man2/tkill.2:110
12275 msgid "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12276 msgstr "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12277
12278 #. type: TH
12279 #: build/C/man2/wait.2:50
12280 #, no-wrap
12281 msgid "WAIT"
12282 msgstr "WAIT"
12283
12284 #. type: Plain text
12285 #: build/C/man2/wait.2:53
12286 msgid "wait, waitpid, waitid - wait for process to change state"
12287 msgstr "wait, waitpid, waitid - プロセスの状態変化を待つ"
12288
12289 #. type: Plain text
12290 #: build/C/man2/wait.2:55
12291 msgid "B<#include E<lt>sys/types.hE<gt>>"
12292 msgstr "B<#include E<lt>sys/types.hE<gt>>"
12293
12294 #. type: Plain text
12295 #: build/C/man2/wait.2:57
12296 msgid "B<#include E<lt>sys/wait.hE<gt>>"
12297 msgstr "B<#include E<lt>sys/wait.hE<gt>>"
12298
12299 #. type: Plain text
12300 #: build/C/man2/wait.2:59
12301 msgid "B<pid_t wait(int *>I<status>B<);>"
12302 msgstr "B<pid_t wait(int *>I<status>B<);>"
12303
12304 #. type: Plain text
12305 #: build/C/man2/wait.2:61
12306 msgid ""
12307 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12308 msgstr ""
12309 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12310
12311 #. type: Plain text
12312 #: build/C/man2/wait.2:64
12313 msgid ""
12314 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12315 "int >I<options>B<);>"
12316 msgstr ""
12317 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12318 "int >I<options>B<);>"
12319
12320 #. type: Plain text
12321 #: build/C/man2/wait.2:73
12322 msgid "B<waitid>():"
12323 msgstr "B<waitid>():"
12324
12325 #. type: Plain text
12326 #: build/C/man2/wait.2:77
12327 msgid ""
12328 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12329 "_XOPEN_SOURCE_EXTENDED"
12330 msgstr ""
12331 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12332 "_XOPEN_SOURCE_EXTENDED"
12333
12334 #. type: Plain text
12335 #: build/C/man2/wait.2:92
12336 msgid ""
12337 "All of these system calls are used to wait for state changes in a child of "
12338 "the calling process, and obtain information about the child whose state has "
12339 "changed.  A state change is considered to be: the child terminated; the "
12340 "child was stopped by a signal; or the child was resumed by a signal.  In the "
12341 "case of a terminated child, performing a wait allows the system to release "
12342 "the resources associated with the child; if a wait is not performed, then "
12343 "the terminated child remains in a \"zombie\" state (see NOTES below)."
12344 msgstr ""
12345 "これらのシステムコールはいずれも、呼び出し元プロセスの子プロセスの 状態変化を"
12346 "待ち、状態が変化したその子プロセスの情報を取得するのに 使用される。 状態変化"
12347 "とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、 "
12348 "シグナルによる子プロセスの再開。 子プロセスが終了した場合は、wait を実行する"
12349 "ことで、 システムがその子プロセスに関連するリソースを解放できるようになる。 "
12350 "wait が実行されなかった場合には、終了した子プロセスは 「ゾンビ」状態で残り続"
12351 "ける (下記の注意の章を参照のこと)。"
12352
12353 #. type: Plain text
12354 #: build/C/man2/wait.2:104
12355 msgid ""
12356 "If a child has already changed state, then these calls return immediately.  "
12357 "Otherwise they block until either a child changes state or a signal handler "
12358 "interrupts the call (assuming that system calls are not automatically "
12359 "restarted using the B<SA_RESTART> flag of B<sigaction>(2)).  In the "
12360 "remainder of this page, a child whose state has changed and which has not "
12361 "yet been waited upon by one of these system calls is termed I<waitable>."
12362 msgstr ""
12363 "子プロセスの状態変化がすでに発生していた場合、これらのコールは すぐに復帰す"
12364 "る。それ以外の場合は、子プロセスの状態変化が起こるか、 シグナルハンドラにより"
12365 "システムコールが中断されるまで、 停止 (block) する (後者は、 B<sigaction>"
12366 "(2)  の B<SA_RESTART> フラグによりシステムコールが自動的に再スタートするよう"
12367 "になっていない 場合の動作である)。 以下の説明では、状態変化が起こったがこれら"
12368 "のシステムコールのいずれかに よって待たれていない子プロセスを I<waitable> (待"
12369 "ち可能) と呼ぶ。"
12370
12371 #. type: SS
12372 #: build/C/man2/wait.2:104
12373 #, no-wrap
12374 msgid "wait() and waitpid()"
12375 msgstr "wait() と waitpid()"
12376
12377 #. type: Plain text
12378 #: build/C/man2/wait.2:112
12379 msgid ""
12380 "The B<wait>()  system call suspends execution of the calling process until "
12381 "one of its children terminates.  The call I<wait(&status)> is equivalent to:"
12382 msgstr ""
12383 "B<wait>()  システムコールは、子プロセスのいずれかが終了するまで 呼び出し元の"
12384 "プロセスの実行を一時停止する。 呼び出し I<wait(&status)> は以下と等価である:"
12385
12386 #. type: Plain text
12387 #: build/C/man2/wait.2:115
12388 #, no-wrap
12389 msgid "    waitpid(-1, &status, 0);\n"
12390 msgstr "    waitpid(-1, &status, 0);\n"
12391
12392 #. type: Plain text
12393 #: build/C/man2/wait.2:129
12394 msgid ""
12395 "The B<waitpid>()  system call suspends execution of the calling process "
12396 "until a child specified by I<pid> argument has changed state.  By default, "
12397 "B<waitpid>()  waits only for terminated children, but this behavior is "
12398 "modifiable via the I<options> argument, as described below."
12399 msgstr ""
12400 "B<waitpid>()  システムコールは、 I<pid> 引き数で指定した子プロセスの状態変化"
12401 "が起こるまで、 呼び出し元のプロセスの実行を一時停止する。デフォルトでは、 "
12402 "B<waitpid>()  は子プロセスの終了だけを待つが、この動作は I<options> 引き数に"
12403 "より変更可能である。"
12404
12405 #. type: Plain text
12406 #: build/C/man2/wait.2:133
12407 msgid "The value of I<pid> can be:"
12408 msgstr "I<pid> に指定できる値は以下の通り:"
12409
12410 #. type: IP
12411 #: build/C/man2/wait.2:133
12412 #, no-wrap
12413 msgid "E<lt> -1"
12414 msgstr "E<lt> -1"
12415
12416 #. type: Plain text
12417 #: build/C/man2/wait.2:137
12418 msgid ""
12419 "meaning wait for any child process whose process group ID is equal to the "
12420 "absolute value of I<pid>."
12421 msgstr ""
12422 "プロセスグループID が I<pid> の絶対値に等しい子プロセスのいずれかが終了するま"
12423 "でを待つ。"
12424
12425 #. type: IP
12426 #: build/C/man2/wait.2:137
12427 #, no-wrap
12428 msgid "-1"
12429 msgstr "-1"
12430
12431 #. type: Plain text
12432 #: build/C/man2/wait.2:139
12433 msgid "meaning wait for any child process."
12434 msgstr "子プロセスのどれかが終了するまで待つ。"
12435
12436 #. type: IP
12437 #: build/C/man2/wait.2:139
12438 #, no-wrap
12439 msgid "0"
12440 msgstr "0"
12441
12442 #. type: Plain text
12443 #: build/C/man2/wait.2:142
12444 msgid ""
12445 "meaning wait for any child process whose process group ID is equal to that "
12446 "of the calling process."
12447 msgstr ""
12448 "プロセスグループID が呼び出したプロセスのものと等しい 子プロセスを待つ。"
12449
12450 #. type: IP
12451 #: build/C/man2/wait.2:142
12452 #, no-wrap
12453 msgid "E<gt> 0"
12454 msgstr "E<gt> 0"
12455
12456 #. type: Plain text
12457 #: build/C/man2/wait.2:146
12458 msgid ""
12459 "meaning wait for the child whose process ID is equal to the value of I<pid>."
12460 msgstr "プロセスID が I<pid> に等しい子プロセスを待つ。"
12461
12462 #. type: Plain text
12463 #: build/C/man2/wait.2:150
12464 msgid ""
12465 "The value of I<options> is an OR of zero or more of the following constants:"
12466 msgstr "I<options> の値は次の定数の 0 個以上の論理和である:"
12467
12468 #. type: TP
12469 #: build/C/man2/wait.2:150 build/C/man2/wait.2:279
12470 #, no-wrap
12471 msgid "B<WNOHANG>"
12472 msgstr "B<WNOHANG>"
12473
12474 #. type: Plain text
12475 #: build/C/man2/wait.2:153
12476 msgid "return immediately if no child has exited."
12477 msgstr "状態変化が起こった子プロセスがない場合にすぐに復帰する。"
12478
12479 #. type: TP
12480 #: build/C/man2/wait.2:153
12481 #, no-wrap
12482 msgid "B<WUNTRACED>"
12483 msgstr "B<WUNTRACED>"
12484
12485 #. type: Plain text
12486 #: build/C/man2/wait.2:162
12487 msgid ""
12488 "also return if a child has stopped (but not traced via B<ptrace>(2)).  "
12489 "Status for I<traced> children which have stopped is provided even if this "
12490 "option is not specified."
12491 msgstr ""
12492 "子プロセスが停止した場合にも復帰する (子プロセスが B<ptrace>(2)  でトレースさ"
12493 "れている場合は除く)。 このオプションが指定されていない場合でも、停止したプロ"
12494 "セスが 「トレース (traced)」されていれば、子プロセスの状態が報告される。"
12495
12496 #. type: TP
12497 #: build/C/man2/wait.2:162
12498 #, no-wrap
12499 msgid "B<WCONTINUED> (since Linux 2.6.10)"
12500 msgstr "B<WCONTINUED> (Linux 2.6.10 以降)"
12501
12502 #. type: Plain text
12503 #: build/C/man2/wait.2:166
12504 msgid ""
12505 "also return if a stopped child has been resumed by delivery of B<SIGCONT>."
12506 msgstr "停止した子プロセスが B<SIGCONT> の配送により再開した場合にも復帰する。"
12507
12508 #. type: Plain text
12509 #: build/C/man2/wait.2:168
12510 msgid "(For Linux-only options, see below.)"
12511 msgstr "(Linux 専用オプションについては後述する)"
12512
12513 #. type: Plain text
12514 #: build/C/man2/wait.2:182
12515 msgid ""
12516 "If I<status> is not NULL, B<wait>()  and B<waitpid>()  store status "
12517 "information in the I<int> to which it points.  This integer can be inspected "
12518 "with the following macros (which take the integer itself as an argument, not "
12519 "a pointer to it, as is done in B<wait>()  and B<waitpid>()!):"
12520 msgstr ""
12521 "I<status> が NULL でなければ、 B<wait>()  や B<waitpid>()  は I<status> で指"
12522 "す I<int> に状態情報を格納する。 この整数は以下のマクロを使って検査できる。 "
12523 "(これらのマクロの引き数には、 B<wait>()  や B<waitpid>()  が書き込んだ整数そ"
12524 "のものを指定する。ポインタではない!)"
12525
12526 #. type: TP
12527 #: build/C/man2/wait.2:182
12528 #, no-wrap
12529 msgid "B<WIFEXITED(>I<status>B<)>"
12530 msgstr "B<WIFEXITED(>I<status>B<)>"
12531
12532 #. type: Plain text
12533 #: build/C/man2/wait.2:190
12534 msgid ""
12535 "returns true if the child terminated normally, that is, by calling B<exit>"
12536 "(3)  or B<_exit>(2), or by returning from main()."
12537 msgstr ""
12538 "子プロセスが正常に終了した場合に真を返す。 「正常に」とは、 B<exit>(3)  か "
12539 "B<_exit>(2)  が呼び出された場合、もしくは main() から復帰した場合である。"
12540
12541 #. type: TP
12542 #: build/C/man2/wait.2:190
12543 #, no-wrap
12544 msgid "B<WEXITSTATUS(>I<status>B<)>"
12545 msgstr "B<WEXITSTATUS(>I<status>B<)>"
12546
12547 #. type: Plain text
12548 #: build/C/man2/wait.2:203
12549 msgid ""
12550 "returns the exit status of the child.  This consists of the least "
12551 "significant 8 bits of the I<status> argument that the child specified in a "
12552 "call to B<exit>(3)  or B<_exit>(2)  or as the argument for a return "
12553 "statement in main().  This macro should only be employed if B<WIFEXITED> "
12554 "returned true."
12555 msgstr ""
12556 "子プロセスの終了ステータスを返す。 終了ステータスは I<status> 引き数の下位 8"
12557 "ビットで構成されており、 B<exit>(3)  や B<_exit>(2)  の呼び出し時に渡された"
12558 "値、もしくは main() の return 文の 引き数として指定された値である。 このマク"
12559 "ロを使用するのは B<WIFEXITED> が真を返した場合だけにすべきである。"
12560
12561 #. type: TP
12562 #: build/C/man2/wait.2:203
12563 #, no-wrap
12564 msgid "B<WIFSIGNALED(>I<status>B<)>"
12565 msgstr "B<WIFSIGNALED(>I<status>B<)>"
12566
12567 #. type: Plain text
12568 #: build/C/man2/wait.2:206
12569 msgid "returns true if the child process was terminated by a signal."
12570 msgstr "子プロセスがシグナルにより終了した場合に真を返す。"
12571
12572 #. type: TP
12573 #: build/C/man2/wait.2:206
12574 #, no-wrap
12575 msgid "B<WTERMSIG(>I<status>B<)>"
12576 msgstr "B<WTERMSIG(>I<status>B<)>"
12577
12578 #. type: Plain text
12579 #: build/C/man2/wait.2:213
12580 msgid ""
12581 "returns the number of the signal that caused the child process to "
12582 "terminate.  This macro should only be employed if B<WIFSIGNALED> returned "
12583 "true."
12584 msgstr ""
12585 "子プロセス終了の原因となったシグナルの番号を返す。 このマクロを使用するのは "
12586 "B<WIFSIGNALED> が真を返した場合だけにすべきである。"
12587
12588 #. type: TP
12589 #: build/C/man2/wait.2:213
12590 #, no-wrap
12591 msgid "B<WCOREDUMP(>I<status>B<)>"
12592 msgstr "B<WCOREDUMP(>I<status>B<)>"
12593
12594 #. type: Plain text
12595 #: build/C/man2/wait.2:222
12596 msgid ""
12597 "returns true if the child produced a core dump.  This macro should only be "
12598 "employed if B<WIFSIGNALED> returned true.  This macro is not specified in "
12599 "POSIX.1-2001 and is not available on some UNIX implementations (e.g., AIX, "
12600 "SunOS).  Only use this enclosed in #ifdef WCOREDUMP ... #endif."
12601 msgstr ""
12602 "子プロセスがコアダンプを生成した場合に真を返す。 このマクロを使用するのは "
12603 "B<WIFSIGNALED> が真を返した場合だけにすべきである。 このマクロは "
12604 "POSIX.1-2001 では規定されておらず、 (AIX, SunOS などの) いくつかの UNIX の実"
12605 "装では利用できない。 必ず #ifdef WCOREDUMP ... #endif で括って使用すること。"
12606
12607 #. type: TP
12608 #: build/C/man2/wait.2:222
12609 #, no-wrap
12610 msgid "B<WIFSTOPPED(>I<status>B<)>"
12611 msgstr "B<WIFSTOPPED(>I<status>B<)>"
12612
12613 #. type: Plain text
12614 #: build/C/man2/wait.2:229
12615 msgid ""
12616 "returns true if the child process was stopped by delivery of a signal; this "
12617 "is only possible if the call was done using B<WUNTRACED> or when the child "
12618 "is being traced (see B<ptrace>(2))."
12619 msgstr ""
12620 "子プロセスがシグナルの配送により停止した場合に真を返す。 これが真になるのは、"
12621 "システムコールが B<WUNTRACED> を指定して呼び出された場合か、子プロセスがト"
12622 "レースされている場合 (B<ptrace>(2)  参照) だけである。"
12623
12624 #. type: TP
12625 #: build/C/man2/wait.2:229
12626 #, no-wrap
12627 msgid "B<WSTOPSIG(>I<status>B<)>"
12628 msgstr "B<WSTOPSIG(>I<status>B<)>"
12629
12630 #. type: Plain text
12631 #: build/C/man2/wait.2:235
12632 msgid ""
12633 "returns the number of the signal which caused the child to stop.  This macro "
12634 "should only be employed if B<WIFSTOPPED> returned true."
12635 msgstr ""
12636 "子プロセスを停止させたシグナルの番号を返す。 このマクロを使用するのは "
12637 "B<WIFSTOPPED> が 0 以外を返した場合だけにすべきである。"
12638
12639 #. type: TP
12640 #: build/C/man2/wait.2:235
12641 #, no-wrap
12642 msgid "B<WIFCONTINUED(>I<status>B<)>"
12643 msgstr "B<WIFCONTINUED(>I<status>B<)>"
12644
12645 #. type: Plain text
12646 #: build/C/man2/wait.2:240
12647 msgid ""
12648 "(since Linux 2.6.10)  returns true if the child process was resumed by "
12649 "delivery of B<SIGCONT>."
12650 msgstr ""
12651 "(Linux 2.6.10 以降)  子プロセスが B<SIGCONT> の配送により再開した場合に真を返"
12652 "す。"
12653
12654 #. type: SS
12655 #: build/C/man2/wait.2:240
12656 #, no-wrap
12657 msgid "waitid()"
12658 msgstr "waitid()"
12659
12660 #. type: Plain text
12661 #: build/C/man2/wait.2:245
12662 msgid ""
12663 "The B<waitid>()  system call (available since Linux 2.6.9) provides more "
12664 "precise control over which child state changes to wait for."
12665 msgstr ""
12666 "B<waitid>()  システムコール (Linux 2.6.9 以降で利用可能) を使うと、 子プロセ"
12667 "スのどの状態変化を待つかについてより細かな制御ができる。"
12668
12669 #. type: Plain text
12670 #: build/C/man2/wait.2:251
12671 msgid ""
12672 "The I<idtype> and I<id> arguments select the child(ren) to wait for, as "
12673 "follows:"
12674 msgstr "引き数 I<idtype> と I<id> でどの子プロセスを待つかを選択する:"
12675
12676 #. type: IP
12677 #: build/C/man2/wait.2:251
12678 #, no-wrap
12679 msgid "I<idtype> == B<P_PID>"
12680 msgstr "I<idtype> == B<P_PID>"
12681
12682 #. type: Plain text
12683 #: build/C/man2/wait.2:254
12684 msgid "Wait for the child whose process ID matches I<id>."
12685 msgstr "プロセスID が I<id> と一致する子プロセスを待つ。"
12686
12687 #. type: IP
12688 #: build/C/man2/wait.2:254
12689 #, no-wrap
12690 msgid "I<idtype> == B<P_PGID>"
12691 msgstr "I<idtype> == B<P_PGID>"
12692
12693 #. type: Plain text
12694 #: build/C/man2/wait.2:257
12695 msgid "Wait for any child whose process group ID matches I<id>."
12696 msgstr "プロセスグループID が I<id> と一致する子プロセスを待つ。"
12697
12698 #. type: IP
12699 #: build/C/man2/wait.2:257
12700 #, no-wrap
12701 msgid "I<idtype> == B<P_ALL>"
12702 msgstr "I<idtype> == B<P_ALL>"
12703
12704 #. type: Plain text
12705 #: build/C/man2/wait.2:261
12706 msgid "Wait for any child; I<id> is ignored."
12707 msgstr "子プロセス全部を対象に待つ。 I<id> は無視される。"
12708
12709 #. type: Plain text
12710 #: build/C/man2/wait.2:265
12711 msgid ""
12712 "The child state changes to wait for are specified by ORing one or more of "
12713 "the following flags in I<options>:"
12714 msgstr ""
12715 "子プロセスのどの状態変化を待つかは以下のフラグで指定する (I<options> には 1個"
12716 "以上のフラグの論理和をとって指定する):"
12717
12718 #. type: TP
12719 #: build/C/man2/wait.2:265
12720 #, no-wrap
12721 msgid "B<WEXITED>"
12722 msgstr "B<WEXITED>"
12723
12724 #. type: Plain text
12725 #: build/C/man2/wait.2:268
12726 msgid "Wait for children that have terminated."
12727 msgstr "子プロセスの終了を待つ。"
12728
12729 #. type: TP
12730 #: build/C/man2/wait.2:268
12731 #, no-wrap
12732 msgid "B<WSTOPPED>"
12733 msgstr "B<WSTOPPED>"
12734
12735 #. type: Plain text
12736 #: build/C/man2/wait.2:271
12737 msgid "Wait for children that have been stopped by delivery of a signal."
12738 msgstr "子プロセスがシグナルの配送により停止するのを待つ。"
12739
12740 #. type: TP
12741 #: build/C/man2/wait.2:271
12742 #, no-wrap
12743 msgid "B<WCONTINUED>"
12744 msgstr "B<WCONTINUED>"
12745
12746 #. type: Plain text
12747 #: build/C/man2/wait.2:276
12748 msgid ""
12749 "Wait for (previously stopped) children that have been resumed by delivery of "
12750 "B<SIGCONT>."
12751 msgstr "(停止していた) 子プロセスが B<SIGCONT> が配送されて再開するのを待つ。"
12752
12753 #. type: Plain text
12754 #: build/C/man2/wait.2:279
12755 msgid "The following flags may additionally be ORed in I<options>:"
12756 msgstr "さらに以下のフラグを論理和の形で I<options> に指定できる:"
12757
12758 #. type: Plain text
12759 #: build/C/man2/wait.2:283
12760 msgid "As for B<waitpid>()."
12761 msgstr "B<waitpid>()  と同様。"
12762
12763 #. type: TP
12764 #: build/C/man2/wait.2:283
12765 #, no-wrap
12766 msgid "B<WNOWAIT>"
12767 msgstr "B<WNOWAIT>"
12768
12769 #. type: Plain text
12770 #: build/C/man2/wait.2:287
12771 msgid ""
12772 "Leave the child in a waitable state; a later wait call can be used to again "
12773 "retrieve the child status information."
12774 msgstr ""
12775 "waitable 状態のプロセスをそのままにする。この後で wait コールを 使って、同じ"
12776 "子プロセスの状態情報をもう一度取得することができる。"
12777
12778 #. type: Plain text
12779 #: build/C/man2/wait.2:294
12780 msgid ""
12781 "Upon successful return, B<waitid>()  fills in the following fields of the "
12782 "I<siginfo_t> structure pointed to by I<infop>:"
12783 msgstr ""
12784 "成功した場合には、 B<waitid>()  は I<infop> が指す I<siginfo_t> 構造体の以下"
12785 "のフィールドを設定する:"
12786
12787 #. type: Plain text
12788 #: build/C/man2/wait.2:297
12789 msgid "The process ID of the child."
12790 msgstr "子プロセスのプロセスID。"
12791
12792 #. type: Plain text
12793 #: build/C/man2/wait.2:301
12794 msgid ""
12795 "The real user ID of the child.  (This field is not set on most other "
12796 "implementations.)"
12797 msgstr ""
12798 "子プロセスの実ユーザID (このフィールドは他のほとんどの実装では設定されない)。"
12799
12800 #. type: Plain text
12801 #: build/C/man2/wait.2:305
12802 msgid "Always set to B<SIGCHLD>."
12803 msgstr "常に B<SIGCHLD> が設定される。"
12804
12805 #. type: TP
12806 #: build/C/man2/wait.2:305
12807 #, no-wrap
12808 msgid "I<si_status>"
12809 msgstr "I<si_status>"
12810
12811 #. type: Plain text
12812 #: build/C/man2/wait.2:315
12813 msgid ""
12814 "Either the exit status of the child, as given to B<_exit>(2)  (or B<exit>"
12815 "(3)), or the signal that caused the child to terminate, stop, or continue.  "
12816 "The I<si_code> field can be used to determine how to interpret this field."
12817 msgstr ""
12818 "B<_exit>(2)  (か B<exit>(3))  に指定された子プロセスの終了ステータス、もしく"
12819 "は 子プロセスの終了、停止、再開の原因となったシグナルが設定される。 この"
12820 "フィールドをどう解釈するかは、 I<si_code> フィールドを参照して決めることがで"
12821 "きる。"
12822
12823 #. type: Plain text
12824 #: build/C/man2/wait.2:332
12825 msgid ""
12826 "Set to one of: B<CLD_EXITED> (child called B<_exit>(2)); B<CLD_KILLED> "
12827 "(child killed by signal); B<CLD_DUMPED> (child killed by signal, and dumped "
12828 "core); B<CLD_STOPPED> (child stopped by signal); B<CLD_TRAPPED> (traced "
12829 "child has trapped); or B<CLD_CONTINUED> (child continued by B<SIGCONT>)."
12830 msgstr ""
12831 "以下のいずれかが設定される: B<CLD_EXITED> (子プロセスが B<_exit>(2)  を呼び出"
12832 "した); B<CLD_KILLED> (シグナルにより子プロセスが kill された); B<CLD_DUMPED> "
12833 "(シグナルにより子プロセスが kill され、コア・ダンプが行われた); "
12834 "B<CLD_STOPPED> (シグナルにより子プロセスが停止した); B<CLD_TRAPPED> (トレース"
12835 "されていた子プロセスがトラップを受信した); B<CLD_CONTINUED> (B<SIGCONT> によ"
12836 "り子プロセスが再開された)。"
12837
12838 #.  POSIX.1-2001 leaves this possibility unspecified; most
12839 #.  implementations (including Linux) zero out the structure
12840 #.  in this case, but at at least one implementation (AIX 5.1)
12841 #.  does not -- MTK Nov 04
12842 #. type: Plain text
12843 #: build/C/man2/wait.2:354
12844 msgid ""
12845 "If B<WNOHANG> was specified in I<options> and there were no children in a "
12846 "waitable state, then B<waitid>()  returns 0 immediately and the state of the "
12847 "I<siginfo_t> structure pointed to by I<infop> is unspecified.  To "
12848 "distinguish this case from that where a child was in a waitable state, zero "
12849 "out the I<si_pid> field before the call and check for a nonzero value in "
12850 "this field after the call returns."
12851 msgstr ""
12852 "B<WNOHANG> が I<options> に指定されていて、 waitable 状態の子プロセスがなかっ"
12853 "た場合には、 B<waitid>()  はすぐに 0 を返す。このとき、 I<infop> が指す "
12854 "I<siginfo_t> 構造体の内容は不定である。 この場合を waitable 状態の子プロセス"
12855 "があった場合と区別するには、 B<waitid>()  を呼び出す前に I<si_pid> を 0 にし"
12856 "ておき、コールが復帰した後でこのフィールドが 0 以外の値かどうか をチェックす"
12857 "ればよい。"
12858
12859 #. type: Plain text
12860 #: build/C/man2/wait.2:358
12861 msgid ""
12862 "B<wait>(): on success, returns the process ID of the terminated child; on "
12863 "error, -1 is returned."
12864 msgstr ""
12865 "B<wait>(): 成功すると、終了した子プロセスのプロセスID を返す。 エラーの場合 "
12866 "-1 を返す。"
12867
12868 #. type: Plain text
12869 #: build/C/man2/wait.2:367
12870 msgid ""
12871 "B<waitpid>(): on success, returns the process ID of the child whose state "
12872 "has changed; if B<WNOHANG> was specified and one or more child(ren) "
12873 "specified by I<pid> exist, but have not yet changed state, then 0 is "
12874 "returned.  On error, -1 is returned."
12875 msgstr ""
12876 "B<waitpid>(): 成功すると、状態が変化した子プロセスのプロセスID を返す。 "
12877 "B<WNOHANG> が指定されていて、 I<pid> で指示された子プロセスが一つ以上存在する"
12878 "が、どの子プロセスでも 状態変化が起こっていなかった場合は、 0 を返す。 エラー"
12879 "の場合 -1 を返す。"
12880
12881 #.  FIXME: As reported by Vegard Nossum, if infop is NULL, then waitid()
12882 #.  returns the PID of the child.  Either this is a bug, or it is intended
12883 #.  behavior that needs to be documented.  See my Jan 2009 LKML mail
12884 #.  "waitid() return value strangeness when infop is NULL".
12885 #. type: Plain text
12886 #: build/C/man2/wait.2:383
12887 msgid ""
12888 "B<waitid>(): returns 0 on success or if B<WNOHANG> was specified and no child"
12889 "(ren) specified by I<id> has yet changed state; on error, -1 is returned.  "
12890 "Each of these calls sets I<errno> to an appropriate value in the case of an "
12891 "error."
12892 msgstr ""
12893 "B<waitid>(): 成功すると 0 を返す。 B<WNOHANG> が指定されていて、 I<pid> で指"
12894 "示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。 エラーの"
12895 "場合 -1 を返す。 エラーの場合、これらのシステムコールはいずれも I<errno> に適"
12896 "切な値を設定する。"
12897
12898 #. type: TP
12899 #: build/C/man2/wait.2:384 build/C/man2/wait.2:389
12900 #, no-wrap
12901 msgid "B<ECHILD>"
12902 msgstr "B<ECHILD>"
12903
12904 #. type: Plain text
12905 #: build/C/man2/wait.2:389
12906 msgid ""
12907 "(for B<wait>())  The calling process does not have any unwaited-for children."
12908 msgstr ""
12909 "(B<wait>()  の場合)  呼び出し元プロセスには、wait を行っていない子プロセスは"
12910 "ない。"
12911
12912 #. type: Plain text
12913 #: build/C/man2/wait.2:409
12914 msgid ""
12915 "(for B<waitpid>()  or B<waitid>())  The process specified by I<pid> "
12916 "(B<waitpid>())  or I<idtype> and I<id> (B<waitid>())  does not exist or is "
12917 "not a child of the calling process.  (This can happen for one's own child if "
12918 "the action for B<SIGCHLD> is set to B<SIG_IGN>.  See also the I<Linux Notes> "
12919 "section about threads.)"
12920 msgstr ""
12921 "(B<waitpid>()  か B<waitid>()  の場合)  I<pid> (B<waitpid>())  か I<idtype> "
12922 "と I<id> (B<waitid>())  で指定したプロセスが存在しないか、呼び出し元プロセス"
12923 "の子プロセスでない (B<SIGCHLD> の動作に B<SIG_IGN> を設定した場合には、自分自"
12924 "身の子プロセスでも起こりうる。 スレッドに関しては「Linux での注意」の節も参照"
12925 "すること)。"
12926
12927 #. type: Plain text
12928 #: build/C/man2/wait.2:416
12929 msgid ""
12930 "B<WNOHANG> was not set and an unblocked signal or a B<SIGCHLD> was caught; "
12931 "see B<signal>(7)."
12932 msgstr ""
12933 "B<WNOHANG> が設定されておらず、禁止 (block) されていないシグナルや "
12934 "B<SIGCHLD> を受信した。 B<signal>(7)  参照。"
12935
12936 #. type: Plain text
12937 #: build/C/man2/wait.2:421
12938 msgid "The I<options> argument was invalid."
12939 msgstr "I<options> 引き数が不正である。"
12940
12941 #. type: Plain text
12942 #: build/C/man2/wait.2:436
12943 msgid ""
12944 "A child that terminates, but has not been waited for becomes a \"zombie\".  "
12945 "The kernel maintains a minimal set of information about the zombie process "
12946 "(PID, termination status, resource usage information)  in order to allow the "
12947 "parent to later perform a wait to obtain information about the child.  As "
12948 "long as a zombie is not removed from the system via a wait, it will consume "
12949 "a slot in the kernel process table, and if this table fills, it will not be "
12950 "possible to create further processes.  If a parent process terminates, then "
12951 "its \"zombie\" children (if any)  are adopted by B<init>(8), which "
12952 "automatically performs a wait to remove the zombies."
12953 msgstr ""
12954 "終了したが、wait されていない子プロセスは「ゾンビ」になる。 後で親プロセスが "
12955 "wait を実行して子プロセスについての情報を取得できるように、 カーネルはゾンビ"
12956 "プロセスについて最小限の情報 (PID、終了ステータス、 リソース使用状況) を保持"
12957 "する。 ゾンビプロセスは、 wait によってシステムから削除されない限り、 カーネ"
12958 "ルのプロセステーブルの 1 エントリを消費する。このプロセステーブルが 一杯にな"
12959 "ると、新たにプロセスを作ることができなくなる。 親プロセスが終了すると、その親"
12960 "プロセスの「ゾンビ」の 子プロセスは (もしあれば)  B<init>(8)  の養子となる。 "
12961 "B<init>(8)  は wait を自動的に実行し、ゾンビを削除する。"
12962
12963 #. type: Plain text
12964 #: build/C/man2/wait.2:477
12965 msgid ""
12966 "POSIX.1-2001 specifies that if the disposition of B<SIGCHLD> is set to "
12967 "B<SIG_IGN> or the B<SA_NOCLDWAIT> flag is set for B<SIGCHLD> (see "
12968 "B<sigaction>(2)), then children that terminate do not become zombies and a "
12969 "call to B<wait>()  or B<waitpid>()  will block until all children have "
12970 "terminated, and then fail with I<errno> set to B<ECHILD>.  (The original "
12971 "POSIX standard left the behavior of setting B<SIGCHLD> to B<SIG_IGN> "
12972 "unspecified.  Note that even though the default disposition of B<SIGCHLD> is "
12973 "\"ignore\", explicitly setting the disposition to B<SIG_IGN> results in "
12974 "different treatment of zombie process children.)  Linux 2.6 conforms to this "
12975 "specification.  However, Linux 2.4 (and earlier) does not: if a B<wait>()  "
12976 "or B<waitpid>()  call is made while B<SIGCHLD> is being ignored, the call "
12977 "behaves just as though B<SIGCHLD> were not being ignored, that is, the call "
12978 "blocks until the next child terminates and then returns the process ID and "
12979 "status of that child."
12980 msgstr ""
12981 "POSIX.1-2001 では以下のように規定されている。 B<SIGCHLD> の動作が B<SIG_IGN> "
12982 "に設定されたか、 B<SIGCHLD> に対して B<SA_NOCLDWAIT> フラグが設定された場合 "
12983 "(B<sigaction>(2)  参照)、終了した子プロセスはゾンビにはならず、 B<wait>()  "
12984 "や B<waitpid>()  の呼び出しは全ての子プロセスが終了するまで停止し、 子プロセ"
12985 "スが全部終了した後 I<errno> に B<ECHILD> を設定して失敗する。 (もともとの "
12986 "POSIX 標準は B<SIGCHLD> に B<SIG_IGN> を設定した場合の振る舞いを未規定のまま"
12987 "にしている。 B<SIGCHLD> のデフォルトの動作が「無視」であるにもかかわらず、 "
12988 "B<SIGCHLD> の動作として B<SIG_IGN> を明示的に設定した場合にはゾンビプロセスの"
12989 "子プロセスの扱いが 異なる点に注意すること。)  Linux 2.6 はこの仕様に準拠して"
12990 "いる。 しかし、Linux 2.4 (とそれ以前のバージョン) はそうではない: B<SIGCHLD> "
12991 "が無視される状態で B<wait>()  または B<waitpid>()  が呼び出された場合、 "
12992 "B<SIGCHLD> が無視されていないかのように振る舞う。 つまり、呼び出しによって次"
12993 "の子プロセスの終了までブロックされ、 終了した子プロセスの PID と状態が返され"
12994 "る。"
12995
12996 #. type: Plain text
12997 #: build/C/man2/wait.2:493
12998 msgid ""
12999 "In the Linux kernel, a kernel-scheduled thread is not a distinct construct "
13000 "from a process.  Instead, a thread is simply a process that is created using "
13001 "the Linux-unique B<clone>(2)  system call; other routines such as the "
13002 "portable B<pthread_create>(3)  call are implemented using B<clone>(2).  "
13003 "Before Linux 2.4, a thread was just a special case of a process, and as a "
13004 "consequence one thread could not wait on the children of another thread, "
13005 "even when the latter belongs to the same thread group.  However, POSIX "
13006 "prescribes such functionality, and since Linux 2.4 a thread can, and by "
13007 "default will, wait on children of other threads in the same thread group."
13008 msgstr ""
13009 "Linux カーネルでは、カーネルによってスケジュールされるスレッドは プロセスと明"
13010 "確に区別できる構成要素ではない。スレッドは Linux 固有の B<clone>(2)  システム"
13011 "コールを使用して生成されるプロセスに過ぎない。 移植性のある B<pthread_create>"
13012 "(3)  コールのような他のルーチンは B<clone>(2)  を使用して実装されている; これ"
13013 "らでは B<waitid>()  を使うことはできない。 Linux 2.4 より前では、スレッドは単"
13014 "に特殊なプロセスであったので、 例え同じスレッドグループであっても、 あるス"
13015 "レッドが別のスレッドの子プロセスが終了するのを待つことは出来なかった。 しか"
13016 "し、POSIX ではこのような機能を規定しており、 Linux 2.4 以降では、あるスレッド"
13017 "が同じスレッドグループの他のスレッドの 子プロセスが終了するのを待つことができ"
13018 "るようになった。 そして将来はこれがデフォルトの動作になるであろう。"
13019
13020 #. type: Plain text
13021 #: build/C/man2/wait.2:500
13022 msgid ""
13023 "The following Linux-specific I<options> are for use with children created "
13024 "using B<clone>(2); they cannot be used with B<waitid>():"
13025 msgstr ""
13026 "B<clone>(2)  を用いて作られた子プロセスには、以下の Linux 固有の I<options> "
13027 "が使用できる。"
13028
13029 #. type: TP
13030 #: build/C/man2/wait.2:500
13031 #, no-wrap
13032 msgid "B<__WCLONE>"
13033 msgstr "B<__WCLONE>"
13034
13035 #.  since 0.99pl10
13036 #. type: Plain text
13037 #: build/C/man2/wait.2:511
13038 msgid ""
13039 "Wait for \"clone\" children only.  If omitted then wait for \"non-clone\" "
13040 "children only.  (A \"clone\" child is one which delivers no signal, or a "
13041 "signal other than B<SIGCHLD> to its parent upon termination.)  This option "
13042 "is ignored if B<__WALL> is also specified."
13043 msgstr ""
13044 "\"clone\" な子プロセスだけを待つ。 指定されなかった場合は非 \"clone\" な子プ"
13045 "ロセスだけを待つ (\"clone\" な子プロセスは、終了時に親プロセスへ全くシグナル"
13046 "を送らないか、 B<SIGCHLD> 以外のシグナルを送る)。 このオプションは B<__WALL> "
13047 "も指定された場合は無視される。"
13048
13049 #. type: TP
13050 #: build/C/man2/wait.2:511
13051 #, no-wrap
13052 msgid "B<__WALL> (since Linux 2.4)"
13053 msgstr "B<__WALL> (Linux 2.4 以降)"
13054
13055 #.  since patch-2.3.48
13056 #. type: Plain text
13057 #: build/C/man2/wait.2:516
13058 msgid "Wait for all children, regardless of type (\"clone\" or \"non-clone\")."
13059 msgstr "\"clone\" であるかないかに関わらず、 全ての子プロセスを待つ。"
13060
13061 #. type: TP
13062 #: build/C/man2/wait.2:516
13063 #, no-wrap
13064 msgid "B<__WNOTHREAD> (since Linux 2.4)"
13065 msgstr "B<__WNOTHREAD> (Linux 2.4 以降)"
13066
13067 #.  since patch-2.4.0-test8
13068 #. type: Plain text
13069 #: build/C/man2/wait.2:522
13070 msgid ""
13071 "Do not wait for children of other threads in the same thread group.  This "
13072 "was the default before Linux 2.4."
13073 msgstr ""
13074 "同じスレッドグループの他のスレッドの子プロセスは待たない。 Linux 2.4 より前で"
13075 "はデフォルトであった。"
13076
13077 #.  fork.2 refers to this example program.
13078 #. type: Plain text
13079 #: build/C/man2/wait.2:539
13080 msgid ""
13081 "The following program demonstrates the use of B<fork>(2)  and B<waitpid>().  "
13082 "The program creates a child process.  If no command-line argument is "
13083 "supplied to the program, then the child suspends its execution using B<pause>"
13084 "(2), to allow the user to send signals to the child.  Otherwise, if a "
13085 "command-line argument is supplied, then the child exits immediately, using "
13086 "the integer supplied on the command line as the exit status.  The parent "
13087 "process executes a loop that monitors the child using B<waitpid>(), and uses "
13088 "the W*() macros described above to analyze the wait status value."
13089 msgstr ""
13090 "以下のプログラムは、 B<fork>(2)  と B<waitpid>()  の使用方法の例を示してい"
13091 "る。 このプログラムでは子プロセスを生成する。 コマンドライン引き数が指定され"
13092 "なかったときは、 子プロセスは B<pause>(2)  を使ってその実行を一時停止し、ユー"
13093 "ザがその子プロセスに シグナルを送信できるようにする。 コマンドライン引き数が"
13094 "指定された場合は、 子プロセスは直ちに終了し、 コマンドラインで指定された整数"
13095 "を終了ステータスとして使用する。 親プロセスは、 B<waitpid>()  を使って子プロ"
13096 "セスを監視し、 wait のステータス値を上記の W*() マクロを使って解析するという "
13097 "ループを実行する。"
13098
13099 #. type: Plain text
13100 #: build/C/man2/wait.2:555
13101 #, no-wrap
13102 msgid ""
13103 "$B< ./a.out &>\n"
13104 "Child PID is 32360\n"
13105 "[1] 32359\n"
13106 "$B< kill -STOP 32360>\n"
13107 "stopped by signal 19\n"
13108 "$B< kill -CONT 32360>\n"
13109 "continued\n"
13110 "$B< kill -TERM 32360>\n"
13111 "killed by signal 15\n"
13112 "[1]+  Done                    ./a.out\n"
13113 "$\n"
13114 msgstr ""
13115 "$B< ./a.out &>\n"
13116 "Child PID is 32360\n"
13117 "[1] 32359\n"
13118 "$B< kill -STOP 32360>\n"
13119 "stopped by signal 19\n"
13120 "$B< kill -CONT 32360>\n"
13121 "continued\n"
13122 "$B< kill -TERM 32360>\n"
13123 "killed by signal 15\n"
13124 "[1]+  Done                    ./a.out\n"
13125 "$\n"
13126
13127 #. type: Plain text
13128 #: build/C/man2/wait.2:564
13129 #, no-wrap
13130 msgid ""
13131 "#include E<lt>sys/wait.hE<gt>\n"
13132 "#include E<lt>stdlib.hE<gt>\n"
13133 "#include E<lt>unistd.hE<gt>\n"
13134 "#include E<lt>stdio.hE<gt>\n"
13135 msgstr ""
13136 "#include E<lt>sys/wait.hE<gt>\n"
13137 "#include E<lt>stdlib.hE<gt>\n"
13138 "#include E<lt>unistd.hE<gt>\n"
13139 "#include E<lt>stdio.hE<gt>\n"
13140
13141 #. type: Plain text
13142 #: build/C/man2/wait.2:570
13143 #, no-wrap
13144 msgid ""
13145 "int\n"
13146 "main(int argc, char *argv[])\n"
13147 "{\n"
13148 "    pid_t cpid, w;\n"
13149 "    int status;\n"
13150 msgstr ""
13151 "int\n"
13152 "main(int argc, char *argv[])\n"
13153 "{\n"
13154 "    pid_t cpid, w;\n"
13155 "    int status;\n"
13156
13157 #. type: Plain text
13158 #: build/C/man2/wait.2:576
13159 #, no-wrap
13160 msgid ""
13161 "    cpid = fork();\n"
13162 "    if (cpid == -1) {\n"
13163 "        perror(\"fork\");\n"
13164 "        exit(EXIT_FAILURE);\n"
13165 "    }\n"
13166 msgstr ""
13167 "    cpid = fork();\n"
13168 "    if (cpid == -1) {\n"
13169 "        perror(\"fork\");\n"
13170 "        exit(EXIT_FAILURE);\n"
13171 "    }\n"
13172
13173 #. type: Plain text
13174 #: build/C/man2/wait.2:582
13175 #, no-wrap
13176 msgid ""
13177 "    if (cpid == 0) {            /* Code executed by child */\n"
13178 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13179 "        if (argc == 1)\n"
13180 "            pause();                    /* Wait for signals */\n"
13181 "        _exit(atoi(argv[1]));\n"
13182 msgstr ""
13183 "    if (cpid == 0) {            /* Code executed by child */\n"
13184 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13185 "        if (argc == 1)\n"
13186 "            pause();                    /* Wait for signals */\n"
13187 "        _exit(atoi(argv[1]));\n"
13188
13189 #. type: Plain text
13190 #: build/C/man2/wait.2:590
13191 #, no-wrap
13192 msgid ""
13193 "    } else {                    /* Code executed by parent */\n"
13194 "        do {\n"
13195 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13196 "            if (w == -1) {\n"
13197 "                perror(\"waitpid\");\n"
13198 "                exit(EXIT_FAILURE);\n"
13199 "            }\n"
13200 msgstr ""
13201 "    } else {                    /* Code executed by parent */\n"
13202 "        do {\n"
13203 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13204 "            if (w == -1) {\n"
13205 "                perror(\"waitpid\");\n"
13206 "                exit(EXIT_FAILURE);\n"
13207 "            }\n"
13208
13209 #. type: Plain text
13210 #: build/C/man2/wait.2:604
13211 #, no-wrap
13212 msgid ""
13213 "            if (WIFEXITED(status)) {\n"
13214 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13215 "            } else if (WIFSIGNALED(status)) {\n"
13216 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13217 "            } else if (WIFSTOPPED(status)) {\n"
13218 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13219 "            } else if (WIFCONTINUED(status)) {\n"
13220 "                printf(\"continued\\en\");\n"
13221 "            }\n"
13222 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13223 "        exit(EXIT_SUCCESS);\n"
13224 "    }\n"
13225 "}\n"
13226 msgstr ""
13227 "            if (WIFEXITED(status)) {\n"
13228 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13229 "            } else if (WIFSIGNALED(status)) {\n"
13230 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13231 "            } else if (WIFSTOPPED(status)) {\n"
13232 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13233 "            } else if (WIFCONTINUED(status)) {\n"
13234 "                printf(\"continued\\en\");\n"
13235 "            }\n"
13236 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13237 "        exit(EXIT_SUCCESS);\n"
13238 "    }\n"
13239 "}\n"
13240
13241 #. type: Plain text
13242 #: build/C/man2/wait.2:617
13243 msgid ""
13244 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13245 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13246 "B<signal>(7)"
13247 msgstr ""
13248 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13249 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13250 "B<signal>(7)"
13251
13252 #. type: TH
13253 #: build/C/man2/wait4.2:34
13254 #, no-wrap
13255 msgid "WAIT4"
13256 msgstr "WAIT4"
13257
13258 #. type: Plain text
13259 #: build/C/man2/wait4.2:37
13260 msgid "wait3, wait4 - wait for process to change state, BSD style"
13261 msgstr "wait3, wait4 - BSD スタイルでプロセスの状態変化を待つ"
13262
13263 #. type: Plain text
13264 #: build/C/man2/wait4.2:43
13265 #, no-wrap
13266 msgid ""
13267 "B<#include E<lt>sys/types.hE<gt>>\n"
13268 "B<#include E<lt>sys/time.hE<gt>>\n"
13269 "B<#include E<lt>sys/resource.hE<gt>>\n"
13270 "B<#include E<lt>sys/wait.hE<gt>>\n"
13271 msgstr ""
13272 "B<#include E<lt>sys/types.hE<gt>>\n"
13273 "B<#include E<lt>sys/time.hE<gt>>\n"
13274 "B<#include E<lt>sys/resource.hE<gt>>\n"
13275 "B<#include E<lt>sys/wait.hE<gt>>\n"
13276
13277 #. type: Plain text
13278 #: build/C/man2/wait4.2:46
13279 #, no-wrap
13280 msgid ""
13281 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13282 "B<            struct rusage *>I<rusage>B<);>\n"
13283 msgstr ""
13284 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13285 "B<            struct rusage *>I<rusage>B<);>\n"
13286
13287 #. type: Plain text
13288 #: build/C/man2/wait4.2:49
13289 #, no-wrap
13290 msgid ""
13291 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13292 "B<            struct rusage *>I<rusage>B<);>\n"
13293 msgstr ""
13294 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13295 "B<            struct rusage *>I<rusage>B<);>\n"
13296
13297 #. type: Plain text
13298 #: build/C/man2/wait4.2:58
13299 msgid "B<wait3>():"
13300 msgstr "B<wait3>():"
13301
13302 #. type: Plain text
13303 #: build/C/man2/wait4.2:64
13304 msgid "B<wait4>():"
13305 msgstr "B<wait4>():"
13306
13307 #. type: Plain text
13308 #: build/C/man2/wait4.2:66
13309 msgid "_BSD_SOURCE"
13310 msgstr "_BSD_SOURCE"
13311
13312 #. type: Plain text
13313 #: build/C/man2/wait4.2:78
13314 msgid ""
13315 "The B<wait3>()  and B<wait4>()  system calls are similar to B<waitpid>(2), "
13316 "but additionally return resource usage information about the child in the "
13317 "structure pointed to by I<rusage>."
13318 msgstr ""
13319 "システムコール B<wait3>()  と B<wait4>()  は B<waitpid>(2)  と同様の動作をす"
13320 "る。それに加え、子プロセスのリソース使用状況の情報を I<rusage> が指す構造体に"
13321 "入れて返す。"
13322
13323 #. type: Plain text
13324 #: build/C/man2/wait4.2:84
13325 msgid ""
13326 "Other than the use of the I<rusage> argument, the following B<wait3>()  call:"
13327 msgstr "I<rusage> を使用する点を除けば、次の B<wait3>()  の呼び出し"
13328
13329 #. type: Plain text
13330 #: build/C/man2/wait4.2:87
13331 #, no-wrap
13332 msgid "    wait3(status, options, rusage);\n"
13333 msgstr "    wait3(status, options, rusage);\n"
13334
13335 #. type: Plain text
13336 #: build/C/man2/wait4.2:90 build/C/man2/wait4.2:104
13337 msgid "is equivalent to:"
13338 msgstr "は以下と等価である。"
13339
13340 #. type: Plain text
13341 #: build/C/man2/wait4.2:93
13342 #, no-wrap
13343 msgid "    waitpid(-1, status, options);\n"
13344 msgstr "    waitpid(-1, status, options);\n"
13345
13346 #. type: Plain text
13347 #: build/C/man2/wait4.2:98
13348 msgid "Similarly, the following B<wait4>()  call:"
13349 msgstr "同様に、次の B<wait4>()  の呼び出し"
13350
13351 #. type: Plain text
13352 #: build/C/man2/wait4.2:101
13353 #, no-wrap
13354 msgid "    wait4(pid, status, options, rusage);\n"
13355 msgstr "    wait4(pid, status, options, rusage);\n"
13356
13357 #. type: Plain text
13358 #: build/C/man2/wait4.2:107
13359 #, no-wrap
13360 msgid "    waitpid(pid, status, options);\n"
13361 msgstr "    waitpid(pid, status, options);\n"
13362
13363 #. type: Plain text
13364 #: build/C/man2/wait4.2:117
13365 msgid ""
13366 "In other words, B<wait3>()  waits of any child, while B<wait4>()  can be "
13367 "used to select a specific child, or children, on which to wait.  See B<wait>"
13368 "(2)  for further details."
13369 msgstr ""
13370 "言い換えると、 B<wait3>()  は全ての子プロセスを対象に待つが、 B<wait4>()  で"
13371 "は特定の子プロセス (複数可) を選んで待つことができる。"
13372
13373 #. type: Plain text
13374 #: build/C/man2/wait4.2:127
13375 msgid ""
13376 "If I<rusage> is not NULL, the I<struct rusage> to which it points will be "
13377 "filled with accounting information about the child.  See B<getrusage>(2)  "
13378 "for details."
13379 msgstr ""
13380 "I<rusage> が NULL でない場合、 I<rusage> が指す I<rusage 構造体> には子プロセ"
13381 "スのアカウント情報が格納される。 詳しくは B<getrusage>(2)  を参照のこと。"
13382
13383 #. type: Plain text
13384 #: build/C/man2/wait4.2:130 build/C/man2/wait4.2:133
13385 msgid "As for B<waitpid>(2)."
13386 msgstr "B<waitpid>(2)  と同様。"
13387
13388 #. type: Plain text
13389 #: build/C/man2/wait4.2:135
13390 msgid "4.3BSD."
13391 msgstr "4.3BSD."
13392
13393 #. type: Plain text
13394 #: build/C/man2/wait4.2:147
13395 msgid ""
13396 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
13397 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
13398 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
13399 "hE<gt>>.)"
13400 msgstr ""
13401 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
13402 "しておくと 移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> "
13403 "で I<rusage> 構造体が定義されているが、そのフィールドで使用されている "
13404 "I<struct timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
13405
13406 #. type: Plain text
13407 #: build/C/man2/wait4.2:153
13408 msgid ""
13409 "On Linux, B<wait3>()  is a library function implemented on top of the "
13410 "B<wait4>()  system call."
13411 msgstr ""
13412 "Linux では、 B<wait3>()  はライブラリ関数であり、 B<wait4>()  システムコール"
13413 "を使って実装されている。"
13414
13415 #. type: Plain text
13416 #: build/C/man2/wait4.2:160
13417 msgid ""
13418 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13419 "B<signal>(7)"
13420 msgstr ""
13421 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13422 "B<signal>(7)"
13423
13424 #~ msgid "2009-01-26"
13425 #~ msgstr "2009-01-26"
13426
13427 #~ msgid "B<EFD_NONBLOCK>"
13428 #~ msgstr "B<EFD_NONBLOCK>"
13429
13430 #~ msgid "B<EFD_CLOEXEC>"
13431 #~ msgstr "B<EFD_CLOEXEC>"
13432
13433 #~ msgid "2008-07-16"
13434 #~ msgstr "2008-07-16"
13435
13436 #~ msgid "2008-08-21"
13437 #~ msgstr "2008-08-21"
13438
13439 #~ msgid "B<perror>(3), B<strsignal>(3)"
13440 #~ msgstr "B<perror>(3), B<strsignal>(3)"
13441
13442 #~ msgid "2009-07-25"
13443 #~ msgstr "2009-07-25"
13444
13445 #~ msgid "POSIX.1b signals and B<SIGCHLD> fill in I<si_pid> and I<si_uid>."
13446 #~ msgstr ""
13447 #~ "POSIX.1b シグナルと B<SIGCHLD> は I<si_pid> と I<si_uid> を設定する。"
13448
13449 #~ msgid ""
13450 #~ "I<si_int> and I<si_ptr> are specified by the sender of the POSIX.1b "
13451 #~ "signal.  See B<sigqueue>(2)  for more details."
13452 #~ msgstr ""
13453 #~ "I<si_int> と I<si_ptr> は POSIX.1b シグナルの送信者によって指定される。 詳"
13454 #~ "細は B<sigqueue>(2)  を参照のこと。"
13455
13456 #~ msgid ""
13457 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, and B<SIGBUS> fill in I<si_addr> with "
13458 #~ "the address of the fault.  B<SIGPOLL> fills in I<si_band> and I<si_fd>."
13459 #~ msgstr ""
13460 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS> は I<si_addr> にエラーが発生し"
13461 #~ "たアドレスを設定する。 SIGPOLL は I<si_band> と I<si_fd> を設定する。"
13462
13463 #~ msgid "B<sigqueue>(2)"
13464 #~ msgstr "B<sigqueue>(2)"
13465
13466 #~ msgid "2009-03-10"
13467 #~ msgstr "2009-03-10"