# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2014-04-24 00:51+0900\n" "PO-Revision-Date: 2014-04-30 00:56+0900\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man3/bsd_signal.3:25 #, no-wrap msgid "BSD_SIGNAL" msgstr "BSD_SIGNAL" #. type: TH #: build/C/man3/bsd_signal.3:25 #, no-wrap msgid "2013-10-22" msgstr "2013-10-22" #. type: TH #: build/C/man3/bsd_signal.3:25 build/C/man2/eventfd.2:22 #: build/C/man2/getitimer.2:12 build/C/man3/gsignal.3:27 #: build/C/man2/kill.2:44 build/C/man2/killpg.2:42 build/C/man2/pause.2:30 #: build/C/man2/prctl.2:52 build/C/man3/profil.3:28 build/C/man3/psignal.3:30 #: build/C/man3/raise.3:29 build/C/man2/restart_syscall.2:33 #: build/C/man2/rt_sigqueueinfo.2:25 build/C/man2/s390_runtime_instr.2:25 #: build/C/man2/sgetmask.2:26 build/C/man2/sigaction.2:47 #: build/C/man2/sigaltstack.2:27 build/C/man7/sigevent.7:26 #: build/C/man3/siginterrupt.3:31 build/C/man2/signal.2:36 #: build/C/man7/signal.7:46 build/C/man2/signalfd.2:20 #: build/C/man3/sigpause.3:25 build/C/man2/sigpending.2:29 #: build/C/man2/sigprocmask.2:29 build/C/man3/sigqueue.3:28 #: build/C/man2/sigreturn.2:29 build/C/man3/sigset.3:26 #: build/C/man3/sigsetops.3:31 build/C/man2/sigsuspend.2:29 #: build/C/man3/sigvec.3:26 build/C/man3/sigwait.3:26 #: build/C/man2/sigwaitinfo.2:25 build/C/man3/sysv_signal.3:25 #: build/C/man2/timer_create.2:31 build/C/man2/timer_delete.2:26 #: build/C/man2/timer_getoverrun.2:26 build/C/man2/timer_settime.2:26 #: build/C/man2/timerfd_create.2:21 build/C/man2/tkill.2:29 #: build/C/man2/wait.2:49 build/C/man2/wait4.2:33 #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux Programmer's Manual" #. type: SH #: build/C/man3/bsd_signal.3:26 build/C/man2/eventfd.2:23 #: build/C/man2/getitimer.2:13 build/C/man3/gsignal.3:28 #: build/C/man2/kill.2:45 build/C/man2/killpg.2:43 build/C/man2/pause.2:31 #: build/C/man2/prctl.2:53 build/C/man3/profil.3:29 build/C/man3/psignal.3:31 #: build/C/man3/raise.3:30 build/C/man2/restart_syscall.2:34 #: build/C/man2/rt_sigqueueinfo.2:26 build/C/man2/s390_runtime_instr.2:26 #: build/C/man2/sgetmask.2:27 build/C/man2/sigaction.2:48 #: build/C/man2/sigaltstack.2:28 build/C/man7/sigevent.7:27 #: build/C/man3/siginterrupt.3:32 build/C/man2/signal.2:37 #: build/C/man7/signal.7:47 build/C/man2/signalfd.2:21 #: build/C/man3/sigpause.3:26 build/C/man2/sigpending.2:30 #: build/C/man2/sigprocmask.2:30 build/C/man3/sigqueue.3:29 #: build/C/man2/sigreturn.2:30 build/C/man3/sigset.3:27 #: build/C/man3/sigsetops.3:32 build/C/man2/sigsuspend.2:30 #: build/C/man3/sigvec.3:27 build/C/man3/sigwait.3:27 #: build/C/man2/sigwaitinfo.2:26 build/C/man3/sysv_signal.3:26 #: build/C/man2/timer_create.2:32 build/C/man2/timer_delete.2:27 #: build/C/man2/timer_getoverrun.2:27 build/C/man2/timer_settime.2:27 #: build/C/man2/timerfd_create.2:22 build/C/man2/tkill.2:30 #: build/C/man2/wait.2:50 build/C/man2/wait4.2:34 #, no-wrap msgid "NAME" msgstr "名前" #. type: Plain text #: build/C/man3/bsd_signal.3:28 msgid "bsd_signal - signal handling with BSD semantics" msgstr "bsd_signal - BSD 方式のシグナル処理" #. type: SH #: build/C/man3/bsd_signal.3:28 build/C/man2/eventfd.2:25 #: build/C/man2/getitimer.2:15 build/C/man3/gsignal.3:30 #: build/C/man2/kill.2:47 build/C/man2/killpg.2:45 build/C/man2/pause.2:33 #: build/C/man2/prctl.2:55 build/C/man3/profil.3:31 build/C/man3/psignal.3:33 #: build/C/man3/raise.3:32 build/C/man2/restart_syscall.2:36 #: build/C/man2/rt_sigqueueinfo.2:28 build/C/man2/s390_runtime_instr.2:28 #: build/C/man2/sgetmask.2:29 build/C/man2/sigaction.2:50 #: build/C/man2/sigaltstack.2:30 build/C/man7/sigevent.7:29 #: build/C/man3/siginterrupt.3:34 build/C/man2/signal.2:39 #: build/C/man2/signalfd.2:23 build/C/man3/sigpause.3:28 #: build/C/man2/sigpending.2:32 build/C/man2/sigprocmask.2:32 #: build/C/man3/sigqueue.3:31 build/C/man2/sigreturn.2:32 #: build/C/man3/sigset.3:29 build/C/man3/sigsetops.3:35 #: build/C/man2/sigsuspend.2:32 build/C/man3/sigvec.3:29 #: build/C/man3/sigwait.3:29 build/C/man2/sigwaitinfo.2:28 #: build/C/man3/sysv_signal.3:28 build/C/man2/timer_create.2:34 #: build/C/man2/timer_delete.2:29 build/C/man2/timer_getoverrun.2:29 #: build/C/man2/timer_settime.2:30 build/C/man2/timerfd_create.2:25 #: build/C/man2/tkill.2:32 build/C/man2/wait.2:52 build/C/man2/wait4.2:36 #, no-wrap msgid "SYNOPSIS" msgstr "書式" #. type: Plain text #: build/C/man3/bsd_signal.3:30 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */" msgstr "B<#define _XOPEN_SOURCE> /* feature_test_macros(7) 参照 */" #. type: Plain text #: build/C/man3/bsd_signal.3:32 build/C/man2/killpg.2:47 #: build/C/man2/sigaltstack.2:32 build/C/man2/signal.2:41 #: build/C/man2/sigpending.2:34 build/C/man2/sigprocmask.2:34 #: build/C/man3/sigqueue.3:33 build/C/man3/sigset.3:31 #: build/C/man3/sigsetops.3:37 build/C/man2/sigsuspend.2:34 #: build/C/man3/sigvec.3:31 build/C/man3/sysv_signal.3:32 msgid "B<#include Esignal.hE>" msgstr "B<#include Esignal.hE>" #. type: Plain text #: build/C/man3/bsd_signal.3:34 build/C/man2/signal.2:43 #: build/C/man3/sigset.3:33 build/C/man3/sysv_signal.3:34 msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/bsd_signal.3:36 msgid "" "BIB<, sighandler_t >IB<);>" msgstr "" "BIB<, sighandler_t >IB<);>" #. type: SH #: build/C/man3/bsd_signal.3:36 build/C/man2/eventfd.2:29 #: build/C/man2/getitimer.2:24 build/C/man3/gsignal.3:49 #: build/C/man2/kill.2:65 build/C/man2/killpg.2:60 build/C/man2/pause.2:37 #: build/C/man2/prctl.2:62 build/C/man3/profil.3:46 build/C/man3/psignal.3:56 #: build/C/man3/raise.3:38 build/C/man2/restart_syscall.2:41 #: build/C/man2/rt_sigqueueinfo.2:38 build/C/man2/s390_runtime_instr.2:34 #: build/C/man2/sgetmask.2:36 build/C/man2/sigaction.2:70 #: build/C/man2/sigaltstack.2:51 build/C/man7/sigevent.7:52 #: build/C/man3/siginterrupt.3:55 build/C/man2/signal.2:45 #: build/C/man7/signal.7:49 build/C/man2/signalfd.2:27 #: build/C/man3/sigpause.3:36 build/C/man2/sigpending.2:46 #: build/C/man2/sigprocmask.2:47 build/C/man3/sigqueue.3:43 #: build/C/man2/sigreturn.2:34 build/C/man3/sigset.3:58 #: build/C/man3/sigsetops.3:63 build/C/man2/sigsuspend.2:46 #: build/C/man3/sigvec.3:49 build/C/man3/sigwait.3:45 #: build/C/man2/sigwaitinfo.2:46 build/C/man3/sysv_signal.3:36 #: build/C/man2/timer_create.2:52 build/C/man2/timer_delete.2:45 #: build/C/man2/timer_getoverrun.2:45 build/C/man2/timer_settime.2:50 #: build/C/man2/timerfd_create.2:37 build/C/man2/tkill.2:41 #: build/C/man2/wait.2:83 build/C/man2/wait4.2:67 #, no-wrap msgid "DESCRIPTION" msgstr "説明" #. type: Plain text #: build/C/man3/bsd_signal.3:41 msgid "" "The B() function takes the same arguments, and performs the " "same task, as B(2)." msgstr "" "B() 関数は B(2) と同じ引き数をとり、同じ処理を実行す" "る。" #. type: Plain text #: build/C/man3/bsd_signal.3:54 msgid "" "The difference between the two is that B() is guaranteed to " "provide reliable signal semantics, that is: a) the disposition of the signal " "is not reset to the default when the handler is invoked; b) delivery of " "further instances of the signal is blocked while the signal handler is " "executing; and c) if the handler interrupts a blocking system call, then the " "system call is automatically restarted. A portable application cannot rely " "on B(2) to provide these guarantees." msgstr "" "両者の違いは、 B() では信頼性のあるシグナル処理方式の提供が保証" "されていることである。 信頼性のあるシグナル処理方式は以下の特徴を持つ。 a) ハ" "ンドラが起動された場合に、シグナルの処理方法 (disposition) が デフォルトにリ" "セットされない、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナ" "ルの配送が ブロックされない、 c) ハンドラが停止中の (blocking している) シス" "テムコールを 中断した場合、そのシステムコールが自動的に再開される。 移植性が" "必要なアプリケーションでは、 B(2) でこれらが保証されることを前提にす" "べきではない。" #. type: SH #: build/C/man3/bsd_signal.3:54 build/C/man2/eventfd.2:222 #: build/C/man2/getitimer.2:122 build/C/man2/kill.2:100 #: build/C/man2/killpg.2:89 build/C/man2/pause.2:42 build/C/man2/prctl.2:802 #: build/C/man3/profil.3:68 build/C/man3/psignal.3:89 build/C/man3/raise.3:61 #: build/C/man2/restart_syscall.2:84 build/C/man2/rt_sigqueueinfo.2:129 #: build/C/man2/s390_runtime_instr.2:54 build/C/man2/sgetmask.2:59 #: build/C/man2/sigaction.2:660 build/C/man2/sigaltstack.2:133 #: build/C/man3/siginterrupt.3:73 build/C/man2/signal.2:97 #: build/C/man2/signalfd.2:251 build/C/man3/sigpause.3:48 #: build/C/man2/sigpending.2:53 build/C/man2/sigprocmask.2:93 #: build/C/man3/sigqueue.3:83 build/C/man2/sigreturn.2:53 #: build/C/man3/sigset.3:129 build/C/man3/sigsetops.3:107 #: build/C/man2/sigsuspend.2:70 build/C/man3/sigvec.3:199 #: build/C/man3/sigwait.3:69 build/C/man2/sigwaitinfo.2:105 #: build/C/man3/sysv_signal.3:51 build/C/man2/timer_create.2:167 #: build/C/man2/timer_delete.2:53 build/C/man2/timer_getoverrun.2:82 #: build/C/man2/timer_settime.2:173 build/C/man2/timerfd_create.2:287 #: build/C/man2/tkill.2:95 build/C/man2/wait.2:355 build/C/man2/wait4.2:132 #, no-wrap msgid "RETURN VALUE" msgstr "返り値" #. type: Plain text #: build/C/man3/bsd_signal.3:60 msgid "" "The B() function returns the previous value of the signal " "handler, or B on error." msgstr "" "B() 関数はシグナルハンドラの直前の値を返す。 エラーの場合、 " "B を返す。" #. type: SH #: build/C/man3/bsd_signal.3:60 build/C/man2/eventfd.2:229 #: build/C/man2/getitimer.2:127 build/C/man2/kill.2:105 #: build/C/man2/killpg.2:94 build/C/man2/pause.2:53 build/C/man2/prctl.2:822 #: build/C/man2/restart_syscall.2:88 build/C/man2/rt_sigqueueinfo.2:134 #: build/C/man2/s390_runtime_instr.2:65 build/C/man2/sgetmask.2:64 #: build/C/man2/sigaction.2:665 build/C/man2/sigaltstack.2:137 #: build/C/man3/siginterrupt.3:83 build/C/man2/signal.2:105 #: build/C/man2/signalfd.2:265 build/C/man2/sigpending.2:59 #: build/C/man2/sigprocmask.2:99 build/C/man3/sigqueue.3:91 #: build/C/man3/sigset.3:154 build/C/man3/sigsetops.3:126 #: build/C/man2/sigsuspend.2:76 build/C/man3/sigvec.3:216 #: build/C/man3/sigwait.3:74 build/C/man2/sigwaitinfo.2:114 #: build/C/man3/sysv_signal.3:57 build/C/man2/timer_create.2:175 #: build/C/man2/timer_delete.2:60 build/C/man2/timer_getoverrun.2:90 #: build/C/man2/timer_settime.2:182 build/C/man2/timerfd_create.2:302 #: build/C/man2/tkill.2:99 build/C/man2/wait.2:384 build/C/man2/wait4.2:135 #, no-wrap msgid "ERRORS" msgstr "エラー" #. type: Plain text #: build/C/man3/bsd_signal.3:63 build/C/man3/sysv_signal.3:60 msgid "As for B(2)." msgstr "B(2) と同じ。" #. type: SH #: build/C/man3/bsd_signal.3:63 build/C/man3/raise.3:64 #: build/C/man3/sigpause.3:56 build/C/man3/sigqueue.3:114 #: build/C/man3/sigsetops.3:131 build/C/man3/sigvec.3:221 #: build/C/man3/sigwait.3:80 build/C/man3/sysv_signal.3:60 #, no-wrap msgid "ATTRIBUTES" msgstr "属性" #. type: SS #: build/C/man3/bsd_signal.3:64 build/C/man3/raise.3:65 #: build/C/man3/sigpause.3:57 build/C/man3/sigqueue.3:115 #: build/C/man3/sigsetops.3:132 build/C/man3/sigvec.3:222 #: build/C/man3/sigwait.3:81 build/C/man3/sysv_signal.3:61 #, no-wrap msgid "Multithreading (see pthreads(7))" msgstr "マルチスレッディング (pthreads(7) 参照)" #. type: Plain text #: build/C/man3/bsd_signal.3:68 msgid "The B() function is thread-safe." msgstr "B() 関数はスレッドセーフである。" #. type: SH #: build/C/man3/bsd_signal.3:68 build/C/man2/eventfd.2:266 #: build/C/man2/getitimer.2:148 build/C/man3/gsignal.3:95 #: build/C/man2/kill.2:121 build/C/man2/killpg.2:111 build/C/man2/pause.2:57 #: build/C/man2/prctl.2:1066 build/C/man3/profil.3:70 #: build/C/man3/psignal.3:99 build/C/man3/raise.3:69 #: build/C/man2/restart_syscall.2:96 build/C/man2/rt_sigqueueinfo.2:176 #: build/C/man2/s390_runtime_instr.2:81 build/C/man2/sgetmask.2:66 #: build/C/man2/sigaction.2:677 build/C/man2/sigaltstack.2:156 #: build/C/man7/sigevent.7:130 build/C/man3/siginterrupt.3:87 #: build/C/man2/signal.2:110 build/C/man7/signal.7:838 #: build/C/man2/signalfd.2:307 build/C/man3/sigpause.3:61 #: build/C/man2/sigpending.2:64 build/C/man2/sigprocmask.2:112 #: build/C/man3/sigqueue.3:119 build/C/man2/sigreturn.2:60 #: build/C/man3/sigset.3:173 build/C/man3/sigsetops.3:144 #: build/C/man2/sigsuspend.2:84 build/C/man3/sigvec.3:234 #: build/C/man3/sigwait.3:85 build/C/man2/sigwaitinfo.2:133 #: build/C/man3/sysv_signal.3:65 build/C/man2/timer_create.2:193 #: build/C/man2/timer_delete.2:67 build/C/man2/timer_getoverrun.2:97 #: build/C/man2/timer_settime.2:207 build/C/man2/timerfd_create.2:371 #: build/C/man2/tkill.2:116 build/C/man2/wait.2:422 build/C/man2/wait4.2:138 #, no-wrap msgid "CONFORMING TO" msgstr "準拠" #. type: Plain text #: build/C/man3/bsd_signal.3:75 msgid "" "4.2BSD, POSIX.1-2001. POSIX.1-2008 removes the specification of " "B(), recommending the use of B(2) instead." msgstr "" "4.2BSD, POSIX.1-2001. POSIX.1-2008 では B() の仕様が削除されて" "いる。 代わりに、 B(2) の使用が推奨されている。" #. type: SH #: build/C/man3/bsd_signal.3:75 build/C/man2/eventfd.2:271 #: build/C/man2/getitimer.2:158 build/C/man2/kill.2:123 #: build/C/man2/killpg.2:115 build/C/man3/raise.3:71 #: build/C/man2/restart_syscall.2:98 build/C/man2/rt_sigqueueinfo.2:178 #: build/C/man2/s390_runtime_instr.2:84 build/C/man2/sgetmask.2:68 #: build/C/man2/sigaction.2:680 build/C/man2/sigaltstack.2:158 #: build/C/man2/signal.2:112 build/C/man2/signalfd.2:312 #: build/C/man3/sigpause.3:65 build/C/man2/sigpending.2:66 #: build/C/man2/sigprocmask.2:114 build/C/man3/sigqueue.3:121 #: build/C/man2/sigreturn.2:64 build/C/man3/sigset.3:190 #: build/C/man3/sigsetops.3:146 build/C/man2/sigsuspend.2:86 #: build/C/man3/sigvec.3:240 build/C/man3/sigwait.3:87 #: build/C/man2/sigwaitinfo.2:135 build/C/man3/sysv_signal.3:67 #: build/C/man2/timer_create.2:195 build/C/man2/timer_getoverrun.2:99 #: build/C/man2/tkill.2:122 build/C/man2/wait.2:424 build/C/man2/wait4.2:147 #, no-wrap msgid "NOTES" msgstr "注意" #. type: Plain text #: build/C/man3/bsd_signal.3:81 msgid "" "Use of B() should be avoided; use B(2) instead." msgstr "" "B() の使用は避けるべきである。代わりに B(2) を使うこ" "と。" #. type: Plain text #: build/C/man3/bsd_signal.3:92 msgid "" "On modern Linux systems, B() and B(2) are equivalent. " "But on older systems, B(2) provided unreliable signal semantics; " "see B(2) for details." msgstr "" "最近の Linux システムでは、 B() と B(2) は等価である。" "しかし、以前のシステムでは、 B(2) は信頼性に欠けるシグナル処理方式を" "提供していた。 詳細は B(2) を参照。" #. type: Plain text #: build/C/man3/bsd_signal.3:99 build/C/man3/sysv_signal.3:92 msgid "" "The use of I is a GNU extension; this type is defined only if " "the B<_GNU_SOURCE> feature test macro is defined." msgstr "" "I を使っているのは GNU による拡張である。 この型は機能検査マク" "ロ B<_GNU_SOURCE> を定義した場合にのみ定義される。" #. type: SH #: build/C/man3/bsd_signal.3:99 build/C/man2/eventfd.2:417 #: build/C/man2/getitimer.2:239 build/C/man3/gsignal.3:103 #: build/C/man2/kill.2:171 build/C/man2/killpg.2:134 build/C/man2/pause.2:59 #: build/C/man2/prctl.2:1080 build/C/man3/profil.3:81 #: build/C/man3/psignal.3:113 build/C/man3/raise.3:82 #: build/C/man2/restart_syscall.2:123 build/C/man2/rt_sigqueueinfo.2:188 #: build/C/man2/s390_runtime_instr.2:88 build/C/man2/sgetmask.2:82 #: build/C/man2/sigaction.2:793 build/C/man2/sigaltstack.2:232 #: build/C/man7/sigevent.7:132 build/C/man3/siginterrupt.3:96 #: build/C/man2/signal.2:278 build/C/man7/signal.7:850 #: build/C/man2/signalfd.2:433 build/C/man3/sigpause.3:111 #: build/C/man2/sigpending.2:91 build/C/man2/sigprocmask.2:144 #: build/C/man3/sigqueue.3:154 build/C/man2/sigreturn.2:74 #: build/C/man3/sigset.3:266 build/C/man3/sigsetops.3:185 #: build/C/man2/sigsuspend.2:108 build/C/man3/sigvec.3:265 #: build/C/man3/sigwait.3:94 build/C/man2/sigwaitinfo.2:187 #: build/C/man3/sysv_signal.3:92 build/C/man2/timer_create.2:407 #: build/C/man2/timer_delete.2:69 build/C/man2/timer_getoverrun.2:131 #: build/C/man2/timer_settime.2:212 build/C/man2/timerfd_create.2:541 #: build/C/man2/tkill.2:131 build/C/man2/wait.2:633 build/C/man2/wait4.2:165 #, no-wrap msgid "SEE ALSO" msgstr "関連項目" #. type: Plain text #: build/C/man3/bsd_signal.3:104 msgid "B(2), B(2), B(3), B(7)" msgstr "B(2), B(2), B(3), B(7)" #. type: SH #: build/C/man3/bsd_signal.3:104 build/C/man2/eventfd.2:428 #: build/C/man2/getitimer.2:246 build/C/man3/gsignal.3:107 #: build/C/man2/kill.2:181 build/C/man2/killpg.2:140 build/C/man2/pause.2:64 #: build/C/man2/prctl.2:1083 build/C/man3/profil.3:86 #: build/C/man3/psignal.3:118 build/C/man3/raise.3:89 #: build/C/man2/restart_syscall.2:131 build/C/man2/rt_sigqueueinfo.2:196 #: build/C/man2/s390_runtime_instr.2:91 build/C/man2/sgetmask.2:85 #: build/C/man2/sigaction.2:813 build/C/man2/sigaltstack.2:239 #: build/C/man7/sigevent.7:142 build/C/man3/siginterrupt.3:98 #: build/C/man2/signal.2:297 build/C/man7/signal.7:884 #: build/C/man2/signalfd.2:446 build/C/man3/sigpause.3:119 #: build/C/man2/sigpending.2:99 build/C/man2/sigprocmask.2:155 #: build/C/man3/sigqueue.3:162 build/C/man2/sigreturn.2:80 #: build/C/man3/sigset.3:276 build/C/man3/sigsetops.3:190 #: build/C/man2/sigsuspend.2:118 build/C/man3/sigvec.3:275 #: build/C/man3/sigwait.3:102 build/C/man2/sigwaitinfo.2:199 #: build/C/man3/sysv_signal.3:97 build/C/man2/timer_create.2:422 #: build/C/man2/timer_delete.2:75 build/C/man2/timer_getoverrun.2:141 #: build/C/man2/timer_settime.2:216 build/C/man2/timerfd_create.2:553 #: build/C/man2/tkill.2:136 build/C/man2/wait.2:645 build/C/man2/wait4.2:172 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text #: build/C/man3/bsd_signal.3:111 build/C/man2/eventfd.2:435 #: build/C/man2/getitimer.2:253 build/C/man3/gsignal.3:114 #: build/C/man2/kill.2:188 build/C/man2/killpg.2:147 build/C/man2/pause.2:71 #: build/C/man2/prctl.2:1090 build/C/man3/profil.3:93 #: build/C/man3/psignal.3:125 build/C/man3/raise.3:96 #: build/C/man2/restart_syscall.2:138 build/C/man2/rt_sigqueueinfo.2:203 #: build/C/man2/s390_runtime_instr.2:98 build/C/man2/sgetmask.2:92 #: build/C/man2/sigaction.2:820 build/C/man2/sigaltstack.2:246 #: build/C/man7/sigevent.7:149 build/C/man3/siginterrupt.3:105 #: build/C/man2/signal.2:304 build/C/man7/signal.7:891 #: build/C/man2/signalfd.2:453 build/C/man3/sigpause.3:126 #: build/C/man2/sigpending.2:106 build/C/man2/sigprocmask.2:162 #: build/C/man3/sigqueue.3:169 build/C/man2/sigreturn.2:87 #: build/C/man3/sigset.3:283 build/C/man3/sigsetops.3:197 #: build/C/man2/sigsuspend.2:125 build/C/man3/sigvec.3:282 #: build/C/man3/sigwait.3:109 build/C/man2/sigwaitinfo.2:206 #: build/C/man3/sysv_signal.3:104 build/C/man2/timer_create.2:429 #: build/C/man2/timer_delete.2:82 build/C/man2/timer_getoverrun.2:148 #: build/C/man2/timer_settime.2:223 build/C/man2/timerfd_create.2:560 #: build/C/man2/tkill.2:143 build/C/man2/wait.2:652 build/C/man2/wait4.2:179 msgid "" "This page is part of release 3.65 of the Linux I project. A " "description of the project, and information about reporting bugs, can be " "found at \\%http://www.kernel.org/doc/man-pages/." msgstr "この man ページは Linux I プロジェクトのリリース 3.65 の一部である。 プロジェクトの説明とバグ報告に関する情報は \\%http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH #: build/C/man2/eventfd.2:22 #, no-wrap msgid "EVENTFD" msgstr "EVENTFD" #. type: TH #: build/C/man2/eventfd.2:22 #, no-wrap msgid "2010-08-30" msgstr "2010-08-30" #. type: TH #: build/C/man2/eventfd.2:22 build/C/man2/getitimer.2:12 #: build/C/man2/kill.2:44 build/C/man2/killpg.2:42 build/C/man2/pause.2:30 #: build/C/man2/prctl.2:52 build/C/man3/profil.3:28 #: build/C/man2/restart_syscall.2:33 build/C/man2/rt_sigqueueinfo.2:25 #: build/C/man2/sgetmask.2:26 build/C/man2/sigaction.2:47 #: build/C/man2/sigaltstack.2:27 build/C/man2/signal.2:36 #: build/C/man7/signal.7:46 build/C/man2/signalfd.2:20 #: build/C/man3/sigpause.3:25 build/C/man2/sigpending.2:29 #: build/C/man2/sigprocmask.2:29 build/C/man3/sigqueue.3:28 #: build/C/man2/sigreturn.2:29 build/C/man3/sigset.3:26 #: build/C/man3/sigsetops.3:31 build/C/man2/sigsuspend.2:29 #: build/C/man3/sigvec.3:26 build/C/man3/sigwait.3:26 #: build/C/man2/sigwaitinfo.2:25 build/C/man2/timer_create.2:31 #: build/C/man2/timer_delete.2:26 build/C/man2/timer_getoverrun.2:26 #: build/C/man2/timer_settime.2:26 build/C/man2/timerfd_create.2:21 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:49 build/C/man2/wait4.2:33 #, no-wrap msgid "Linux" msgstr "Linux" #. type: Plain text #: build/C/man2/eventfd.2:25 msgid "eventfd - create a file descriptor for event notification" msgstr "eventfd - イベント通知用のファイルディスクリプタを生成する" #. type: Plain text #: build/C/man2/eventfd.2:27 msgid "B<#include Esys/eventfd.hE>" msgstr "B<#include Esys/eventfd.hE>" #. type: Plain text #: build/C/man2/eventfd.2:29 msgid "BIB<, int >IB<);>" msgstr "BIB<, int >IB<);>" #. type: Plain text #: build/C/man2/eventfd.2:39 msgid "" "B() creates an \"eventfd object\" that can be used as an event " "wait/notify mechanism by user-space applications, and by the kernel to " "notify user-space applications of events. The object contains an unsigned " "64-bit integer (I) counter that is maintained by the kernel. " "This counter is initialized with the value specified in the argument " "I." msgstr "" "B() は \"eventfd オブジェクト\" を生成する。 eventfd オブジェクトは" "ユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことが" "できる。また、カーネルがユーザ空間アプリケーションに イベントを通知するために" "も使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 " "(I) 型のカウンタが含まれており、このカウンタはカーネルにより管理さ" "れる。 このカウンタは I 引き数で指定された値で初期化される。" #. type: Plain text #: build/C/man2/eventfd.2:44 msgid "" "The following values may be bitwise ORed in I to change the behaviour " "of B():" msgstr "以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 B() の振舞いを変更することができる。" #. type: TP #: build/C/man2/eventfd.2:44 #, no-wrap msgid "B (since Linux 2.6.27)" msgstr "B (Linux 2.6.27 以降)" #. type: Plain text #: build/C/man2/eventfd.2:54 build/C/man2/signalfd.2:95 #: build/C/man2/timerfd_create.2:103 msgid "" "Set the close-on-exec (B) flag on the new file descriptor. See " "the description of the B flag in B(2) for reasons why this " "may be useful." msgstr "" "新しいファイルディスクリプタに対して close-on-exec (B) フラグを" "セットする。 このフラグが役に立つ理由については、 B(2) の " "B フラグの説明を参照のこと。" #. type: TP #: build/C/man2/eventfd.2:54 #, no-wrap msgid "B (since Linux 2.6.27)" msgstr "B (Linux 2.6.27 以降)" #. type: Plain text #: build/C/man2/eventfd.2:62 build/C/man2/signalfd.2:85 #: build/C/man2/timerfd_create.2:93 msgid "" "Set the B file status flag on the new open file description. " "Using this flag saves extra calls to B(2) to achieve the same result." msgstr "" "新しく生成されるオープンファイル記述 (open file description) の " "B ファイルステータスフラグをセットする。 このフラグを使うこと" "で、 B をセットするために B(2) を追加で呼び出す必要がなく" "なる。" #. type: TP #: build/C/man2/eventfd.2:62 #, no-wrap msgid "B (since Linux 2.6.30)" msgstr "B (Linux 2.6.30 以降)" #. type: Plain text #: build/C/man2/eventfd.2:66 msgid "" "Provide semaphore-like semantics for reads from the new file descriptor. " "See below." msgstr "新しいファイルディスクリプタからの読み出しにおいて、セマフォ風の動作を行う。 下記参照。" #. type: Plain text #: build/C/man2/eventfd.2:70 build/C/man2/signalfd.2:99 msgid "" "In Linux up to version 2.6.26, the I argument is unused, and must be " "specified as zero." msgstr "" "バージョン 2.6.26 以前の Linux では、 I 引き数は未使用であり、0 を指定" "しなければならない。" #. type: Plain text #: build/C/man2/eventfd.2:76 msgid "" "As its return value, B() returns a new file descriptor that can be " "used to refer to the eventfd object. The following operations can be " "performed on the file descriptor:" msgstr "" "B() は eventfd オブジェクトを参照するのに使用できる新しいファイル" "ディスクリプタ を返す。返されたファイルディスクリプタに対しては以下の操作を実" "行できる。" #. type: TP #: build/C/man2/eventfd.2:76 build/C/man2/signalfd.2:102 #: build/C/man2/timerfd_create.2:211 #, no-wrap msgid "B(2)" msgstr "B(2)" #. type: Plain text #: build/C/man2/eventfd.2:86 msgid "" "Each successful B(2) returns an 8-byte integer. A B(2) will " "fail with the error B if the size of the supplied buffer is less " "than 8 bytes." msgstr "B(2) は成功すると、8 バイトの整数を返す。 渡されたバッファの大きさが 8 バイト未満の場合、 B(2) はエラー B で失敗する。" #. type: Plain text #: build/C/man2/eventfd.2:91 msgid "" "The value returned by B(2) is in host byte order\\(emthat is, the " "native byte order for integers on the host machine." msgstr "B(2) が返す値は、ホストバイトオーダ、つまり、そのホストマシンにおける整数の通常のバイトオーダである。" #. type: Plain text #: build/C/man2/eventfd.2:98 msgid "" "The semantics of B(2) depend on whether the eventfd counter currently " "has a nonzero value and whether the B flag was specified when " "creating the eventfd file descriptor:" msgstr "B(2) の動作は、 eventfd カウンタの現在の値が 0 以外であるかと、 eventfd ファイルディスクリプタを作成する際に B フラグが指定されたか、により変化する。" #. type: IP #: build/C/man2/eventfd.2:99 build/C/man2/eventfd.2:106 #: build/C/man2/eventfd.2:113 build/C/man2/eventfd.2:158 #: build/C/man2/eventfd.2:168 build/C/man2/eventfd.2:178 #: build/C/man2/prctl.2:865 build/C/man2/prctl.2:870 build/C/man2/prctl.2:875 #: build/C/man2/prctl.2:885 build/C/man3/psignal.3:105 #: build/C/man3/psignal.3:109 build/C/man2/sigaction.2:298 #: build/C/man2/sigaction.2:313 build/C/man2/sigaction.2:329 #: build/C/man2/sigaction.2:344 build/C/man2/sigaction.2:391 #: build/C/man2/sigaction.2:427 build/C/man2/signal.2:68 #: build/C/man2/signal.2:73 build/C/man2/signal.2:80 build/C/man2/signal.2:224 #: build/C/man2/signal.2:228 build/C/man2/signal.2:267 #: build/C/man7/signal.7:149 build/C/man7/signal.7:157 #: build/C/man7/signal.7:615 build/C/man7/signal.7:617 #: build/C/man7/signal.7:638 build/C/man7/signal.7:653 #: build/C/man7/signal.7:657 build/C/man7/signal.7:664 #: build/C/man7/signal.7:680 build/C/man7/signal.7:686 #: build/C/man7/signal.7:693 build/C/man7/signal.7:698 #: build/C/man7/signal.7:717 build/C/man7/signal.7:736 #: build/C/man7/signal.7:743 build/C/man7/signal.7:752 #: build/C/man7/signal.7:760 build/C/man7/signal.7:766 #: build/C/man7/signal.7:771 build/C/man7/signal.7:791 #: build/C/man7/signal.7:810 build/C/man7/signal.7:813 #: build/C/man7/signal.7:816 build/C/man7/signal.7:819 #: build/C/man7/signal.7:824 build/C/man7/signal.7:830 #: build/C/man7/signal.7:834 build/C/man3/sigwait.3:62 #: build/C/man3/sigwait.3:67 build/C/man2/timer_create.2:216 #: build/C/man2/timer_create.2:219 build/C/man2/timer_create.2:222 #: build/C/man2/timer_create.2:226 build/C/man2/timer_create.2:229 #: build/C/man2/timer_create.2:235 build/C/man2/timer_create.2:239 #, no-wrap msgid "*" msgstr "*" #. type: Plain text #: build/C/man2/eventfd.2:106 msgid "" "If B was not specified and the eventfd counter has a nonzero " "value, then a B(2) returns 8 bytes containing that value, and the " "counter's value is reset to zero." msgstr "B が指定されておらず、eventfd カウンタが 0 以外の値の場合、 B(2) はカウンタ値を格納した 8 バイトの値を返し、 カウンタ値は 0 にリセットされる。" #. type: Plain text #: build/C/man2/eventfd.2:113 msgid "" "If B was specified and the eventfd counter has a nonzero " "value, then a B(2) returns 8 bytes containing the value 1, and the " "counter's value is decremented by 1." msgstr "B が指定されていて eventfd カウンタが 0 以外の値の場合、 B(2) は値 1 の 8 バイト値を返し、カウンタ値は 1 減算される。" #. type: Plain text #: build/C/man2/eventfd.2:123 msgid "" "If the eventfd counter is zero at the time of the call to B(2), then " "the call either blocks until the counter becomes nonzero (at which time, the " "B(2) proceeds as described above) or fails with the error B " "if the file descriptor has been made nonblocking." msgstr "B(2) を呼び出した時点で eventfd カウンタが 0 の場合、 B(2) はカウンタが 0 以外になるまで停止 (block) する (0 以外になった時点で B(2) は上記で述べた通り実行を再開する)、 もしくはファイルディスクリプタが非停止 (nonblocking) に設定されている場合はエラー B で失敗する。" #. type: TP #: build/C/man2/eventfd.2:124 #, no-wrap msgid "B(2)" msgstr "B(2)" #. type: Plain text #: build/C/man2/eventfd.2:141 msgid "" "A B(2) call adds the 8-byte integer value supplied in its buffer to " "the counter. The maximum value that may be stored in the counter is the " "largest unsigned 64-bit value minus 1 (i.e., 0xfffffffffffffffe). If the " "addition would cause the counter's value to exceed the maximum, then the " "B(2) either blocks until a B(2) is performed on the file " "descriptor, or fails with the error B if the file descriptor has " "been made nonblocking." msgstr "" "B(2) は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算" "する。 カウンタに格納可能な最大値は unsigned の 64 ビット整数の最大値から 1 " "を引いた値 (すなわち 0xfffffffffffffffe) である。 加算を行うとカウンタ値が最" "大値を超過する場合には、 そのファイルディスクリプタに対して B(2) が実" "行されるまで、 B(2) は停止 (block) する、 もしくはファイルディスクリ" "プタが非停止 (nonblocking) に設定されている場合はエラー B で失敗す" "る。" #. type: Plain text #: build/C/man2/eventfd.2:148 msgid "" "A B(2) will fail with the error B if the size of the " "supplied buffer is less than 8 bytes, or if an attempt is made to write the " "value 0xffffffffffffffff." msgstr "" "渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 " "0xffffffffffffffff を書き込もうとした場合、 B(2) はエラー B " "で失敗する。" #. type: TP #: build/C/man2/eventfd.2:148 build/C/man2/signalfd.2:140 #: build/C/man2/timerfd_create.2:244 #, no-wrap msgid "B(2), B(2) (と同様の操作)" #. type: Plain text #: build/C/man2/eventfd.2:157 msgid "" "The returned file descriptor supports B(2) (and analogously B" "(7)) and B(2) をサポートしており、以下のような動作をする。" #. type: Plain text #: build/C/man2/eventfd.2:168 msgid "" "The file descriptor is readable (the B(2) の I 引き数や B(2) の B フラグ)。" #. type: Plain text #: build/C/man2/eventfd.2:178 msgid "" "The file descriptor is writable (the B(2) の I 引き数や B" "(2) の B フラグ)。" #. type: Plain text #: build/C/man2/eventfd.2:198 msgid "" "If an overflow of the counter value was detected, then B(2) はファイルディスク" "リプタは読み出し可能と書き込み可能の両方を通知し、 B(2) は B " "イベントを返す。 上述の通り、 B(2) でカウンタがオーバーフローすること" "は決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd " "\"signal posts\" が 実行された場合にはオーバーフローが起こり得る (理論的には" "あり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、 B" "(2) は I の最大値 (すなわち 0xffffffffffffffff) を返す。" #. type: Plain text #: build/C/man2/eventfd.2:205 msgid "" "The eventfd file descriptor also supports the other file-descriptor " "multiplexing APIs: B(2) and B(2)." msgstr "" "eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API " "である B(2) と B(2) もサポートしている。" #. type: TP #: build/C/man2/eventfd.2:205 build/C/man2/signalfd.2:160 #: build/C/man2/timerfd_create.2:262 #, no-wrap msgid "B(2)" msgstr "B(2)" #. type: Plain text #: build/C/man2/eventfd.2:210 msgid "" "When the file descriptor is no longer required it should be closed. When " "all file descriptors associated with the same eventfd object have been " "closed, the resources for object are freed by the kernel." msgstr "" "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ" "る。 同じ eventfd オブジェクトに関連付けられたファイルディスクリプタが全て ク" "ローズされると、そのオブジェクト用の資源がカーネルにより解放される。" #. type: Plain text #: build/C/man2/eventfd.2:222 msgid "" "A copy of the file descriptor created by B() is inherited by the " "child produced by B(2). The duplicate file descriptor is associated " "with the same eventfd object. File descriptors created by B() are " "preserved across B(2), unless the close-on-exec flag has been set." msgstr "B(2) で生成された子プロセスは、 B() で生成されたファイルディスクリプタのコピーを継承する。 複製されたファイルディスクリプタは同じ eventfd オブジェクトに関連付けられる。 close-on-exec フラグが設定されていない場合、 B(2) の前後で B() で生成されたファイルディスクリプタは保持される。" #. type: Plain text #: build/C/man2/eventfd.2:229 msgid "" "On success, B() returns a new eventfd file descriptor. On error, " "-1 is returned and I is set to indicate the error." msgstr "" "成功すると、 B() は新規の eventfd ファイルディスクリプタを返す。 エ" "ラーの場合、-1 を返し、 I にエラーを示す値を設定する。" #. type: TP #: build/C/man2/eventfd.2:230 build/C/man2/getitimer.2:135 #: build/C/man2/kill.2:106 build/C/man2/killpg.2:95 build/C/man2/prctl.2:827 #: build/C/man2/prctl.2:832 build/C/man2/prctl.2:844 build/C/man2/prctl.2:849 #: build/C/man2/prctl.2:858 build/C/man2/prctl.2:898 build/C/man2/prctl.2:908 #: build/C/man2/prctl.2:916 build/C/man2/prctl.2:927 build/C/man2/prctl.2:936 #: build/C/man2/prctl.2:950 build/C/man2/prctl.2:962 build/C/man2/prctl.2:972 #: build/C/man2/rt_sigqueueinfo.2:141 build/C/man2/s390_runtime_instr.2:66 #: build/C/man2/sigaction.2:670 build/C/man2/sigaltstack.2:142 #: build/C/man3/siginterrupt.3:84 build/C/man2/signal.2:106 #: build/C/man2/signalfd.2:271 build/C/man2/signalfd.2:279 #: build/C/man2/sigprocmask.2:107 build/C/man3/sigqueue.3:98 #: build/C/man3/sigsetops.3:127 build/C/man3/sigwait.3:75 #: build/C/man2/sigwaitinfo.2:129 build/C/man2/timer_create.2:179 #: build/C/man2/timer_delete.2:61 build/C/man2/timer_getoverrun.2:91 #: build/C/man2/timer_settime.2:191 build/C/man2/timer_settime.2:199 #: build/C/man2/timerfd_create.2:305 build/C/man2/timerfd_create.2:313 #: build/C/man2/timerfd_create.2:349 build/C/man2/timerfd_create.2:356 #: build/C/man2/timerfd_create.2:362 build/C/man2/tkill.2:100 #: build/C/man2/wait.2:417 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/eventfd.2:234 msgid "An unsupported value was specified in I." msgstr "I にサポートされていない値が指定された。" #. type: TP #: build/C/man2/eventfd.2:234 build/C/man2/signalfd.2:286 #: build/C/man2/timerfd_create.2:320 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/eventfd.2:237 msgid "The per-process limit on open file descriptors has been reached." msgstr "" "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。" #. type: TP #: build/C/man2/eventfd.2:237 build/C/man2/signalfd.2:289 #: build/C/man2/timerfd_create.2:323 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:293 #: build/C/man2/timerfd_create.2:327 msgid "" "The system-wide limit on the total number of open files has been reached." msgstr "オープン済みのファイル総数がシステム全体の上限に達していた。" #. type: TP #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:293 #: build/C/man2/timerfd_create.2:327 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/eventfd.2:249 build/C/man2/signalfd.2:296 #: build/C/man2/timerfd_create.2:330 msgid "Could not mount (internal) anonymous inode device." msgstr "(カーネル内の) 無名 inode デバイスをマウントできなかった。" #. type: TP #: build/C/man2/eventfd.2:249 build/C/man2/s390_runtime_instr.2:73 #: build/C/man2/sigaltstack.2:147 build/C/man2/signalfd.2:296 #: build/C/man2/timer_create.2:187 build/C/man2/timerfd_create.2:330 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/eventfd.2:253 msgid "There was insufficient memory to create a new eventfd file descriptor." msgstr "" "新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。" #. type: SH #: build/C/man2/eventfd.2:253 build/C/man2/prctl.2:1061 #: build/C/man3/psignal.3:95 build/C/man2/restart_syscall.2:92 #: build/C/man2/rt_sigqueueinfo.2:169 build/C/man2/s390_runtime_instr.2:79 #: build/C/man2/signalfd.2:299 build/C/man3/sigqueue.3:112 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:65 #: build/C/man2/timer_getoverrun.2:95 build/C/man2/timer_settime.2:205 #: build/C/man2/timerfd_create.2:368 build/C/man2/tkill.2:111 #, no-wrap msgid "VERSIONS" msgstr "バージョン" #. eventfd() is in glibc 2.7, but reportedly does not build #. type: Plain text #: build/C/man2/eventfd.2:266 msgid "" "B() is available on Linux since kernel 2.6.22. Working support is " "provided in glibc since version 2.8. The B() system call (see " "NOTES) is available on Linux since kernel 2.6.27. Since version 2.9, the " "glibc B() wrapper will employ the B() system call, if " "it is supported by the kernel." msgstr "" "B() はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す" "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B() " "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ" "る。 バージョン 2.9 以降では、glibc の B() のラッパー関数は、カーネ" "ルが対応していれば B() システムコールを利用する。" #. type: Plain text #: build/C/man2/eventfd.2:271 msgid "B() and B() are Linux-specific." msgstr "B() と B() は Linux 固有である。" #. type: Plain text #: build/C/man2/eventfd.2:279 msgid "" "Applications can use an eventfd file descriptor instead of a pipe (see " "B(2)) in all cases where a pipe is used simply to signal events. The " "kernel overhead of an eventfd file descriptor is much lower than that of a " "pipe, and only one file descriptor is required (versus the two required for " "a pipe)." msgstr "" "アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場" "面において、パイプの代わりに eventfd ファイルディスクリプタを 使用することが" "できる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて " "カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つ" "しか必要としない (パイプの場合は二つ必要である)。" #. or eventually syslets/threadlets #. type: Plain text #: build/C/man2/eventfd.2:285 msgid "" "When used in the kernel, an eventfd file descriptor can provide a bridge " "from kernel to user space, allowing, for example, functionalities like KAIO " "(kernel AIO) to signal to a file descriptor that some operation is complete." msgstr "" "カーネル内で使用すると、eventfd ファイルディスクリプタはカーネル空間からユー" "ザ空間へのブリッジ機能を提供することができ、 例えば KAIO (kernel AIO) のよう" "な機能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知するこ" "とができる。" #. type: Plain text #: build/C/man2/eventfd.2:302 msgid "" "A key point about an eventfd file descriptor is that it can be monitored " "just like any other file descriptor using B(2), " "B(2), or B(7).)" msgstr "" "eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタ" "が B(2), B(2), " "B(7) 経由で多重することはできなかった)。" #. type: SS #: build/C/man2/eventfd.2:302 build/C/man2/signalfd.2:336 #, no-wrap msgid "Underlying Linux system calls" msgstr "下層にある Linux のシステムコール" #. type: Plain text #: build/C/man2/eventfd.2:316 msgid "" "There are two underlying Linux system calls: B() and the more " "recent B(). The former system call does not implement a I " "argument. The latter system call implements the I values described " "above. The glibc wrapper function will use B() where it is " "available." msgstr "" "下層にある Linux システムコールは二種類あり、 B() と、もっと新しい " "B() である。 B() は I 引き数を実装していない。 " "B() では上記の値の I が実装されている。 glibc のラッパー関" "数は、 B() が利用可能であれば、これを使用する。" #. type: SS #: build/C/man2/eventfd.2:316 #, no-wrap msgid "Additional glibc features" msgstr "glibc の追加機能" #. type: Plain text #: build/C/man2/eventfd.2:320 msgid "" "The GNU C library defines an additional type, and two functions that attempt " "to abstract some of the details of reading and writing on an eventfd file " "descriptor:" msgstr "" "GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに を関" "する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義してい" "る。" #. type: Plain text #: build/C/man2/eventfd.2:324 #, no-wrap msgid "typedef uint64_t eventfd_t;\n" msgstr "typedef uint64_t eventfd_t;\n" #. type: Plain text #: build/C/man2/eventfd.2:327 #, no-wrap msgid "" "int eventfd_read(int fd, eventfd_t *value);\n" "int eventfd_write(int fd, eventfd_t value);\n" msgstr "" "int eventfd_read(int fd, eventfd_t *value);\n" "int eventfd_write(int fd, eventfd_t value);\n" #. type: Plain text #: build/C/man2/eventfd.2:334 msgid "" "The functions perform the read and write operations on an eventfd file " "descriptor, returning 0 if the correct number of bytes was transferred, or " "-1 otherwise." msgstr "" "これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操" "作を実行し、正しいバイト数が転送された場合には 0 を返し、そうでない場合は -1 " "を返す。" #. type: SH #: build/C/man2/eventfd.2:334 build/C/man2/sigaction.2:790 #: build/C/man2/sigaltstack.2:215 build/C/man2/signalfd.2:360 #: build/C/man3/sigwait.3:91 build/C/man2/timer_create.2:261 #: build/C/man2/timer_getoverrun.2:128 build/C/man2/timer_settime.2:209 #: build/C/man2/timerfd_create.2:379 build/C/man2/wait.2:550 #, no-wrap msgid "EXAMPLE" msgstr "例" #. type: Plain text #: build/C/man2/eventfd.2:343 msgid "" "The following program creates an eventfd file descriptor and then forks to " "create a child process. While the parent briefly sleeps, the child writes " "each of the integers supplied in the program's command-line arguments to the " "eventfd file descriptor. When the parent has finished sleeping, it reads " "from the eventfd file descriptor." msgstr "" "以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実" "行して子プロセスを生成する。 親プロセスが少しの間 sleep する間に、子プロセス" "は プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd " "ファイルディスクリプタに書き込む。 親プロセスは sleep を完了すると eventfd " "ファイルディスクリプタから 読み出しを行う。" #. type: Plain text #: build/C/man2/eventfd.2:345 msgid "The following shell session shows a sample run of the program:" msgstr "以下に示すシェルセッションにこのプログラムの使い方を示す。" #. type: Plain text #: build/C/man2/eventfd.2:357 #, no-wrap msgid "" "$B< ./a.out 1 2 4 7 14>\n" "Child writing 1 to efd\n" "Child writing 2 to efd\n" "Child writing 4 to efd\n" "Child writing 7 to efd\n" "Child writing 14 to efd\n" "Child completed write loop\n" "Parent about to read\n" "Parent read 28 (0x1c) from efd\n" msgstr "" "$B< ./a.out 1 2 4 7 14>\n" "Child writing 1 to efd\n" "Child writing 2 to efd\n" "Child writing 4 to efd\n" "Child writing 7 to efd\n" "Child writing 14 to efd\n" "Child completed write loop\n" "Parent about to read\n" "Parent read 28 (0x1c) from efd\n" #. type: SS #: build/C/man2/eventfd.2:359 build/C/man2/signalfd.2:383 #: build/C/man2/timer_create.2:292 build/C/man2/timerfd_create.2:407 #: build/C/man2/wait.2:585 #, no-wrap msgid "Program source" msgstr "プログラムのソース" #. type: Plain text #: build/C/man2/eventfd.2:367 #, no-wrap msgid "" "#include Esys/eventfd.hE\n" "#include Eunistd.hE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" "#include Estdint.hE /* Definition of uint64_t */\n" msgstr "" "#include Esys/eventfd.hE\n" "#include Eunistd.hE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" "#include Estdint.hE /* Definition of uint64_t */\n" #. type: Plain text #: build/C/man2/eventfd.2:370 build/C/man2/signalfd.2:394 #, no-wrap msgid "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" msgstr "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" #. type: Plain text #: build/C/man2/eventfd.2:377 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int efd, j;\n" " uint64_t u;\n" " ssize_t s;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int efd, j;\n" " uint64_t u;\n" " ssize_t s;\n" #. type: Plain text #: build/C/man2/eventfd.2:382 #, no-wrap msgid "" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s EnumE...\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s EnumE...\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man2/eventfd.2:386 #, no-wrap msgid "" " efd = eventfd(0, 0);\n" " if (efd == -1)\n" " handle_error(\"eventfd\");\n" msgstr "" " efd = eventfd(0, 0);\n" " if (efd == -1)\n" " handle_error(\"eventfd\");\n" #. type: Plain text #: build/C/man2/eventfd.2:398 #, no-wrap msgid "" " switch (fork()) {\n" " case 0:\n" " for (j = 1; j E argc; j++) {\n" " printf(\"Child writing %s to efd\\en\", argv[j]);\n" " u = strtoull(argv[j], NULL, 0);\n" " /* strtoull() allows various bases */\n" " s = write(efd, &u, sizeof(uint64_t));\n" " if (s != sizeof(uint64_t))\n" " handle_error(\"write\");\n" " }\n" " printf(\"Child completed write loop\\en\");\n" msgstr "" " switch (fork()) {\n" " case 0:\n" " for (j = 1; j E argc; j++) {\n" " printf(\"Child writing %s to efd\\en\", argv[j]);\n" " u = strtoull(argv[j], NULL, 0);\n" " /* strtoull() allows various bases */\n" " s = write(efd, &u, sizeof(uint64_t));\n" " if (s != sizeof(uint64_t))\n" " handle_error(\"write\");\n" " }\n" " printf(\"Child completed write loop\\en\");\n" #. type: Plain text #: build/C/man2/eventfd.2:400 #, no-wrap msgid " exit(EXIT_SUCCESS);\n" msgstr " exit(EXIT_SUCCESS);\n" #. type: Plain text #: build/C/man2/eventfd.2:403 #, no-wrap msgid "" " default:\n" " sleep(2);\n" msgstr "" " default:\n" " sleep(2);\n" #. type: Plain text #: build/C/man2/eventfd.2:411 #, no-wrap msgid "" " printf(\"Parent about to read\\en\");\n" " s = read(efd, &u, sizeof(uint64_t));\n" " if (s != sizeof(uint64_t))\n" " handle_error(\"read\");\n" " printf(\"Parent read %llu (0x%llx) from efd\\en\",\n" " (unsigned long long) u, (unsigned long long) u);\n" " exit(EXIT_SUCCESS);\n" msgstr "" " printf(\"Parent about to read\\en\");\n" " s = read(efd, &u, sizeof(uint64_t));\n" " if (s != sizeof(uint64_t))\n" " handle_error(\"read\");\n" " printf(\"Parent read %llu (0x%llx) from efd\\en\",\n" " (unsigned long long) u, (unsigned long long) u);\n" " exit(EXIT_SUCCESS);\n" #. type: Plain text #: build/C/man2/eventfd.2:416 #, no-wrap msgid "" " case -1:\n" " handle_error(\"fork\");\n" " }\n" "}\n" msgstr "" " case -1:\n" " handle_error(\"fork\");\n" " }\n" "}\n" #. type: Plain text #: build/C/man2/eventfd.2:428 msgid "" "B(2), B(2), B(2), B(2), B(2), B" "(2), B(2), B(2), B(7), B(7)" #. type: TH #: build/C/man2/getitimer.2:12 #, no-wrap msgid "GETITIMER" msgstr "GETITIMER" #. type: TH #: build/C/man2/getitimer.2:12 #, no-wrap msgid "2012-10-01" msgstr "2012-10-01" #. type: Plain text #: build/C/man2/getitimer.2:15 msgid "getitimer, setitimer - get or set value of an interval timer" msgstr "getitimer, setitimer - インターバル・タイマーの値を取得または設定する" #. type: Plain text #: build/C/man2/getitimer.2:18 #, no-wrap msgid "B<#include Esys/time.hE>\n" msgstr "B<#include Esys/time.hE>\n" #. type: Plain text #: build/C/man2/getitimer.2:20 #, no-wrap msgid "BIB<, struct itimerval *>IB<);>\n" msgstr "BIB<, struct itimerval *>IB<);>\n" #. type: Plain text #: build/C/man2/getitimer.2:23 #, no-wrap msgid "" "BIB<, const struct itimerval *>IB<,>\n" "B< struct itimerval *>IB<);>\n" msgstr "" "BIB<, const struct itimerval *>IB<,>\n" "B< struct itimerval *>IB<);>\n" #. type: Plain text #: build/C/man2/getitimer.2:29 msgid "" "The system provides each process with three interval timers, each " "decrementing in a distinct time domain. When any timer expires, a signal is " "sent to the process, and the timer (potentially) restarts." msgstr "" "システムは 1 個のプロセスにつき 3 個のインターバル・タイマーを提供する。 それ" "ぞれのタイマーは別々の時間領域で減少する。 どのタイマーも満了するとプロセスに" "シグナルが送られ、 タイマーは (設定によっては) 再び開始される。" #. type: TP #: build/C/man2/getitimer.2:29 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/getitimer.2:34 msgid "decrements in real time, and delivers B upon expiration." msgstr "実時間 (real time) で減少し、満了すると B が送られる。" #. type: TP #: build/C/man2/getitimer.2:34 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/getitimer.2:39 msgid "" "decrements only when the process is executing, and delivers B " "upon expiration." msgstr "" "プロセスが実行されている間のみ減少し、満了すると B が送られる。" #. type: TP #: build/C/man2/getitimer.2:39 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/getitimer.2:49 msgid "" "decrements both when the process executes and when the system is executing " "on behalf of the process. Coupled with B, this timer is " "usually used to profile the time spent by the application in user and kernel " "space. B is delivered upon expiration." msgstr "" "プロセスが実行されていて、 かつシステムがそのプロセスのために処理を行なってい" "る間に減少する。 多くの場合、このタイマーは B と組み合わされ" "て、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたか" "をプロファイルするのに使用される。 満了すると B が送られる。" #. type: Plain text #: build/C/man2/getitimer.2:51 msgid "Timer values are defined by the following structures:" msgstr "タイマーの値は以下の構造体によって定義される:" #. type: Plain text #: build/C/man2/getitimer.2:59 #, no-wrap msgid "" "struct itimerval {\n" " struct timeval it_interval; /* next value */\n" " struct timeval it_value; /* current value */\n" "};\n" msgstr "" "struct itimerval {\n" " struct timeval it_interval; /* next value */\n" " struct timeval it_value; /* current value */\n" "};\n" #. type: Plain text #: build/C/man2/getitimer.2:64 #, no-wrap msgid "" "struct timeval {\n" " time_t tv_sec; /* seconds */\n" " suseconds_t tv_usec; /* microseconds */\n" "};\n" msgstr "" "struct timeval {\n" " time_t tv_sec; /* seconds */\n" " suseconds_t tv_usec; /* microseconds */\n" "};\n" #. type: Plain text #: build/C/man2/getitimer.2:86 msgid "" "The function B() fills the structure pointed to by I " "with the current setting for the timer specified by I (one of " "B, B, or B). The element " "I is set to the amount of time remaining on the timer, or zero if " "the timer is disabled. Similarly, I is set to the reset value." msgstr "" "B() 関数は、 I で指定されたタイマー (B, " "B, B のどれか) の現在の設定を、 I で" "指定された構造体に格納する。 I 要素にはタイマーの残り時間が設定され" "る。タイマーがオフの場合は ゼロが設定される。同様に I には初期値" "が設定される。" #. type: Plain text #: build/C/man2/getitimer.2:94 msgid "" "The function B() sets the specified timer to the value in " "I. If I is non-NULL, the old value of the timer is " "stored there." msgstr "" "B() 関数は指定されたタイマーに I の値を設定する。 " "I が NULL 以外の場合、タイマーの古い値が I に格納され" "る。" #. type: Plain text #: build/C/man2/getitimer.2:104 msgid "" "Timers decrement from I to zero, generate a signal, and reset to " "I. A timer which is set to zero (I is zero or the " "timer expires and I is zero) stops." msgstr "" "タイマーは I からゼロへ向けて減っていき、シグナルを生成し、 " "I に初期化される。 タイマーがゼロに設定された場合 (I " "がゼロか、タイマーが満了した時に I がゼロの場合) は停止する。" #. type: Plain text #: build/C/man2/getitimer.2:110 msgid "" "Both I and I are significant in determining the duration of " "a timer." msgstr "タイマーの期間は I と I の両方により決定される。" #. type: Plain text #: build/C/man2/getitimer.2:122 msgid "" "Timers will never expire before the requested time, but may expire some " "(short) time afterward, which depends on the system timer resolution and on " "the system load; see B