# 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: 2015-01-23 22:25+0900\n" "PO-Revision-Date: 2015-01-25 07:25+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:54 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:49 #: 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:30 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:33 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:22 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:55 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:50 #: 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:31 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:34 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:23 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:57 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:52 #: 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:33 #: 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:36 #: 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:26 #: 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:64 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:72 #: 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:35 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:54 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:38 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:129 build/C/man2/kill.2:100 #: build/C/man2/killpg.2:89 build/C/man2/pause.2:42 build/C/man2/prctl.2:884 #: build/C/man3/profil.3:68 build/C/man3/psignal.3:89 build/C/man3/raise.3:61 #: build/C/man2/restart_syscall.2:88 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:728 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:65 #: 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:169 #: 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:294 #: build/C/man2/tkill.2:88 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:134 build/C/man2/kill.2:105 #: build/C/man2/killpg.2:94 build/C/man2/pause.2:53 build/C/man2/prctl.2:904 #: build/C/man2/restart_syscall.2:92 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:733 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:127 #: 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:177 #: 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:309 #: build/C/man2/tkill.2:92 build/C/man2/wait.2:385 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/siginterrupt.3:87 build/C/man3/sigpause.3:56 #: build/C/man3/sigqueue.3:114 build/C/man3/sigsetops.3:132 #: 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/siginterrupt.3:88 build/C/man3/sigpause.3:57 #: build/C/man3/sigqueue.3:115 build/C/man3/sigsetops.3:133 #: 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:155 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:1182 build/C/man3/profil.3:70 #: build/C/man3/psignal.3:99 build/C/man3/raise.3:69 #: build/C/man2/restart_syscall.2:100 build/C/man2/rt_sigqueueinfo.2:176 #: build/C/man2/s390_runtime_instr.2:81 build/C/man2/sgetmask.2:73 #: build/C/man2/sigaction.2:745 build/C/man2/sigaltstack.2:158 #: build/C/man7/sigevent.7:130 build/C/man3/siginterrupt.3:93 #: build/C/man2/signal.2:110 build/C/man7/signal.7:872 #: 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:68 #: build/C/man3/sigset.3:173 build/C/man3/sigsetops.3:145 #: build/C/man2/sigsuspend.2:84 build/C/man3/sigvec.3:241 #: 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:195 #: 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:378 #: build/C/man2/tkill.2:109 build/C/man2/wait.2:423 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:165 build/C/man2/kill.2:123 #: build/C/man2/killpg.2:115 build/C/man3/raise.3:71 #: build/C/man2/restart_syscall.2:102 build/C/man2/rt_sigqueueinfo.2:178 #: build/C/man2/s390_runtime_instr.2:84 build/C/man2/sgetmask.2:75 #: build/C/man2/sigaction.2:748 build/C/man2/sigaltstack.2:160 #: 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:74 build/C/man3/sigset.3:190 #: build/C/man3/sigsetops.3:147 build/C/man2/sigsuspend.2:86 #: build/C/man3/sigvec.3:247 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:197 build/C/man2/timer_getoverrun.2:99 #: build/C/man2/tkill.2:115 build/C/man2/wait.2:425 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:246 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:1196 build/C/man3/profil.3:81 #: build/C/man3/psignal.3:113 build/C/man3/raise.3:82 #: build/C/man2/restart_syscall.2:135 build/C/man2/rt_sigqueueinfo.2:188 #: build/C/man2/s390_runtime_instr.2:88 build/C/man2/sgetmask.2:89 #: build/C/man2/sigaction.2:861 build/C/man2/sigaltstack.2:234 #: build/C/man7/sigevent.7:132 build/C/man3/siginterrupt.3:102 #: build/C/man2/signal.2:278 build/C/man7/signal.7:884 #: 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:123 #: build/C/man3/sigset.3:266 build/C/man3/sigsetops.3:186 #: build/C/man2/sigsuspend.2:108 build/C/man3/sigvec.3:272 #: build/C/man3/sigwait.3:94 build/C/man2/sigwaitinfo.2:201 #: build/C/man3/sysv_signal.3:92 build/C/man2/timer_create.2:410 #: 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:548 #: build/C/man2/tkill.2:124 build/C/man2/wait.2:635 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:253 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:1199 build/C/man3/profil.3:87 #: build/C/man3/psignal.3:118 build/C/man3/raise.3:89 #: build/C/man2/restart_syscall.2:144 build/C/man2/rt_sigqueueinfo.2:196 #: build/C/man2/s390_runtime_instr.2:91 build/C/man2/sgetmask.2:92 #: build/C/man2/sigaction.2:883 build/C/man2/sigaltstack.2:241 #: build/C/man7/sigevent.7:142 build/C/man3/siginterrupt.3:104 #: build/C/man2/signal.2:297 build/C/man7/signal.7:919 #: 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:130 #: build/C/man3/sigset.3:276 build/C/man3/sigsetops.3:191 #: build/C/man2/sigsuspend.2:118 build/C/man3/sigvec.3:282 #: build/C/man3/sigwait.3:102 build/C/man2/sigwaitinfo.2:213 #: build/C/man3/sysv_signal.3:97 build/C/man2/timer_create.2:425 #: 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:560 #: build/C/man2/tkill.2:129 build/C/man2/wait.2:647 build/C/man2/wait4.2:172 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text #: build/C/man3/bsd_signal.3:112 build/C/man2/eventfd.2:436 #: build/C/man2/getitimer.2:261 build/C/man3/gsignal.3:115 #: build/C/man2/kill.2:189 build/C/man2/killpg.2:148 build/C/man2/pause.2:72 #: build/C/man2/prctl.2:1207 build/C/man3/profil.3:95 #: build/C/man3/psignal.3:126 build/C/man3/raise.3:97 #: build/C/man2/restart_syscall.2:152 build/C/man2/rt_sigqueueinfo.2:204 #: build/C/man2/s390_runtime_instr.2:99 build/C/man2/sgetmask.2:100 #: build/C/man2/sigaction.2:891 build/C/man2/sigaltstack.2:249 #: build/C/man7/sigevent.7:150 build/C/man3/siginterrupt.3:112 #: build/C/man2/signal.2:305 build/C/man7/signal.7:927 #: build/C/man2/signalfd.2:454 build/C/man3/sigpause.3:127 #: build/C/man2/sigpending.2:107 build/C/man2/sigprocmask.2:163 #: build/C/man3/sigqueue.3:170 build/C/man2/sigreturn.2:138 #: build/C/man3/sigset.3:284 build/C/man3/sigsetops.3:199 #: build/C/man2/sigsuspend.2:126 build/C/man3/sigvec.3:290 #: build/C/man3/sigwait.3:110 build/C/man2/sigwaitinfo.2:221 #: build/C/man3/sysv_signal.3:105 build/C/man2/timer_create.2:433 #: build/C/man2/timer_delete.2:83 build/C/man2/timer_getoverrun.2:149 #: build/C/man2/timer_settime.2:224 build/C/man2/timerfd_create.2:568 #: build/C/man2/tkill.2:137 build/C/man2/wait.2:655 build/C/man2/wait4.2:180 msgid "This page is part of release 3.78 of the Linux I project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/." msgstr "この man ページは Linux I プロジェクトのリリース 3.78 の一部である。 プロジェクトの説明とバグ報告に関する情報は \\%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 build/C/man2/getitimer.2:12 #: build/C/man3/profil.3:28 build/C/man2/signalfd.2:20 #, no-wrap msgid "2014-07-08" msgstr "2014-07-08" #. 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:54 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:49 #: 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:30 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:33 #: 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:22 #: 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 behavior 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:110 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:100 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:218 #, 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:970 build/C/man2/prctl.2:975 build/C/man2/prctl.2:980 #: build/C/man2/prctl.2:990 build/C/man3/psignal.3:105 #: build/C/man3/psignal.3:109 build/C/man2/sigaction.2:318 #: build/C/man2/sigaction.2:333 build/C/man2/sigaction.2:349 #: build/C/man2/sigaction.2:364 build/C/man2/sigaction.2:411 #: build/C/man2/sigaction.2:458 build/C/man2/sigaction.2:472 #: 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:244 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:672 build/C/man7/signal.7:676 #: build/C/man7/signal.7:683 build/C/man7/signal.7:701 #: build/C/man7/signal.7:707 build/C/man7/signal.7:714 #: build/C/man7/signal.7:719 build/C/man7/signal.7:723 #: build/C/man7/signal.7:742 build/C/man7/signal.7:756 #: build/C/man7/signal.7:767 build/C/man7/signal.7:774 #: build/C/man7/signal.7:783 build/C/man7/signal.7:791 #: build/C/man7/signal.7:797 build/C/man7/signal.7:817 #: build/C/man7/signal.7:831 build/C/man7/signal.7:842 #: build/C/man7/signal.7:845 build/C/man7/signal.7:848 #: build/C/man7/signal.7:851 build/C/man7/signal.7:858 #: build/C/man7/signal.7:864 build/C/man7/signal.7:868 #: build/C/man3/sigwait.3:62 build/C/man3/sigwait.3:67 #: build/C/man2/timer_create.2:218 build/C/man2/timer_create.2:221 #: build/C/man2/timer_create.2:224 build/C/man2/timer_create.2:228 #: build/C/man2/timer_create.2:231 build/C/man2/timer_create.2:246 #: build/C/man2/timer_create.2:250 #, 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:251 #, 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:269 #, 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:142 #: build/C/man2/kill.2:106 build/C/man2/killpg.2:95 build/C/man2/prctl.2:922 #: build/C/man2/prctl.2:927 build/C/man2/prctl.2:939 build/C/man2/prctl.2:944 #: build/C/man2/prctl.2:953 build/C/man2/prctl.2:963 build/C/man2/prctl.2:1003 #: build/C/man2/prctl.2:1013 build/C/man2/prctl.2:1021 #: build/C/man2/prctl.2:1032 build/C/man2/prctl.2:1041 #: build/C/man2/prctl.2:1055 build/C/man2/prctl.2:1067 #: build/C/man2/prctl.2:1078 build/C/man2/rt_sigqueueinfo.2:141 #: build/C/man2/s390_runtime_instr.2:66 build/C/man2/sigaction.2:738 #: 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:128 #: build/C/man3/sigwait.3:75 build/C/man2/sigwaitinfo.2:129 #: build/C/man2/timer_create.2:181 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:312 #: build/C/man2/timerfd_create.2:320 build/C/man2/timerfd_create.2:356 #: build/C/man2/timerfd_create.2:363 build/C/man2/timerfd_create.2:369 #: build/C/man2/tkill.2:93 build/C/man2/wait.2:418 #, 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:327 #, 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:330 #, 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:334 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:334 #, 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:337 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:189 build/C/man2/timerfd_create.2:337 #, 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:1177 #: build/C/man3/psignal.3:95 build/C/man2/restart_syscall.2:96 #: build/C/man2/rt_sigqueueinfo.2:169 build/C/man2/s390_runtime_instr.2:79 #: build/C/man2/sgetmask.2:66 build/C/man2/signalfd.2:299 #: build/C/man3/sigqueue.3:112 build/C/man3/sigvec.3:234 #: build/C/man2/timer_create.2:193 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:375 build/C/man2/tkill.2:104 #, 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:326 #: build/C/man2/sigwaitinfo.2:183 build/C/man2/timer_create.2:243 #: build/C/man2/wait.2:525 #, no-wrap msgid "C library/kernel ABI differences" msgstr "C ライブラリとカーネル ABI の違い" #. 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:858 #: build/C/man2/sigaltstack.2:217 build/C/man2/signalfd.2:360 #: build/C/man3/sigwait.3:91 build/C/man2/timer_create.2:264 #: build/C/man2/timer_getoverrun.2:128 build/C/man2/timer_settime.2:209 #: build/C/man2/timerfd_create.2:386 build/C/man2/wait.2:552 #, 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:295 build/C/man2/timerfd_create.2:414 #: build/C/man2/wait.2:587 #, 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: 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 a timer expires, a signal is sent to the process, and the timer is reset to the specified interval (if nonzero)." msgstr "システムは 1 個のプロセスにつき 3 個のインターバルタイマーを提供する。 それぞれのタイマーは別々の時間領域で減少する。 あるタイマーが満了すると、 プロセスにシグナルが送られ、 タイマーは (0 でなければ) 指定されたインターバルに再設定される。" #. 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; /* Interval for periodic timer */\n" " struct timeval it_value; /* Time until next expiration */\n" "};\n" msgstr "" "struct itimerval {\n" " struct timeval it_interval; /* Interval for periodic timer */\n" " struct timeval it_value; /* Time until next expiration */\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:90 msgid "The function B() fills the structure pointed to by I with the current value (i.e., the amount of time remaining until the next expiration) of the timer specified by I (one of B, B, or B). The subfields of the field I are set to the amount of time remaining on the timer, or zero if the timer is disabled. The I field is set to the timer interval (period); a value of zero returned in (both subfields of) this field indicates that this is a single-shot timer." msgstr "B() 関数は、 I で指定されたタイマー (B, B, B のどれか) の現在の値 (すなわち、次のタイマー満了までの残り時間) を、 I で指定された構造体に格納する。 I フィールドのサブフィールドにはタイマーの残り時間が設定される。 タイマーが無効になっている場合は ゼロが設定される。 I フィールドにはタイマーのインターバル (期間) が設定される。 I (の両方のサブフィールド) で値 0 が返された場合は、 このタイマーが 1 回限りのタイマーであることを示している。" #. type: Plain text #: build/C/man2/getitimer.2:101 msgid "The function B() sets the specified timer to the value in I. If I is non-NULL, the old value of the timer (i.e., the same information as returned by B()) is stored there." msgstr "B() 関数は指定されたタイマーに I の値を設定する。 I が NULL 以外の場合、タイマーの古い値 (すなわち B() で返されるのと同じ情報) が I に格納される。" #. type: Plain text #: build/C/man2/getitimer.2:111 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:117 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:129 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