X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=po4a%2Fepoll%2Fpo%2Fja.po;h=4e101c4eef701e35e96d6ac314e180c60b4b198c;hb=afa0c58267e4eca6b2f41ae454c9138bb327bb2c;hp=3577751496881bc1be3e9a117d83719094f96f94;hpb=1e4180088d00386dcdebf39cc1882357e9cce486;p=linuxjm%2FLDP_man-pages.git diff --git a/po4a/epoll/po/ja.po b/po4a/epoll/po/ja.po index 35777514..4e101c4e 100644 --- a/po4a/epoll/po/ja.po +++ b/po4a/epoll/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2013-08-15 19:31+0900\n" -"PO-Revision-Date: 2013-08-16 11:13+0900\n" +"POT-Creation-Date: 2015-02-04 23:30+0900\n" +"PO-Revision-Date: 2015-02-04 23:58+0900\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -24,8 +24,8 @@ msgstr "EPOLL" #. type: TH #: build/C/man7/epoll.7:21 #, no-wrap -msgid "2012-04-17" -msgstr "2012-04-17" +msgid "2015-01-10" +msgstr "2015-01-10" #. type: TH #: build/C/man7/epoll.7:21 build/C/man2/epoll_create.2:24 @@ -72,7 +72,7 @@ msgstr "B<#include Esys/epoll.hE>" #. type: SH #: build/C/man7/epoll.7:26 build/C/man2/epoll_create.2:34 #: build/C/man2/epoll_ctl.2:28 build/C/man2/epoll_wait.2:35 -#: build/C/man2/poll.2:46 +#: build/C/man2/poll.2:47 #, no-wrap msgid "DESCRIPTION" msgstr "説明" @@ -89,13 +89,18 @@ msgstr "" "B API は B(2) と同様の処理を行う、つまり、複数のファイルディス" "ク\n" "リプタを監視し、その中のいずれかが入出力可能な状態であるかを確認する。\n" -"B API は、エッジトリガインタフェースとレベルトリガインタフェースの\n" -"いずれとしても使用することができ、監視するファイルディスクリプタの数が多い\n" +"B API は、エッジトリガーインターフェースとレベルトリガーインターフェー" +"スの\n" +"いずれとしても使用することができ、監視するファイルディスクリプターの数が多" +"い\n" "場合にも使用できる。 B インスタンスの作成や管理を行うために\n" "以下のシステムコールが提供されている:" #. type: IP #: build/C/man7/epoll.7:40 build/C/man7/epoll.7:49 build/C/man7/epoll.7:57 +#: build/C/man2/epoll_wait.2:59 build/C/man2/epoll_wait.2:61 +#: build/C/man2/epoll_wait.2:63 build/C/man2/poll.2:134 +#: build/C/man2/poll.2:136 build/C/man2/poll.2:138 #, no-wrap msgid "*" msgstr "*" @@ -104,24 +109,24 @@ msgstr "*" #: build/C/man7/epoll.7:49 msgid "" "B(2) creates an B instance and returns a file " -"descriptor referring to that instance. (The more recent B" -"(2) extends the functionality of B(2).)" +"descriptor referring to that instance. (The more recent " +"B(2) extends the functionality of B(2).)" msgstr "" "B(2) は B インスタンスを作成し、そのインスタンスを参照す" "る\n" -"ファイルディスクリプタを返す。(もっと新しい B(2) では、\n" +"ファイルディスクリプターを返す。(もっと新しい B(2) では、\n" "B(2) の機能が拡張されている)。" #. type: Plain text #: build/C/man7/epoll.7:57 msgid "" -"Interest in particular file descriptors is then registered via B" -"(2). The set of file descriptors currently registered on an B " -"instance is sometimes called an I set." +"Interest in particular file descriptors is then registered via " +"B(2). The set of file descriptors currently registered on an " +"B instance is sometimes called an I set." msgstr "" -"特定のファイルディスクリプタに対する監視内容を B(2) で登録する。 " -"B インスタンスに現在登録されているファイルディスクリプタの集合は " -"I 集合と呼ばれることもある。" +"特定のファイルディスクリプターに対する監視内容を B(2) で登録す" +"る。 B インスタンスに現在登録されているファイルディスクリプターの集合" +"は I 集合と呼ばれることもある。" #. type: Plain text #: build/C/man7/epoll.7:61 @@ -136,7 +141,7 @@ msgstr "" #: build/C/man7/epoll.7:61 #, no-wrap msgid "Level-triggered and edge-triggered" -msgstr "レベルトリガとエッジトリガ" +msgstr "レベルトリガーとエッジトリガー" #. type: Plain text #: build/C/man7/epoll.7:70 @@ -145,9 +150,9 @@ msgid "" "triggered (ET) and as level-triggered (LT). The difference between the two " "mechanisms can be described as follows. Suppose that this scenario happens:" msgstr "" -"B イベント配送 (distribution) インタフェースは、 エッジトリガ (ET) と" -"してもレベルトリガ (LT) としても動作させることができる。 二つの配送機構の違い" -"は、次のように説明できる。 このようなシナリオが起こったとしよう:" +"B イベント配送 (distribution) インターフェースは、 エッジトリガー " +"(ET) としてもレベルトリガー (LT) としても動作させることができる。 二つの配送" +"機構の違いは、次のように説明できる。 このようなシナリオが起こったとしよう:" #. type: IP #: build/C/man7/epoll.7:70 @@ -161,8 +166,8 @@ msgid "" "The file descriptor that represents the read side of a pipe (I) is " "registered on the B instance." msgstr "" -"パイプの読み込み側を表すファイルディスクリプタ (I) が B インスタ" -"ンスに登録される。" +"パイプの読み込み側を表すファイルディスクリプター (I) が B インス" +"タンスに登録される。" #. type: IP #: build/C/man7/epoll.7:76 @@ -188,8 +193,8 @@ msgid "" "A call to B(2) is done that will return I as a ready file " "descriptor." msgstr "" -"B(2) を呼び出すと、読み込み可能 (ready) なファイルディスクリプタ" -"として I が返る。" +"B(2) を呼び出すと、読み込み可能 (ready) なファイルディスクリプ" +"ターとして I が返る。" #. type: IP #: build/C/man7/epoll.7:84 @@ -229,17 +234,17 @@ msgid "" "consume the whole buffer data, the call to B(2) done in step " "B<5> might block indefinitely." msgstr "" -"I ファイルディスクリプタが B フラグ (エッジトリガ) を使って " -"B に追加されていると、 利用可能なデータがファイル入力バッファにまだ存" -"在するにもかかわらず ステップ B<5> の B(2) の呼び出しでハングす" -"る可能性がある。 その一方で、リモートの接続先 (peer) は既に送られたデータに " -"基づいて応答を期待しているかもしれない。 このようなことが起こる理由は、エッジ" -"トリガイベント配送では、 モニタしているファイルでイベントが起ったときにのみイ" -"ベントが 配送されるためである。 したがって、ステップ B<5> では、呼び出し側は" -"結果的に 入力バッファ内にすで存在するデータを待つことになるかもしれない。 上" -"記の例では、 B<2> で行われた書き込みによって I に関するイベントが生成さ" -"れ、 B<3> でイベントが消費 (consume) される。 B<4> で行われる読み込み操作で" -"は、全部のバッファデータを消費しないので、 ステップ B<5> で行われる " +"I ファイルディスクリプターが B フラグ (エッジトリガー) を使っ" +"て B に追加されていると、 利用可能なデータがファイル入力バッファーにま" +"だ存在するにもかかわらず ステップ B<5> の B(2) の呼び出しでハン" +"グする可能性がある。 その一方で、リモートの接続先 (peer) は既に送られたデータ" +"に 基づいて応答を期待しているかもしれない。 このようなことが起こる理由は、" +"エッジトリガーイベント配送では、 モニタしているファイルでイベントが起ったとき" +"にのみイベントが 配送されるためである。 したがって、ステップ B<5> では、呼び" +"出し側は結果的に 入力バッファー内にすで存在するデータを待つことになるかもしれ" +"ない。 上記の例では、 B<2> で行われた書き込みによって I に関するイベント" +"が生成され、 B<3> でイベントが消費 (consume) される。 B<4> で行われる読み込み" +"操作では、全部のバッファーデータを消費しないので、 ステップ B<5> で行われる " "B(2) の呼び出しが 無期限に停止 (block) するかもしれない。" #. type: Plain text @@ -250,11 +255,11 @@ msgid "" "handling multiple file descriptors. The suggested way to use B as an " "edge-triggered (B) interface is as follows:" msgstr "" -"B フラグを採用するアプリケーションでは、 インタフェースはブロックし" -"ない (nonblocking) ファイルディスクリプタを 使うべきである。 これは、ブロック" -"される読み込みや書き込みによって、 複数のファイルディスクリプタを扱うタスク" -"が 停止してしまうのを避けるためである。 B をエッジトリガ " -"(B) インタフェースとして使うために提案される方法は以下の通りであ" +"B フラグを採用するアプリケーションでは、 インターフェースはブロック" +"しない (nonblocking) ファイルディスクリプターを 使うべきである。 これは、ブ" +"ロックされる読み込みや書き込みによって、 複数のファイルディスクリプターを扱う" +"タスクが 停止してしまうのを避けるためである。 B をエッジトリガー " +"(B) インターフェースとして使うために提案される方法は以下の通りであ" "る。" #. type: TP @@ -266,7 +271,7 @@ msgstr "B" #. type: Plain text #: build/C/man7/epoll.7:140 msgid "with nonblocking file descriptors; and" -msgstr "ブロックしないファイルディスクリプタと共に使う。" +msgstr "ブロックしないファイルディスクリプターと共に使う。" #. type: TP #: build/C/man7/epoll.7:140 @@ -290,7 +295,7 @@ msgid "" "B is not specified), B is simply a faster B(2), and " "can be used wherever the latter is used since it shares the same semantics." msgstr "" -"一方、レベルトリガインタフェースとして使う場合\n" +"一方、レベルトリガーインターフェースとして使う場合\n" " (こちらがデフォルトである、\n" "B が指定されなかった場合)、\n" "B は単に高速な B(2) であり、使い方が同じなので、\n" @@ -306,19 +311,52 @@ msgid "" "the B flag is specified, it is the caller's responsibility to " "rearm the file descriptor using B(2) with B." msgstr "" -"エッジトリガを使った場合でも、複数のデータを受信すると複数の B イベン" -"トが生成されるので、 呼び出し側には B フラグを指定するオプショ" -"ンがある。 このフラグは B に対して、 B(2) によるイベント" -"を受信した後で、関連するファイルディスクリプタを無効にさせる。 " +"エッジトリガーを使った場合でも、複数のデータを受信すると複数の B イベ" +"ントが生成されるので、 呼び出し側には B フラグを指定するオプ" +"ションがある。 このフラグは B に対して、 B(2) によるイベ" +"ントを受信した後で、関連するファイルディスクリプターを無効にさせる。 " "B フラグが指定された場合、 B(2) に " -"B を指定してファイルディスクリプタを再度使用できるようにするの" -"は、 呼び出し側の責任である。" +"B を指定してファイルディスクリプターを再度使用できるようにする" +"のは、 呼び出し側の責任である。" #. type: SS #: build/C/man7/epoll.7:176 #, no-wrap +msgid "Interaction with autosleep" +msgstr "autosleep との関係" + +#. type: Plain text +#: build/C/man7/epoll.7:188 +msgid "" +"If the system is in B mode via I and an " +"event happens which wakes the device from sleep, the device driver will keep " +"the device awake only until that event is queued. To keep the device awake " +"until the event has been processed, it is necessary to use the B(7) " +"B flag." +msgstr "システムが I 経由で B モードになっていて、 デバイスをスリープ状態から起こすイベントが発生した場合、 デバイスドライバーはデバイスを起こしておくのはそのイベントがキューに入るまでだけである。 イベントが処理されるまでデバイスを起こしたままにしておくには、 B(7) B フラグを使う必要がある。" + +#. type: Plain text +#: build/C/man7/epoll.7:207 +msgid "" +"When the B flag is set in the B field for a I, the system will be kept awake from the moment the event is " +"queued, through the B(2) call which returns the event until the " +"subsequent B(2) call. If the event should keep the system " +"awake beyond that time, then a separate I should be taken before " +"the second B(2) call." +msgstr "" +"B フラグが I の B フィールドでセット" +"された場合、 イベントがキューに入った瞬間から、B(2) がそのイベン" +"トを返し次の B(2) の呼び出しが行われるまでの間、システムは起きた" +"ままの状態になる。 イベントが上記の時間の範囲を超えてシステムを起きたままの状" +"態にしておく必要がある場合は、 2 番目の B(2) の呼び出しの前に別" +"の I を取る必要がある。" + +#. type: SS +#: build/C/man7/epoll.7:207 +#, no-wrap msgid "/proc interfaces" -msgstr "/proc インタフェース" +msgstr "/proc インターフェース" #. Following was added in 2.6.28, but them removed in 2.6.29 #. .TP @@ -326,23 +364,23 @@ msgstr "/proc インタフェース" #. This specifies an upper limit on the number of epoll instances #. that can be created per real user ID. #. type: Plain text -#: build/C/man7/epoll.7:184 +#: build/C/man7/epoll.7:215 msgid "" "The following interfaces can be used to limit the amount of kernel memory " "consumed by epoll:" msgstr "" -"epoll が消費するカーネルメモリの量を制限するために、 以下のインタフェースを使" -"用することができる。" +"epoll が消費するカーネルメモリーの量を制限するために、 以下のインターフェース" +"を使用することができる。" #. type: TP -#: build/C/man7/epoll.7:184 +#: build/C/man7/epoll.7:215 #, no-wrap msgid "I (since Linux 2.6.28)" msgstr "I (Linux 2.6.28 以降)" #. 2.6.29 (in 2.6.28, the default was 1/32 of lowmem) #. type: Plain text -#: build/C/man7/epoll.7:198 +#: build/C/man7/epoll.7:229 msgid "" "This specifies a limit on the total number of file descriptors that a user " "can register across all epoll instances on the system. The limit is per " @@ -351,21 +389,22 @@ msgid "" "default value for I is 1/25 (4%) of the available low " "memory, divided by the registration cost in bytes." msgstr "" -"このファイルは、あるユーザがシステム上の全ての epoll インスタンスに 登録でき" -"るファイルディスクリプタの総数の上限を規定する。 この上限は実ユーザ ID 単位で" -"ある。 登録されたファイルディスクリプタ 1 つが消費するメモリ量は、 32 ビット" -"カーネルでおよそ 90 バイト、 64 ビットカーネルでおよそ 160 バイトである。 現" -"在のところ、 I のデフォルト値は、利用可能なメモリ下限の " -"1/25 (4%) であり、 登録で消費されるメモリ量 (バイト単位) で割った値となる。" +"このファイルは、あるユーザーがシステム上の全ての epoll インスタンスに 登録で" +"きるファイルディスクリプターの総数の上限を規定する。 この上限は実ユーザー ID " +"単位である。 登録されたファイルディスクリプター 1 つが消費するメモリー量は、 " +"32 ビットカーネルでおよそ 90 バイト、 64 ビットカーネルでおよそ 160 バイトで" +"ある。 現在のところ、 I のデフォルト値は、利用可能なメモ" +"リー下限の 1/25 (4%) であり、 登録で消費されるメモリー量 (バイト単位) で割っ" +"た値となる。" #. type: SS -#: build/C/man7/epoll.7:198 +#: build/C/man7/epoll.7:229 #, no-wrap msgid "Example for suggested usage" msgstr "おすすめな使用例" #. type: Plain text -#: build/C/man7/epoll.7:227 +#: build/C/man7/epoll.7:258 msgid "" "While the usage of B when employed as a level-triggered interface " "does have the same semantics as B(2), the edge-triggered usage " @@ -377,19 +416,19 @@ msgid "" "record its current state so that at the next call to I it will " "continue to B(2) or B(2) from where it stopped before." msgstr "" -"レベルトリガインタフェースとして使用するときの B の使い方は B" -"(2) と同じである。 しかしエッジトリガとして使う場合は、 アプリケーションのイ" -"ベントループでストール (stall) しないように、 使い方をより明確にしておく必要" -"がある。 この例では、リスナはブロックしないソケットであり、 B(2) が" -"呼ばれている。 関数 I は、 B(2) または B(2) に" -"よって B が返されるまでは、新しい準備済みのファイルディスクリプタを使" -"う。 イベント駆動ステートマシンアプリケーションは、 B を受信した後、" -"カレントの状態を記録しておくべきである。 これにより、次の I 呼び" -"出しのときに、以前に停止したところから B(2) または B(2) を継続" -"することができる。" +"レベルトリガーインターフェースとして使用するときの B の使い方は " +"B(2) と同じである。 しかしエッジトリガーとして使う場合は、 アプリケー" +"ションのイベントループでストール (stall) しないように、 使い方をより明確にし" +"ておく必要がある。 この例では、リスナはブロックしないソケットであり、 " +"B(2) が呼ばれている。 関数 I は、 B(2) または " +"B(2) によって B が返されるまでは、新しい準備済みのファイル" +"ディスクリプターを使う。 イベント駆動ステートマシンアプリケーションは、 " +"B を受信した後、カレントの状態を記録しておくべきである。 これにより、" +"次の I 呼び出しのときに、以前に停止したところから B(2) ま" +"たは B(2) を継続することができる。" #. type: Plain text -#: build/C/man7/epoll.7:233 +#: build/C/man7/epoll.7:264 #, no-wrap msgid "" "#define MAX_EVENTS 10\n" @@ -401,33 +440,33 @@ msgstr "" "int listen_sock, conn_sock, nfds, epollfd;\n" #. type: Plain text -#: build/C/man7/epoll.7:236 +#: build/C/man7/epoll.7:267 #, no-wrap msgid "" -"/* Set up listening socket, \\(aqlisten_sock\\(aq (socket(),\n" -" bind(), listen()) */\n" +"/* Code to set up listening socket, \\(aqlisten_sock\\(aq,\n" +" (socket(), bind(), listen()) omitted */\n" msgstr "" -"/* Set up listening socket, \\(aqlisten_sock\\(aq (socket(),\n" -" bind(), listen()) */\n" +"/* Code to set up listening socket, \\(aqlisten_sock\\(aq,\n" +" (socket(), bind(), listen()) omitted */\n" #. type: Plain text -#: build/C/man7/epoll.7:242 +#: build/C/man7/epoll.7:273 #, no-wrap msgid "" -"epollfd = epoll_create(10);\n" +"epollfd = epoll_create1(0);\n" "if (epollfd == -1) {\n" -" perror(\"epoll_create\");\n" +" perror(\"epoll_create1\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" -"epollfd = epoll_create(10);\n" +"epollfd = epoll_create1(0);\n" "if (epollfd == -1) {\n" -" perror(\"epoll_create\");\n" +" perror(\"epoll_create1\");\n" " exit(EXIT_FAILURE);\n" "}\n" #. type: Plain text -#: build/C/man7/epoll.7:249 +#: build/C/man7/epoll.7:280 #, no-wrap msgid "" "ev.events = EPOLLIN;\n" @@ -445,7 +484,7 @@ msgstr "" "}\n" #. type: Plain text -#: build/C/man7/epoll.7:256 +#: build/C/man7/epoll.7:287 #, no-wrap msgid "" "for (;;) {\n" @@ -463,7 +502,7 @@ msgstr "" " }\n" #. type: Plain text -#: build/C/man7/epoll.7:278 +#: build/C/man7/epoll.7:309 #, no-wrap msgid "" " for (n = 0; n E nfds; ++n) {\n" @@ -511,7 +550,7 @@ msgstr "" "}\n" #. type: Plain text -#: build/C/man7/epoll.7:297 +#: build/C/man7/epoll.7:328 msgid "" "When used as an edge-triggered interface, for performance reasons, it is " "possible to add the file descriptor inside the B interface " @@ -519,67 +558,67 @@ msgid "" "allows you to avoid continuously switching between B and " "B calling B(2) with B." msgstr "" -"エッジトリガインタフェースとして使う場合、性能上の理由により、 一度 " +"エッジトリガーインターフェースとして使う場合、性能上の理由により、 一度 " "(B|B) を指定してから (B で) ファイルディス" -"クリプタを B インタフェースに追加することができる。 これにより、 " +"クリプターを B インターフェースに追加することができる。 これにより、 " "B(2) に B を指定して呼び出すことで B と " "B の連続的な切り替えが避けられる。" #. type: SS -#: build/C/man7/epoll.7:297 +#: build/C/man7/epoll.7:328 #, no-wrap msgid "Questions and answers" msgstr "質問と解答" #. type: TP -#: build/C/man7/epoll.7:298 +#: build/C/man7/epoll.7:329 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:303 +#: build/C/man7/epoll.7:334 msgid "" "What is the key used to distinguish the file descriptors registered in an " "B set?" msgstr "" -"B 集合内の登録されたファイルディスクリプタを区別するには、 何をキーと" -"して使えばよいか?" +"B 集合内の登録されたファイルディスクリプターを区別するには、 何をキー" +"として使えばよいか?" #. type: TP -#: build/C/man7/epoll.7:303 +#: build/C/man7/epoll.7:334 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:309 +#: build/C/man7/epoll.7:340 msgid "" "The key is the combination of the file descriptor number and the open file " "description (also known as an \"open file handle\", the kernel's internal " "representation of an open file)." msgstr "" -"キーはファイルディスクリプタ番号とオープンファイル記述 (open file " +"キーはファイルディスクリプター番号とオープンファイル記述 (open file " "description) の組である (オープンファイル記述は \"open file handle\" とも 呼" "ばれ、オープンされたファイルのカーネルの内部表現である)。" #. type: TP -#: build/C/man7/epoll.7:309 +#: build/C/man7/epoll.7:340 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:314 +#: build/C/man7/epoll.7:345 msgid "" "What happens if you register the same file descriptor on an B " "instance twice?" msgstr "" -"1 つの B インスタンスに同じファイルディスクリプタを 2 回登録するとどう" -"なるか?" +"1 つの B インスタンスに同じファイルディスクリプターを 2 回登録するとど" +"うなるか?" #. type: TP -#: build/C/man7/epoll.7:314 +#: build/C/man7/epoll.7:345 #, no-wrap msgid "B" msgstr "B" @@ -598,7 +637,7 @@ msgstr "B" #. "epoll design problems with common fork/exec patterns" #. mtk, Feb 2008 #. type: Plain text -#: build/C/man7/epoll.7:345 +#: build/C/man7/epoll.7:376 msgid "" "You will probably get B. However, it is possible to add a duplicate " "(B(2), B(2), B(2) B) descriptor to the same " @@ -606,35 +645,35 @@ msgid "" "the duplicate file descriptors are registered with different I masks." msgstr "" "たぶん B を受け取るだろう。 しかしながら、同じ B インスタンス" -"に対して複製されたディスクリプタを追加することは可能である (B(2), " -"B(2), B(2) B など)。 複製したファイルディスクリプタを" -"異なる I マスクで登録すれば、イベントをフィルタリングするのに この機" -"能は有用な手法である。" +"に対して複製されたディスクリプターを追加することは可能である (B(2), " +"B(2), B(2) B など)。 複製したファイルディスクリプター" +"を異なる I マスクで登録すれば、イベントをフィルタリングするのに この" +"機能は有用な手法である。" #. type: TP -#: build/C/man7/epoll.7:345 +#: build/C/man7/epoll.7:376 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:353 +#: build/C/man7/epoll.7:384 msgid "" "Can two B instances wait for the same file descriptor? If so, are " "events reported to both B file descriptors?" msgstr "" -"2 つの B インスタンスが同じファイルディスクリプタを待ち受けることは可" -"能か? もし可能であれば、イベントは両方の B ファイルディスクリプタに報" -"告されるか?" +"2 つの B インスタンスが同じファイルディスクリプターを待ち受けることは" +"可能か? もし可能であれば、イベントは両方の B ファイルディスクリプター" +"に報告されるか?" #. type: TP -#: build/C/man7/epoll.7:353 +#: build/C/man7/epoll.7:384 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:357 +#: build/C/man7/epoll.7:388 msgid "" "Yes, and events would be reported to both. However, careful programming may " "be needed to do this correctly." @@ -643,152 +682,152 @@ msgstr "" "ラミングする必要が あるかもしれない。" #. type: TP -#: build/C/man7/epoll.7:357 +#: build/C/man7/epoll.7:388 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:362 +#: build/C/man7/epoll.7:393 msgid "Is the B file descriptor itself poll/epoll/selectable?" -msgstr "B ファイルディスクリプタ自身は poll/epoll/select が可能か?" +msgstr "B ファイルディスクリプター自身は poll/epoll/select が可能か?" #. type: TP -#: build/C/man7/epoll.7:362 +#: build/C/man7/epoll.7:393 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:369 +#: build/C/man7/epoll.7:400 msgid "" -"Yes. If an B file descriptor has events waiting then it will " +"Yes. If an B file descriptor has events waiting, then it will " "indicate as being readable." msgstr "" -"可能である。 B ファイルディスクリプタに処理待ちのイベントがある場合" +"可能である。 B ファイルディスクリプターに処理待ちのイベントがある場合" "は、 読み出し可能だと通知されることだろう。" #. type: TP -#: build/C/man7/epoll.7:369 +#: build/C/man7/epoll.7:400 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:374 +#: build/C/man7/epoll.7:405 msgid "" "What happens if one attempts to put an B file descriptor into its own " "file descriptor set?" msgstr "" -"B ファイルディスクリプタを自身のファイルディスクリプタ集合に 入れよう" -"とするとどうなるか?" +"B ファイルディスクリプターを自身のファイルディスクリプター集合に 入れ" +"ようとするとどうなるか?" #. type: TP -#: build/C/man7/epoll.7:374 +#: build/C/man7/epoll.7:405 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:385 +#: build/C/man7/epoll.7:416 msgid "" "The B(2) call will fail (B). However, you can add an " "B file descriptor inside another B file descriptor set." msgstr "" "B(2) の呼び出しは (B で) 失敗するだろう。 ただし " -"B ファイルディスクリプタを他の B ファイルディスクリプタ集合の内" -"部に追加することは可能である。" +"B ファイルディスクリプターを他の B ファイルディスクリプター集合" +"の内部に追加することは可能である。" #. type: TP -#: build/C/man7/epoll.7:385 +#: build/C/man7/epoll.7:416 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:390 +#: build/C/man7/epoll.7:421 msgid "" "Can I send an B file descriptor over a UNIX domain socket to another " "process?" msgstr "" -"B ファイルディスクリプタを UNIX ドメインソケットで他のプロセスに送るこ" -"とは可能か?" +"B ファイルディスクリプターを UNIX ドメインソケットで他のプロセスに送る" +"ことは可能か?" #. type: TP -#: build/C/man7/epoll.7:390 +#: build/C/man7/epoll.7:421 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:396 +#: build/C/man7/epoll.7:427 msgid "" "Yes, but it does not make sense to do this, since the receiving process " "would not have copies of the file descriptors in the B set." msgstr "" "可能だが、これをすることに意味はない。 なぜなら、受信側のプロセスが B " -"集合内のファイルディスクリプタのコピーを持っていないからである。" +"集合内のファイルディスクリプターのコピーを持っていないからである。" #. type: TP -#: build/C/man7/epoll.7:396 +#: build/C/man7/epoll.7:427 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:401 +#: build/C/man7/epoll.7:432 msgid "" "Will closing a file descriptor cause it to be removed from all B sets " "automatically?" msgstr "" -"ファイルディスクリプタをクローズすると、そのファイルディスクリプタは全ての " -"B 集合から自動的に削除されるか?" +"ファイルディスクリプターをクローズすると、そのファイルディスクリプターは全て" +"の B 集合から自動的に削除されるか?" #. type: TP -#: build/C/man7/epoll.7:401 +#: build/C/man7/epoll.7:432 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:429 +#: build/C/man7/epoll.7:460 msgid "" "Yes, but be aware of the following point. A file descriptor is a reference " "to an open file description (see B(2)). Whenever a descriptor is " -"duplicated via B(2), B(2), B(2) B, or B" -"(2), a new file descriptor referring to the same open file description is " -"created. An open file description continues to exist until all file " -"descriptors referring to it have been closed. A file descriptor is removed " -"from an B set only after all the file descriptors referring to the " -"underlying open file description have been closed (or before if the " +"duplicated via B(2), B(2), B(2) B, or " +"B(2), a new file descriptor referring to the same open file " +"description is created. An open file description continues to exist until " +"all file descriptors referring to it have been closed. A file descriptor is " +"removed from an B set only after all the file descriptors referring " +"to the underlying open file description have been closed (or before if the " "descriptor is explicitly removed using B(2) B). " "This means that even after a file descriptor that is part of an B set " "has been closed, events may be reported for that file descriptor if other " "file descriptors referring to the same underlying file description remain " "open." msgstr "" -"削除されるが、以下の点に注意が必要である。 ファイルディスクリプタはオープン" -"ファイル記述 (B(2) 参照) への参照である。 ディスクリプタの複製を " +"削除されるが、以下の点に注意が必要である。 ファイルディスクリプターはオープン" +"ファイル記述 (B(2) 参照) への参照である。 ディスクリプターの複製を " "B(2), B(2), B(2) の B や B(2) 経由で行う度" -"に、同じオープンファイル記述を参照する新規のファイル ディスクリプタが生成され" -"る。 オープンファイル記述自体は、自身を参照する全てのファイルディスクリプタ " -"がクローズされるまで存在し続ける。 ファイルディスクリプタが B 集合から" -"削除されるのは、対応するオープンファイル記述を参照している 全てのファイルディ" -"スクリプタがクローズされた後である (B(2) B を使っ" -"てそのディスクリプタを明示的に削除した場合にも削除される)。 このことは、 " -"B 集合に属しているあるファイルディスクリプタをクローズした後であって" -"も、 同じファイル記述を参照する他のファイルディスクリプタがオープンされている" -"間は、 クローズしたファイルディスクリプタ宛にイベントが報告される可能性がある" -"と いうことを意味する。" +"に、同じオープンファイル記述を参照する新規のファイル ディスクリプターが生成さ" +"れる。 オープンファイル記述自体は、自身を参照する全てのファイルディスクリプ" +"ター がクローズされるまで存在し続ける。 ファイルディスクリプターが B " +"集合から削除されるのは、対応するオープンファイル記述を参照している 全てのファ" +"イルディスクリプターがクローズされた後である (B(2) " +"B を使ってそのディスクリプターを明示的に削除した場合にも削除さ" +"れる)。 このことは、 B 集合に属しているあるファイルディスクリプターを" +"クローズした後であっても、 同じファイル記述を参照する他のファイルディスクリプ" +"ターがオープンされている間は、 クローズしたファイルディスクリプター宛にイベン" +"トが報告される可能性があると いうことを意味する。" #. type: TP -#: build/C/man7/epoll.7:429 +#: build/C/man7/epoll.7:460 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:434 +#: build/C/man7/epoll.7:465 msgid "" "If more than one event occurs between B(2) calls, are they " "combined or reported separately?" @@ -797,83 +836,83 @@ msgstr "" "めて報告されるか、 それとも別々に報告されるか?" #. type: TP -#: build/C/man7/epoll.7:434 +#: build/C/man7/epoll.7:465 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:437 +#: build/C/man7/epoll.7:468 msgid "They will be combined." msgstr "まとめて報告されるだろう。" #. type: TP -#: build/C/man7/epoll.7:437 +#: build/C/man7/epoll.7:468 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:441 +#: build/C/man7/epoll.7:472 msgid "" "Does an operation on a file descriptor affect the already collected but not " "yet reported events?" msgstr "" -"ファイルディスクリプタに対する操作は、 既に集められているがまだ報告されていな" -"いイベントに影響するか?" +"ファイルディスクリプターに対する操作は、 既に集められているがまだ報告されてい" +"ないイベントに影響するか?" #. type: TP -#: build/C/man7/epoll.7:441 +#: build/C/man7/epoll.7:472 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:447 +#: build/C/man7/epoll.7:478 msgid "" "You can do two operations on an existing file descriptor. Remove would be " "meaningless for this case. Modify will reread available I/O." msgstr "" -"既存のファイルディスクリプタに対して 2 つの操作を行うことができる。 この場" +"既存のファイルディスクリプターに対して 2 つの操作を行うことができる。 この場" "合、削除には意味がない。 変更すると、使用可能な I/O が再び読み込まれる。" #. type: TP -#: build/C/man7/epoll.7:447 +#: build/C/man7/epoll.7:478 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:455 +#: build/C/man7/epoll.7:486 msgid "" "Do I need to continuously read/write a file descriptor until B when " "using the B flag (edge-triggered behavior) ?" msgstr "" -"B フラグ (エッジトリガ動作) を使っている場合、 B を受け取る" -"まで、 継続してファイルディスクリプタを読み書きする必要があるか?" +"B フラグ (エッジトリガー動作) を使っている場合、 B を受け取" +"るまで、 継続してファイルディスクリプターを読み書きする必要があるか?" #. type: TP -#: build/C/man7/epoll.7:455 +#: build/C/man7/epoll.7:486 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:465 +#: build/C/man7/epoll.7:496 msgid "" "Receiving an event from B(2) should suggest to you that such " "file descriptor is ready for the requested I/O operation. You must consider " "it ready until the next (nonblocking) read/write yields B. When " "and how you will use the file descriptor is entirely up to you." msgstr "" -"B(2) からイベントを受け取ることは、 そのファイルディスクリプタが" -"要求された I/O 操作に対して準備済みである、 ということをユーザに示すものであ" -"る。 次の (ブロックしない) read/write で B を受け取るまではファイル" -"ディスクリプタは準備済みであると 考えなければならない。 そのファイルディスク" -"リプタをいつどのように使うかは、 全くユーザに任されてる。" +"B(2) からイベントを受け取ることは、 そのファイルディスクリプター" +"が要求された I/O 操作に対して準備済みである、 ということをユーザーに示すもの" +"である。 次の (ブロックしない) read/write で B を受け取るまではファイ" +"ルディスクリプターは準備済みであると 考えなければならない。 そのファイルディ" +"スクリプターをいつどのように使うかは、 全くユーザーに任されてる。" #. type: Plain text -#: build/C/man7/epoll.7:471 +#: build/C/man7/epoll.7:502 msgid "" "For packet/token-oriented files (e.g., datagram socket, terminal in " "canonical mode), the only way to detect the end of the read/write I/O space " @@ -884,7 +923,7 @@ msgstr "" "する唯一の方法は B になるまで read/write を行うことである。" #. type: Plain text -#: build/C/man7/epoll.7:487 +#: build/C/man7/epoll.7:518 msgid "" "For stream-oriented files (e.g., pipe, FIFO, stream socket), the condition " "that the read/write I/O space is exhausted can also be detected by checking " @@ -898,28 +937,28 @@ msgid "" msgstr "" "ストリーム指向のファイル (例えば、パイプ、FIFO、ストリームソケット) では、 読" "み込み用 / 書き込み用の I/O 空間が使い尽くされた状態は、 対象となるファイル" -"ディスクリプタから読み込んだデータ量または 書き込んだデータ量をチェックするこ" -"とでも検知できる。 例えば、ある特定の量のデータを読み込むために B(2) " -"を呼んだときに、 B(2) が返したバイト数がそれより少なかった場合、 その" -"ファイルディスクリプタの読み込み用 I/O 空間が 使い尽くされたことが分かる。 " -"B(2) を使って書き込みをするときも、同じことが言える (監視しているファ" -"イルディスクリプタが常にストリーム指向のファイルを 参照していることを保証でき" -"ない場合には、後者の手法の使用を避けること)。" +"ディスクリプターから読み込んだデータ量または 書き込んだデータ量をチェックする" +"ことでも検知できる。 例えば、ある特定の量のデータを読み込むために " +"B(2) を呼んだときに、 B(2) が返したバイト数がそれより少なかった" +"場合、 そのファイルディスクリプターの読み込み用 I/O 空間が 使い尽くされたこと" +"が分かる。 B(2) を使って書き込みをするときも、同じことが言える (監視" +"しているファイルディスクリプターが常にストリーム指向のファイルを 参照している" +"ことを保証できない場合には、後者の手法の使用を避けること)。" #. type: SS -#: build/C/man7/epoll.7:487 +#: build/C/man7/epoll.7:518 #, no-wrap msgid "Possible pitfalls and ways to avoid them" msgstr "ありがちな落とし穴と回避方法" #. type: TP -#: build/C/man7/epoll.7:488 +#: build/C/man7/epoll.7:519 #, no-wrap msgid "B" -msgstr "B" +msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:496 +#: build/C/man7/epoll.7:527 msgid "" "If there is a large amount of I/O space, it is possible that by trying to " "drain it the other files will not get processed causing starvation. (This " @@ -930,7 +969,7 @@ msgstr "" "B に固有のものではない)。" #. type: Plain text -#: build/C/man7/epoll.7:504 +#: build/C/man7/epoll.7:535 msgid "" "The solution is to maintain a ready list and mark the file descriptor as " "ready in its associated data structure, thereby allowing the application to " @@ -939,20 +978,20 @@ msgid "" "for file descriptors that are already ready." msgstr "" "この問題の解決法は、準備済み状態のリストを管理して、 関連する data 構造体の中" -"でファイルディスクリプタが 利用可能であるとマークすることである。 それによっ" -"て、利用可能なすべてのファイルの中で どのファイルを処理する必要があるかを憶え" -"ることができ、 しかも順番に処理 (round robin) することができる。 既に利用可能" -"であるファイルディスクリプタに対して それ以後に受け取るイベントを無視すること" -"もできる。" +"でファイルディスクリプターが 利用可能であるとマークすることである。 それに" +"よって、利用可能なすべてのファイルの中で どのファイルを処理する必要があるかを" +"憶えることができ、 しかも順番に処理 (round robin) することができる。 既に利用" +"可能であるファイルディスクリプターに対して それ以後に受け取るイベントを無視す" +"ることもできる。" #. type: TP -#: build/C/man7/epoll.7:504 +#: build/C/man7/epoll.7:535 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man7/epoll.7:520 +#: build/C/man7/epoll.7:551 msgid "" "If you use an event cache or store all the file descriptors returned from " "B(2), then make sure to provide a way to mark its closure " @@ -963,41 +1002,42 @@ msgid "" "there are events waiting for that file descriptor causing confusion." msgstr "" "イベントキャッシュを使っている場合、 または B(2) から返された全" -"てのファイルディスクリプタを格納している場合、 クローズされたことを動的にマー" -"クする (つまり前のイベントの処理によってマークされる) 方法を提供すべきであ" -"る。 B(2) から 100 個のイベントを受け取り、 イベント #47 ではあ" -"る条件でイベント #13 が閉じられると仮定する。 イベント #13 の構造体を削除し" -"ファイルディスクリプタを B(2) すると、イベントキャッシュはそのファイ" -"ルディスクリプタを待つイベントが 存在するといって、混乱が起きる。" +"てのファイルディスクリプターを格納している場合、 クローズされたことを動的に" +"マークする (つまり前のイベントの処理によってマークされる) 方法を提供すべきで" +"ある。 B(2) から 100 個のイベントを受け取り、 イベント #47 では" +"ある条件でイベント #13 が閉じられると仮定する。 イベント #13 の構造体を削除し" +"ファイルディスクリプターを B(2) すると、イベントキャッシュはそのファ" +"イルディスクリプターを待つイベントが 存在するといって、混乱が起きる。" #. type: Plain text -#: build/C/man7/epoll.7:531 +#: build/C/man7/epoll.7:562 msgid "" "One solution for this is to call, during the processing of event 47, " -"B(B) to delete file descriptor 13 and B" -"(2), then mark its associated data structure as removed and link it to a " -"cleanup list. If you find another event for file descriptor 13 in your " +"B(B) to delete file descriptor 13 and " +"B(2), then mark its associated data structure as removed and link it " +"to a cleanup list. If you find another event for file descriptor 13 in your " "batch processing, you will discover the file descriptor had been previously " "removed and there will be no confusion." msgstr "" "この問題を解決する 1 つの方法は、イベント 47 の処理をしている間に、 ファイル" -"ディスクリプタ 13 を削除して B(2) するために B" -"(B) を呼び出し、関連付けられた data 構造体を削除済みとマーク" -"して、 クリーンアップリストにリンクすることである。 バッチ処理の中でファイル" -"ディスクリプタ 13 についての 他のイベントを見つけた場合、 そのファイルディス" -"クリプタが以前に削除されたものであると分かるので、 混乱は起きない。" +"ディスクリプター 13 を削除して B(2) するために " +"B(B) を呼び出し、関連付けられた data 構造体を削除" +"済みとマークして、 クリーンアップリストにリンクすることである。 バッチ処理の" +"中でファイルディスクリプター 13 についての 他のイベントを見つけた場合、 その" +"ファイルディスクリプターが以前に削除されたものであると分かるので、 混乱は起き" +"ない。" #. type: SH -#: build/C/man7/epoll.7:531 build/C/man2/epoll_create.2:108 -#: build/C/man2/epoll_ctl.2:225 build/C/man2/epoll_wait.2:177 -#: build/C/man2/poll.2:312 +#: build/C/man7/epoll.7:562 build/C/man2/epoll_create.2:108 +#: build/C/man2/epoll_ctl.2:256 build/C/man2/epoll_wait.2:187 +#: build/C/man2/poll.2:330 #, no-wrap msgid "VERSIONS" msgstr "バージョン" #. Its interface should be finalized in Linux kernel 2.5.66. #. type: Plain text -#: build/C/man7/epoll.7:537 +#: build/C/man7/epoll.7:568 msgid "" "The B API was introduced in Linux kernel 2.5.44. Support was added " "to glibc in version 2.3.2." @@ -1006,15 +1046,15 @@ msgstr "" "ジョン 2.3.2 で追加された。" #. type: SH -#: build/C/man7/epoll.7:537 build/C/man2/epoll_create.2:118 -#: build/C/man2/epoll_ctl.2:230 build/C/man2/epoll_wait.2:187 -#: build/C/man2/poll.2:329 +#: build/C/man7/epoll.7:568 build/C/man2/epoll_create.2:118 +#: build/C/man2/epoll_ctl.2:261 build/C/man2/epoll_wait.2:197 +#: build/C/man2/poll.2:347 #, no-wrap msgid "CONFORMING TO" msgstr "準拠" #. type: Plain text -#: build/C/man7/epoll.7:546 +#: build/C/man7/epoll.7:577 msgid "" "The B API is Linux-specific. Some other systems provide similar " "mechanisms, for example, FreeBSD has I, and Solaris has I." @@ -1024,38 +1064,39 @@ msgstr "" "る。" #. type: SH -#: build/C/man7/epoll.7:546 build/C/man2/epoll_create.2:144 -#: build/C/man2/epoll_ctl.2:253 build/C/man2/epoll_wait.2:219 -#: build/C/man2/poll.2:366 +#: build/C/man7/epoll.7:577 build/C/man2/epoll_create.2:144 +#: build/C/man2/epoll_ctl.2:311 build/C/man2/epoll_wait.2:242 +#: build/C/man2/poll.2:397 #, no-wrap msgid "SEE ALSO" msgstr "関連項目" #. type: Plain text -#: build/C/man7/epoll.7:551 +#: build/C/man7/epoll.7:582 msgid "" "B(2), B(2), B(2), B(2)" msgstr "" "B(2), B(2), B(2), B(2)" #. type: SH -#: build/C/man7/epoll.7:551 build/C/man2/epoll_create.2:149 -#: build/C/man2/epoll_ctl.2:258 build/C/man2/epoll_wait.2:223 -#: build/C/man2/poll.2:371 +#: build/C/man7/epoll.7:582 build/C/man2/epoll_create.2:149 +#: build/C/man2/epoll_ctl.2:316 build/C/man2/epoll_wait.2:246 +#: build/C/man2/poll.2:402 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text -#: build/C/man7/epoll.7:558 build/C/man2/epoll_create.2:156 -#: build/C/man2/epoll_ctl.2:265 build/C/man2/epoll_wait.2:230 -#: build/C/man2/poll.2:378 +#: build/C/man7/epoll.7:590 build/C/man2/epoll_create.2:157 +#: build/C/man2/epoll_ctl.2:324 build/C/man2/epoll_wait.2:254 +#: build/C/man2/poll.2:410 msgid "" -"This page is part of release 3.53 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/." +"This page is part of release 3.79 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.53 の一部\n" +"この man ページは Linux I プロジェクトのリリース 3.79 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" @@ -1066,7 +1107,7 @@ msgid "EPOLL_CREATE" msgstr "EPOLL_CREATE" #. type: TH -#: build/C/man2/epoll_create.2:24 build/C/man2/epoll_ctl.2:20 +#: build/C/man2/epoll_create.2:24 #, no-wrap msgid "2012-04-15" msgstr "2012-04-15" @@ -1075,7 +1116,7 @@ msgstr "2012-04-15" #: build/C/man2/epoll_create.2:27 msgid "epoll_create, epoll_create1 - open an epoll file descriptor" msgstr "" -"epoll_create, epoll_create1 - epoll ファイルディスクリプタをオープンする" +"epoll_create, epoll_create1 - epoll ファイルディスクリプターをオープンする" #. type: Plain text #: build/C/man2/epoll_create.2:30 build/C/man2/epoll_wait.2:28 @@ -1114,12 +1155,12 @@ msgid "" "destroys the instance and releases the associated resources for reuse." msgstr "" "B() は、新しい epoll インスタンスを参照するファイルディスクリ" -"プタを返す。 このファイルディスクリプタは、その後の B インタフェースの" -"呼び出しに使われる。 もう必要でなくなった場合は、 B() で返され" -"たファイルディスクリプタは B(2) を使ってクローズされるべきである。 あ" -"る epoll インスタンスを参照する全てのファイルディスクリプタがクローズされる" -"と、 カーネルはそのインスタンスを破壊して、対応するリソースを解放し、 再使用" -"できるようにする。" +"プターを返す。 このファイルディスクリプターは、その後の B インター" +"フェースの呼び出しに使われる。 もう必要でなくなった場合は、 " +"B() で返されたファイルディスクリプターは B(2) を使って" +"クローズされるべきである。 ある epoll インスタンスを参照する全てのファイル" +"ディスクリプターがクローズされると、 カーネルはそのインスタンスを破壊して、対" +"応するリソースを解放し、 再使用できるようにする。" #. type: SS #: build/C/man2/epoll_create.2:55 @@ -1152,13 +1193,13 @@ msgid "" "the description of the B flag in B(2) for reasons why this " "may be useful." msgstr "" -"新しいファイルディスクリプタに対して close-on-exec (B) フラグを" -"セットする。 このフラグが役に立つ理由については、 B(2) の " +"新しいファイルディスクリプターに対して close-on-exec (B) フラグ" +"をセットする。 このフラグが役に立つ理由については、 B(2) の " "B フラグの説明を参照のこと。" #. type: SH -#: build/C/man2/epoll_create.2:77 build/C/man2/epoll_ctl.2:157 -#: build/C/man2/epoll_wait.2:140 build/C/man2/poll.2:283 +#: build/C/man2/epoll_create.2:77 build/C/man2/epoll_ctl.2:185 +#: build/C/man2/epoll_wait.2:150 build/C/man2/poll.2:301 #, no-wrap msgid "RETURN VALUE" msgstr "返り値" @@ -1169,20 +1210,20 @@ msgid "" "On success, these system calls return a nonnegative file descriptor. On " "error, -1 is returned, and I is set to indicate the error." msgstr "" -"成功すると、これらのシステムコールは 非負のファイルディスクリプタを返す。 エ" -"ラーの場合、-1 を返し、 I にエラーを示す値を設定する。" +"成功すると、これらのシステムコールは 非負のファイルディスクリプターを返す。 " +"エラーの場合、-1 を返し、 I にエラーを示す値を設定する。" #. type: SH -#: build/C/man2/epoll_create.2:84 build/C/man2/epoll_ctl.2:166 -#: build/C/man2/epoll_wait.2:152 build/C/man2/poll.2:293 +#: build/C/man2/epoll_create.2:84 build/C/man2/epoll_ctl.2:194 +#: build/C/man2/epoll_wait.2:162 build/C/man2/poll.2:311 #, no-wrap msgid "ERRORS" msgstr "エラー" #. type: TP #: build/C/man2/epoll_create.2:85 build/C/man2/epoll_create.2:89 -#: build/C/man2/epoll_ctl.2:181 build/C/man2/epoll_wait.2:169 -#: build/C/man2/poll.2:302 +#: build/C/man2/epoll_ctl.2:209 build/C/man2/epoll_wait.2:179 +#: build/C/man2/poll.2:320 #, no-wrap msgid "B" msgstr "B" @@ -1226,8 +1267,8 @@ msgid "The system limit on the total number of open files has been reached." msgstr "オープンされたファイルの総数がシステム制限に達した。" #. type: TP -#: build/C/man2/epoll_create.2:105 build/C/man2/epoll_ctl.2:204 -#: build/C/man2/poll.2:309 +#: build/C/man2/epoll_create.2:105 build/C/man2/epoll_ctl.2:232 +#: build/C/man2/poll.2:327 #, no-wrap msgid "B" msgstr "B" @@ -1235,7 +1276,7 @@ msgstr "B" #. type: Plain text #: build/C/man2/epoll_create.2:108 msgid "There was insufficient memory to create the kernel object." -msgstr "カーネルオブジェクトを作成するのに十分なメモリがなかった。" +msgstr "カーネルオブジェクトを作成するのに十分なメモリーがなかった。" #. type: Plain text #: build/C/man2/epoll_create.2:112 @@ -1263,8 +1304,8 @@ msgid "B() is Linux-specific." msgstr "B() は Linux 独自である。" #. type: SH -#: build/C/man2/epoll_create.2:121 build/C/man2/epoll_ctl.2:234 -#: build/C/man2/epoll_wait.2:190 build/C/man2/poll.2:335 +#: build/C/man2/epoll_create.2:121 build/C/man2/epoll_ctl.2:265 +#: build/C/man2/epoll_wait.2:200 build/C/man2/poll.2:353 #, no-wrap msgid "NOTES" msgstr "注意" @@ -1285,7 +1326,7 @@ msgid "" msgstr "" "初期の B() の実装では、I 引き数は、呼び出し元が " "B\n" -"インスタンスに追加しようとするファイルディスクリプタ数をカーネルに教えるの" +"インスタンスに追加しようとするファイルディスクリプター数をカーネルに教えるの" "に\n" "使われていた。カーネルはこの情報をイベントの情報を格納する内部データ構造に" "最\n" @@ -1313,10 +1354,16 @@ msgstr "B(2), B(2), B(2), B(7)" msgid "EPOLL_CTL" msgstr "EPOLL_CTL" +#. type: TH +#: build/C/man2/epoll_ctl.2:20 +#, no-wrap +msgid "2014-12-31" +msgstr "2014-12-31" + #. type: Plain text #: build/C/man2/epoll_ctl.2:23 msgid "epoll_ctl - control interface for an epoll descriptor" -msgstr "epoll_ctl - epoll ディスクリプタのインタフェースを操作する" +msgstr "epoll_ctl - epoll ディスクリプターのインターフェースを操作する" #. type: Plain text #: build/C/man2/epoll_ctl.2:28 @@ -1334,14 +1381,15 @@ msgid "" "referred to by the file descriptor I. It requests that the operation " "I be performed for the target file descriptor, I." msgstr "" -"このシステムコールは、ファイルディスクリプタ I が参照する B(7)\n" -"インスタンスに対する操作を行う。 対象のファイルディスクリプタ I に対し" +"このシステムコールは、ファイルディスクリプター I が参照する " +"B(7)\n" +"インスタンスに対する操作を行う。 対象のファイルディスクリプター I に対し" "て、\n" "操作 I の実行が要求される。" #. type: Plain text #: build/C/man2/epoll_ctl.2:42 -msgid "Valid values for the I argument are :" +msgid "Valid values for the I argument are:" msgstr "I 引き数に指定できる有効な値は以下の通りである。" #. type: TP @@ -1357,9 +1405,9 @@ msgid "" "to by the file descriptor I and associate the event I with the " "internal file linked to I." msgstr "" -"対象のファイルディスクリプタ I をファイルディスクリプタ I が参照す" -"る B インスタンスに登録し、イベント I を I に結び付けられた" -"内部ファイルに関連付ける。" +"対象のファイルディスクリプター I をファイルディスクリプター I が参" +"照する B インスタンスに登録し、イベント I を I に結び付けら" +"れた内部ファイルに関連付ける。" #. type: TP #: build/C/man2/epoll_ctl.2:54 @@ -1372,8 +1420,8 @@ msgstr "B" msgid "" "Change the event I associated with the target file descriptor I." msgstr "" -"イベント I を対象のファイルディスクリプタ I に関連付けるように変更" -"する。" +"イベント I を対象のファイルディスクリプター I に関連付けるように変" +"更する。" #. type: TP #: build/C/man2/epoll_ctl.2:60 @@ -1388,18 +1436,18 @@ msgid "" "instance referred to by I. The I is ignored and can be NULL " "(but see BUGS below)." msgstr "" -"対象のファイルディスクリプタ I を I が参照する B インスタン" -"スから削除する。 I 引き数は無視されるので、NULL にすることもできる (但" -"し、下記の「バグ」を参照)。" +"対象のファイルディスクリプター I を I が参照する B インスタ" +"ンスから削除する。 I 引き数は無視されるので、NULL にすることもできる " +"(但し、下記の「バグ」を参照)。" #. type: Plain text #: build/C/man2/epoll_ctl.2:79 msgid "" "The I argument describes the object linked to the file descriptor " -"I. The I is defined as :" +"I. The I is defined as:" msgstr "" -"I 引き数は、ファイルディスクリプタ I にリンクされたオブジェクトを" -"表す。 I は以下のように定義される:" +"I 引き数は、ファイルディスクリプター I にリンクされたオブジェクト" +"を表す。 I は以下のように定義される。" #. type: Plain text #: build/C/man2/epoll_ctl.2:88 @@ -1430,7 +1478,7 @@ msgid "" msgstr "" "struct epoll_event {\n" " uint32_t events; /* epoll イベント */\n" -" epoll_data_t data; /* ユーザデータ変数 */\n" +" epoll_data_t data; /* ユーザーデータ変数 */\n" "};\n" #. type: Plain text @@ -1478,9 +1526,9 @@ msgid "" "detect peer shutdown when using Edge Triggered monitoring.)" msgstr "" "ストリームソケットの他端が、コネクションの close 、 またはコネクションの書き" -"込み側の shutdown を行った。 (このフラグを使うと、エッジトリガの監視を行う場" -"合に、 通信のもう一端が閉じられたことを検知するコードを 非常に簡潔に書くこと" -"ができる。)" +"込み側の shutdown を行った。 (このフラグを使うと、エッジトリガーの監視を行う" +"場合に、 通信のもう一端が閉じられたことを検知するコードを 非常に簡潔に書くこ" +"とができる。)" #. type: TP #: build/C/man2/epoll_ctl.2:116 @@ -1502,12 +1550,13 @@ msgstr "B" #. type: Plain text #: build/C/man2/epoll_ctl.2:127 msgid "" -"Error condition happened on the associated file descriptor. B" -"(2) will always wait for this event; it is not necessary to set it in " -"I." +"Error condition happened on the associated file descriptor. " +"B(2) will always wait for this event; it is not necessary to " +"set it in I." msgstr "" -"関連付けられたファイルディスクリプタにエラー条件が起こった。 B" -"(2) は常にこのイベントを待つので、 I に設定する必要はない。" +"関連付けられたファイルディスクリプターにエラー条件が起こった。 " +"B(2) は常にこのイベントを待つので、 I に設定する必要はな" +"い。" #. type: TP #: build/C/man2/epoll_ctl.2:127 @@ -1521,8 +1570,9 @@ msgid "" "Hang up happened on the associated file descriptor. B(2) will " "always wait for this event; it is not necessary to set it in I." msgstr "" -"関連付けられたファイルディスクリプタにハングアップが起こった。 B" -"(2) は常にこのイベントを待つので、 I に設定する必要はない。" +"関連付けられたファイルディスクリプターにハングアップが起こった。 " +"B(2) は常にこのイベントを待つので、 I に設定する必要はな" +"い。" #. type: TP #: build/C/man2/epoll_ctl.2:133 @@ -1538,11 +1588,11 @@ msgid "" "detailed information about Edge and Level Triggered event distribution " "architectures." msgstr "" -"関連付けられたファイルディスクリプタに エッジトリガ動作 (Edge Triggered " -"behavior) を設定する。 B のデフォルトの動作は、レベルトリガ (Level " -"Triggered) である。 エッジトリガとレベルトリガによるイベント分配機構 (event " -"distribution architectures) についての詳細な情報は、 B(7) を参照する" -"こと。" +"関連付けられたファイルディスクリプターに エッジトリガー動作 (Edge Triggered " +"behavior) を設定する。 B のデフォルトの動作は、レベルトリガー (Level " +"Triggered) である。 エッジトリガーとレベルトリガーによるイベント分配機構 " +"(event distribution architectures) についての詳細な情報は、 B(7) を参" +"照すること。" #. type: TP #: build/C/man2/epoll_ctl.2:143 @@ -1559,16 +1609,46 @@ msgid "" "the B interface. The user must call B() with " "B to rearm the file descriptor with a new event mask." msgstr "" -"関連付けられたファイルディスクリプタに 一撃動作 (One-Shot behavior) を設定す" -"る。 これはイベントが B(2) によって引き出された後、 関連付けられ" -"たファイルディスクリプタが内部的に破棄され、 B インタフェースによって" -"イベントが報告されなくなることを意味する。 新しいイベントマスクでファイルディ" -"スクリプタを再度有効にするためには、 B() に B を指" -"定して呼び出さなければならない。 I 引き数に指定できる有効な値は、以下の通" -"り:" +"関連付けられたファイルディスクリプターに 一撃動作 (One-Shot behavior) を設定" +"する。 これはイベントが B(2) によって引き出された後、 関連付けら" +"れたファイルディスクリプターが内部的に破棄され、 B インターフェースに" +"よってイベントが報告されなくなることを意味する。 新しいイベントマスクでファイ" +"ルディスクリプターを再度有効にするためには、 B() に " +"B を指定して呼び出さなければならない。 I 引き数に指定でき" +"る有効な値は、以下の通り:" + +#. type: TP +#: build/C/man2/epoll_ctl.2:157 +#, no-wrap +msgid "B (since Linux 3.5)" +msgstr "B (Linux 3.5 以降)" +#. commit 4d7e30d98939a0340022ccd49325a3d70f7e0238 #. type: Plain text -#: build/C/man2/epoll_ctl.2:166 +#: build/C/man2/epoll_ctl.2:185 +msgid "" +"If B and B are clear and the process has the " +"B capability, ensure that the system does not enter " +"\"suspend\" or \"hibernate\" while this event is pending or being " +"processed. The event is considered as being \"processed\" from the time " +"when it is returned by a call to B(2) until the next call to " +"B(2) on the same B(7) file descriptor, the closure of " +"that file descriptor, the removal of the event file descriptor with " +"B, or the clearing of B for the event file " +"descriptor with B. See also BUGS." +msgstr "" +"B と B がクリアされており、 プロセスが " +"B ケーパビリティを持っている場合、 イベントが処理待ちか処" +"理中かにかかわらず、必ずシステムが \"suspend\" や \"hibernate\" に入らないよ" +"うにすること。 B(2) の呼び出しが返った時点から、 同じ " +"B(7) ファイルディスクリプターに対して B(2) が次に呼び出さ" +"れるか、 そのファイルディスクリプターが閉じられるか、 イベントファイルディス" +"クリプターが B で削除されるか、 B でイベント" +"ファイルディスクリプターの B がクリアされるか、 のいずれかになる" +"まで、イベントは「処理中」であるとみなされる。 「バグ」の節も参照のこと。" + +#. type: Plain text +#: build/C/man2/epoll_ctl.2:194 msgid "" "When successful, B() returns zero. When an error occurs, " "B() returns -1 and I is set appropriately." @@ -1577,49 +1657,49 @@ msgstr "" "B() は -1 を返し、 I を適切に設定する。" #. type: TP -#: build/C/man2/epoll_ctl.2:167 build/C/man2/epoll_wait.2:153 +#: build/C/man2/epoll_ctl.2:195 build/C/man2/epoll_wait.2:163 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/epoll_ctl.2:173 +#: build/C/man2/epoll_ctl.2:201 msgid "I or I is not a valid file descriptor." -msgstr "I か I が有効なファイルディスクリプタでない。" +msgstr "I か I が有効なファイルディスクリプターでない。" #. type: TP -#: build/C/man2/epoll_ctl.2:173 +#: build/C/man2/epoll_ctl.2:201 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/epoll_ctl.2:181 +#: build/C/man2/epoll_ctl.2:209 msgid "" "I was B, and the supplied file descriptor I is " "already registered with this epoll instance." msgstr "" -"I が B であり、かつ与えられたファイルディスクリプタ I " -"がこの epoll インスタンスに既に登録されている。" +"I が B であり、かつ与えられたファイルディスクリプター " +"I がこの epoll インスタンスに既に登録されている。" #. type: Plain text -#: build/C/man2/epoll_ctl.2:194 +#: build/C/man2/epoll_ctl.2:222 msgid "" "I is not an B file descriptor, or I is the same as I, " "or the requested operation I is not supported by this interface." msgstr "" -"I が B ファイルディスクリプタでない。 または I が I と" -"同一である。 または要求された操作 I がこのインタフェースでサポートされて" -"いない。" +"I が B ファイルディスクリプターでない。 または I が I " +"と同一である。 または要求された操作 I がこのインターフェースでサポートさ" +"れていない。" #. type: TP -#: build/C/man2/epoll_ctl.2:194 +#: build/C/man2/epoll_ctl.2:222 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/epoll_ctl.2:204 +#: build/C/man2/epoll_ctl.2:232 msgid "" "I was B or B, and I is not registered " "with this epoll instance." @@ -1628,49 +1708,53 @@ msgstr "" "epoll インスタンスに登録されていない。" #. type: Plain text -#: build/C/man2/epoll_ctl.2:209 +#: build/C/man2/epoll_ctl.2:237 msgid "" "There was insufficient memory to handle the requested I control " "operation." -msgstr "要求された I 制御操作を扱うのに十分なメモリがない。" +msgstr "要求された I 制御操作を扱うのに十分なメモリーがない。" #. type: TP -#: build/C/man2/epoll_ctl.2:209 +#: build/C/man2/epoll_ctl.2:237 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/epoll_ctl.2:219 +#: build/C/man2/epoll_ctl.2:247 msgid "" "The limit imposed by I was encountered " "while trying to register (B) a new file descriptor on an " "epoll instance. See B(7) for further details." msgstr "" -"epoll インスタンスに新しいファイルディスクリプタを登録 (B) し" -"ようとした際に、 I で決まる上限に達し" +"epoll インスタンスに新しいファイルディスクリプターを登録 (B) " +"しようとした際に、 I で決まる上限に達し" "た。 詳細は B(7) を参照。" #. type: TP -#: build/C/man2/epoll_ctl.2:219 +#: build/C/man2/epoll_ctl.2:247 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/epoll_ctl.2:225 -msgid "The target file I does not support B." -msgstr "対象ファイル I が B をサポートしていない。" +#: build/C/man2/epoll_ctl.2:256 +msgid "" +"The target file I does not support B. This error can occur if " +"I refers to, for example, a regular file or a directory." +msgstr "" +"対象ファイル I が B に対応していない。 このエラーは I が例えば" +"通常ファイルやディレクトリを参照している場合にも起こり得る。" #. To be precise: kernel 2.5.44. #. The interface should be finalized by Linux kernel 2.5.66. #. type: Plain text -#: build/C/man2/epoll_ctl.2:230 +#: build/C/man2/epoll_ctl.2:261 msgid "B() was added to the kernel in version 2.6." msgstr "B() はカーネル 2.6 で追加された。" #. type: Plain text -#: build/C/man2/epoll_ctl.2:234 +#: build/C/man2/epoll_ctl.2:265 msgid "" "B() is Linux-specific. Library support is provided in glibc " "starting with version 2.3.2." @@ -1679,37 +1763,64 @@ msgstr "" "ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。" #. type: Plain text -#: build/C/man2/epoll_ctl.2:239 +#: build/C/man2/epoll_ctl.2:270 msgid "" "The B interface supports all file descriptors that support B(2)." msgstr "" -"B インタフェースは、 B(2) に対応している全てのファイルディスク" -"リプタに対応している。" +"B インターフェースは、 B(2) に対応している全てのファイルディス" +"クリプターに対応している。" #. type: SH -#: build/C/man2/epoll_ctl.2:239 build/C/man2/epoll_wait.2:207 -#: build/C/man2/poll.2:362 +#: build/C/man2/epoll_ctl.2:270 build/C/man2/epoll_wait.2:217 +#: build/C/man2/poll.2:393 #, no-wrap msgid "BUGS" msgstr "バグ" #. type: Plain text -#: build/C/man2/epoll_ctl.2:253 +#: build/C/man2/epoll_ctl.2:284 msgid "" "In kernel versions before 2.6.9, the B operation required a " -"non-NULL pointer in I, even though this argument is ignored. Since " +"non-null pointer in I, even though this argument is ignored. Since " "Linux 2.6.9, I can be specified as NULL when using B. " "Applications that need to be portable to kernels before 2.6.9 should specify " -"a non-NULL pointer in I." +"a non-null pointer in I." msgstr "" "Linux 2.6.9 より前では、 B 操作の際、引き数 I に (たと" -"え無視される場合であっても) NULL でないポインタを渡す必要があった。 カーネル " -"2.6.9 以降では、 B を使う際に I に NULL を指定できるよ" -"うになっている。 2.6.9 より前のカーネルへの移植性が必要なアプリケーションで" -"は、 I に NULL でないポインタを指定すべきである。" - -#. type: Plain text -#: build/C/man2/epoll_ctl.2:258 +"え無視される場合であっても) NULL でないポインターを渡す必要があった。 カーネ" +"ル 2.6.9 以降では、 B を使う際に I に NULL を指定できる" +"ようになっている。 2.6.9 より前のカーネルへの移植性が必要なアプリケーションで" +"は、 I に NULL でないポインターを指定すべきである。" + +#. commit a8159414d7e3af7233e7a5a82d1c5d85379bd75c (behavior change) +#. https://lwn.net/Articles/520198/ +#. type: Plain text +#: build/C/man2/epoll_ctl.2:311 +msgid "" +"If B is specified in I, but the caller does not have the " +"B capability, then the B flag is I. This unfortunate behavior is necessary because no validity checks " +"were performed on the I argument in the original implementation, and " +"the addition of the B with a check that caused the call to fail " +"if the caller did not have the B capability caused a " +"breakage in at least one existing user-space application that happened to " +"randomly (and uselessly) specify this bit. A robust application should " +"therefore double check that it has the B capability if " +"attempting to use the B flag." +msgstr "" +"I に B が指定されたが、呼び出し元が B " +"ケーパビリティを持っていない場合、 B フラグは I<黙って無視される" +">。 元の実装では I 引き数に対する正当性チェックが実行されていないた" +"め、 この残念な動作は必要である。 また、 呼び出し元が B " +"ケーパビリティを持っていなかった場合に呼び出しを失敗させるようにチェックを " +"B に追加すると、 少なくともひとつは動かなくなる既存のユーザー空" +"間アプリケーションがあった。 そのアプリケーションはたまたま (しかも意味もな" +"く) このビットを指定していた。 したがって、信頼性が求められるアプリケーション" +"では、 B フラグを使おうする場合には B ケーパ" +"ビリティを持っているかも確認するようにすべきである。" + +#. type: Plain text +#: build/C/man2/epoll_ctl.2:316 msgid "B(2), B(2), B(2), B(7)" msgstr "B(2), B(2), B(2), B(7)" @@ -1722,15 +1833,15 @@ msgstr "EPOLL_WAIT" #. type: TH #: build/C/man2/epoll_wait.2:22 #, no-wrap -msgid "2012-08-17" -msgstr "2012-08-17" +msgid "2014-08-19" +msgstr "2014-08-19" #. type: Plain text #: build/C/man2/epoll_wait.2:25 msgid "" "epoll_wait, epoll_pwait - wait for an I/O event on an epoll file descriptor" msgstr "" -"epoll_wait, epoll_pwait - epoll ファイルディスクリプタの I/O イベントを待つ" +"epoll_wait, epoll_pwait - epoll ファイルディスクリプターの I/O イベントを待つ" #. type: Plain text #: build/C/man2/epoll_wait.2:34 @@ -1757,40 +1868,61 @@ msgid "" "the caller. Up to I are returned by B(). The " "I argument must be greater than zero." msgstr "" -"B() システムコールは、ファイルディスクリプタ I で参照され" +"B() システムコールは、ファイルディスクリプター I で参照され" "る\n" -"B(7) インスタンスに対するイベントを待つ。 I が指すメモリ領域に" -"は、\n" +"B(7) インスタンスに対するイベントを待つ。 I が指すメモリー領域" +"には、\n" "呼び出し側が利用可能なイベントが格納される。最大 I 個のイベント" "が\n" "B() によって返される。\n" "I 引き数は 0 より大きくなければならない。" #. type: Plain text -#: build/C/man2/epoll_wait.2:70 +#: build/C/man2/epoll_wait.2:59 msgid "" -"The I argument specifies the minimum number of milliseconds that " -"B() will block. (This interval will be rounded up to the " -"system clock granularity, and kernel scheduling delays mean that the " -"blocking interval may overrun by a small amount.) Specifying a I " -"of -1 causes B() to block indefinitely, while specifying a " -"I equal to zero cause B() to return immediately, even " -"if no events are available." +"The I argument specifies the number of milliseconds that " +"B() will block. The call will block until either:" msgstr "" -"I 引き数は、 B() が停止する最小時間をミリ秒で指定\n" -"する (この停止時間はシステムクロックの粒度に切り上げられ、カーネルの\n" -"スケジューリング遅延により少しだけ長くなる可能性がある)。 \n" -"I を -1 に指定すると、 B() は無限に停止する。 \n" -"I を 0 に指定すると、 B() は利用可能なイベントが\n" -"なくても、すぐに返る。" +"I 引き数は B() が停止する時間をミリ秒で指定する。 " +"B() の呼び出しは以下のいずれかになるまで停止する。" + +#. type: Plain text +#: build/C/man2/epoll_wait.2:61 +msgid "a file descriptor delivers an event;" +msgstr "ファイルディスクリプターがイベントを配送した" #. type: Plain text -#: build/C/man2/epoll_wait.2:74 -msgid "The I is defined as :" -msgstr "I は以下のように定義される:" +#: build/C/man2/epoll_wait.2:63 build/C/man2/poll.2:138 +msgid "the call is interrupted by a signal handler; or" +msgstr "呼び出しがシグナルハンドラーにより割り込まれた" #. type: Plain text -#: build/C/man2/epoll_wait.2:83 +#: build/C/man2/epoll_wait.2:65 build/C/man2/poll.2:140 +msgid "the timeout expires." +msgstr "タイムアウトが満了する" + +#. type: Plain text +#: build/C/man2/epoll_wait.2:80 +msgid "" +"Note that the I interval will be rounded up to the system clock " +"granularity, and kernel scheduling delays mean that the blocking interval " +"may overrun by a small amount. Specifying a I of -1 causes " +"B() to block indefinitely, while specifying a I equal " +"to zero cause B() to return immediately, even if no events are " +"available." +msgstr "" +"I 時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリ" +"ング遅延により少しだけ長くなる可能性がある点に注意すること。 I を " +"-1 に指定すると、 B() は無限に停止する。 I を 0 に指定す" +"ると、 B() は利用可能なイベントがなくても、すぐに返る。" + +#. type: Plain text +#: build/C/man2/epoll_wait.2:84 +msgid "The I is defined as:" +msgstr "I は以下のように定義される。" + +#. type: Plain text +#: build/C/man2/epoll_wait.2:93 #, no-wrap msgid "" "typedef union epoll_data {\n" @@ -1808,7 +1940,7 @@ msgstr "" "} epoll_data_t;\n" #. type: Plain text -#: build/C/man2/epoll_wait.2:88 +#: build/C/man2/epoll_wait.2:98 #, no-wrap msgid "" "struct epoll_event {\n" @@ -1818,64 +1950,64 @@ msgid "" msgstr "" "struct epoll_event {\n" " uint32_t events; /* epoll イベント */\n" -" epoll_data_t data; /* ユーザデータ変数 */\n" +" epoll_data_t data; /* ユーザーデータ変数 */\n" "};\n" #. type: Plain text -#: build/C/man2/epoll_wait.2:99 +#: build/C/man2/epoll_wait.2:109 msgid "" "The I of each returned structure will contain the same data the user " -"set with an B(2) (B,B) while the " +"set with an B(2) (B, B) while the " "I member will contain the returned event bit field." msgstr "" -"返される構造体の I メンバには、ユーザが B(2) " +"返される構造体の I メンバには、ユーザーが B(2) " "(B, B) で指定したデータが格納される。 一方、 " "I メンバには返された利用可能なイベントのビットフィールドが格納され" "る。" #. type: SS -#: build/C/man2/epoll_wait.2:99 +#: build/C/man2/epoll_wait.2:109 #, no-wrap msgid "epoll_pwait()" msgstr "epoll_pwait()" #. type: Plain text -#: build/C/man2/epoll_wait.2:113 +#: build/C/man2/epoll_wait.2:123 msgid "" "The relationship between B() and B() is analogous " -"to the relationship between B(2) and B(2): like " +"B(2), B() allows an application to safely wait until " +"either a file descriptor becomes ready or until a signal is caught." msgstr "" -"B() と B() の関係は、 B(2) と " +"B(2) の関係と同様である。 B(2) 同様、 B() " +"を使うと、アプリケーションは、ファイルディスクリプターが準備できた状態になる" +"か、 シグナルが捕捉されるまで、安全に待つことができる。" #. type: Plain text -#: build/C/man2/epoll_wait.2:117 +#: build/C/man2/epoll_wait.2:127 msgid "The following B() call:" msgstr "以下の B() の呼び出しは、" #. type: Plain text -#: build/C/man2/epoll_wait.2:120 +#: build/C/man2/epoll_wait.2:130 #, no-wrap msgid " ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask);\n" msgstr " ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask);\n" #. type: Plain text -#: build/C/man2/epoll_wait.2:125 build/C/man2/poll.2:232 +#: build/C/man2/epoll_wait.2:135 build/C/man2/poll.2:250 msgid "is equivalent to I executing the following calls:" msgstr "次の呼び出しを I に実行するのと等価である。" #. type: Plain text -#: build/C/man2/epoll_wait.2:128 +#: build/C/man2/epoll_wait.2:138 #, no-wrap msgid " sigset_t origmask;\n" msgstr " sigset_t origmask;\n" #. type: Plain text -#: build/C/man2/epoll_wait.2:132 +#: build/C/man2/epoll_wait.2:142 #, no-wrap msgid "" " sigprocmask(SIG_SETMASK, &sigmask, &origmask);\n" @@ -1887,16 +2019,16 @@ msgstr "" " sigprocmask(SIG_SETMASK, &origmask, NULL);\n" #. type: Plain text -#: build/C/man2/epoll_wait.2:140 +#: build/C/man2/epoll_wait.2:150 msgid "" "The I argument may be specified as NULL, in which case " "B() is equivalent to B()." msgstr "" -"I 引き数には NULL を指定してもよい。 その場合には、 B" -"() は B() と等価となる。" +"I 引き数には NULL を指定してもよい。 その場合には、 " +"B() は B() と等価となる。" #. type: Plain text -#: build/C/man2/epoll_wait.2:152 +#: build/C/man2/epoll_wait.2:162 msgid "" "When successful, B() returns the number of file descriptors " "ready for the requested I/O, or zero if no file descriptor became ready " @@ -1904,57 +2036,57 @@ msgid "" "B() returns -1 and I is set appropriately." msgstr "" "成功した場合、 B() は要求された I/O に対して準備ができているファ" -"イルディスクリプタの数を返す。 また要求された I ミリ秒の間にファイル" -"ディスクリプタが準備できない場合は、0 を返す。 エラーが起こった場合、 " +"イルディスクリプターの数を返す。 また要求された I ミリ秒の間にファイ" +"ルディスクリプターが準備できない場合は、0 を返す。 エラーが起こった場合、 " "B() は -1 を返し、 I を適切に設定する。" #. type: Plain text -#: build/C/man2/epoll_wait.2:157 +#: build/C/man2/epoll_wait.2:167 msgid "I is not a valid file descriptor." -msgstr "I が有効なファイルディスクリプタでない。" +msgstr "I が有効なファイルディスクリプターでない。" #. type: TP -#: build/C/man2/epoll_wait.2:157 build/C/man2/poll.2:294 +#: build/C/man2/epoll_wait.2:167 build/C/man2/poll.2:312 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/epoll_wait.2:162 +#: build/C/man2/epoll_wait.2:172 msgid "" "The memory area pointed to by I is not accessible with write " "permissions." -msgstr "I で指されるメモリ領域に書き込み権限でアクセスできない。" +msgstr "I で指されるメモリー領域に書き込み権限でアクセスできない。" #. type: TP -#: build/C/man2/epoll_wait.2:162 build/C/man2/poll.2:298 +#: build/C/man2/epoll_wait.2:172 build/C/man2/poll.2:316 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/epoll_wait.2:169 +#: build/C/man2/epoll_wait.2:179 msgid "" -"The call was interrupted by a signal handler before either any of the " -"requested events occurred or the I expired; see B(7)." +"The call was interrupted by a signal handler before either (1) any of the " +"requested events occurred or (2) the I expired; see B(7)." msgstr "" -"要求されたどのイベントも発生せず、かつ I の期限が切れる前に、\n" -"システムコールがシグナルハンドラによって割り込まれた。 \n" -"B(7) 参照。" +"(1) 要求されたどのイベントも発生せず、かつ (2) I の期限が切れる前" +"に、システムコールがシグナルハンドラーによって割り込まれた。 B(7) 参" +"照。" #. type: Plain text -#: build/C/man2/epoll_wait.2:177 +#: build/C/man2/epoll_wait.2:187 msgid "" "I is not an B file descriptor, or I is less than or " "equal to zero." msgstr "" -"I が B ファイルディスクリプタでない。 または I が 0 " -"以下である。" +"I が B ファイルディスクリプターでない。 または I が " +"0 以下である。" #. To be precise: kernel 2.5.44. #. The interface should be finalized by Linux kernel 2.5.66. #. type: Plain text -#: build/C/man2/epoll_wait.2:183 +#: build/C/man2/epoll_wait.2:193 msgid "" "B() was added to the kernel in version 2.6. Library support is " "provided in glibc starting with version 2.3.2." @@ -1963,7 +2095,7 @@ msgstr "" "ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。" #. type: Plain text -#: build/C/man2/epoll_wait.2:187 +#: build/C/man2/epoll_wait.2:197 msgid "" "B() was added to Linux in kernel 2.6.19. Library support is " "provided in glibc starting with version 2.6." @@ -1972,12 +2104,12 @@ msgstr "" "ライブラリによるサポートは glibc バージョン 2.6 以降で提供されている。" #. type: Plain text -#: build/C/man2/epoll_wait.2:190 +#: build/C/man2/epoll_wait.2:200 msgid "B() is Linux-specific." msgstr "B() は Linux 独自である。" #. type: Plain text -#: build/C/man2/epoll_wait.2:200 +#: build/C/man2/epoll_wait.2:210 msgid "" "While one thread is blocked in a call to B(), it is possible " "for another thread to add a file descriptor to the waited-upon B " @@ -1985,23 +2117,23 @@ msgid "" "B() call to unblock." msgstr "" "あるスレッドが B() を呼び出して停止されている間に、\n" -"別のスレッドが wait 中の B インストールにファイルディスクリプタを\n" -"追加することがある。新しいファイルディスクリプタでイベントが発生すると、\n" +"別のスレッドが wait 中の B インストールにファイルディスクリプターを\n" +"追加することがある。新しいファイルディスクリプターでイベントが発生すると、\n" "B() の呼び出しによる停止が解除されることになる。" #. type: Plain text -#: build/C/man2/epoll_wait.2:207 +#: build/C/man2/epoll_wait.2:217 msgid "" "For a discussion of what may happen if a file descriptor in an B " "instance being monitored by B() is closed in another thread, " "see B(2) を参照してほしい。" #. type: Plain text -#: build/C/man2/epoll_wait.2:219 +#: build/C/man2/epoll_wait.2:229 msgid "" "In kernels before 2.6.37, a I value larger than approximately " "I milliseconds is treated as -1 (i.e., infinity). Thus, for " @@ -2014,8 +2146,27 @@ msgstr "" "I が 4 で、カーネルの I の値が 1000 のシステムでは、 35.79 " "分よりも大きなタイムアウトは無限大として扱われるということである。" +#. type: SS +#: build/C/man2/epoll_wait.2:229 build/C/man2/poll.2:366 +#, no-wrap +msgid "C library/kernel ABI differences" +msgstr "C ライブラリとカーネル ABI の違い" + #. type: Plain text -#: build/C/man2/epoll_wait.2:223 +#: build/C/man2/epoll_wait.2:242 +msgid "" +"The raw B() system call has a sixth argument, I, which specifies the size in bytes of the I argument. " +"The glibc B() wrapper function specifies this argument as a " +"fixed value (equal to I)." +msgstr "" +"素の B() システムコールは 6 番目の引き数 I を" +"取る。 この引き数は I 引き数のバイト単位のサイズを指定する。 glibc " +"の B() ラッパー関数は、この引き数に固定値 (I " +"と同じ) を指定する。" + +#. type: Plain text +#: build/C/man2/epoll_wait.2:246 msgid "B(2), B(2), B(7)" msgstr "B(2), B(2), B(7)" @@ -2028,13 +2179,13 @@ msgstr "POLL" #. type: TH #: build/C/man2/poll.2:31 #, no-wrap -msgid "2013-07-30" -msgstr "2013-07-30" +msgid "2014-09-06" +msgstr "2014-09-06" #. type: Plain text #: build/C/man2/poll.2:34 msgid "poll, ppoll - wait for some event on a file descriptor" -msgstr "poll, ppoll - ファイルディスクリプタにおけるイベントを待つ" +msgstr "poll, ppoll - ファイルディスクリプターにおけるイベントを待つ" #. type: Plain text #: build/C/man2/poll.2:37 @@ -2049,17 +2200,19 @@ msgid "BIB<, nfds_t >IB<, int >IB< msgstr "BIB<, nfds_t >IB<, int >IB<);>\n" #. type: Plain text -#: build/C/man2/poll.2:42 +#: build/C/man2/poll.2:43 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" +"B<#include Esignal.hE>\n" "B<#include Epoll.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n" +"B<#include Esignal.hE>\n" "B<#include Epoll.hE>\n" #. type: Plain text -#: build/C/man2/poll.2:45 +#: build/C/man2/poll.2:46 #, no-wrap msgid "" "BIB<, nfds_t >IB<, >\n" @@ -2069,25 +2222,25 @@ msgstr "" "B< const struct timespec *>IB<, const sigset_t *>IB<);>\n" #. type: Plain text -#: build/C/man2/poll.2:52 +#: build/C/man2/poll.2:53 msgid "" "B() performs a similar task to B(2) と同様の仕事を行う、つまり、ファイルディスクリプ" -"タ集合のいずれか一つが I/O を実行可能な状態になるのを待つ。" +"ター集合のいずれか一つが I/O を実行可能な状態になるのを待つ。" #. type: Plain text -#: build/C/man2/poll.2:56 +#: build/C/man2/poll.2:57 msgid "" "The set of file descriptors to be monitored is specified in the I " "argument, which is an array of structures of the following form:" msgstr "" -"監視するファイルディスクリプタ集合は、 I 引き数で指定する。 I は、" -"以下の型の構造体の配列である。" +"監視するファイルディスクリプター集合は、 I 引き数で指定する。 I " +"は、以下の型の構造体の配列である。" #. type: Plain text -#: build/C/man2/poll.2:64 +#: build/C/man2/poll.2:65 #, no-wrap msgid "" "struct pollfd {\n" @@ -2103,43 +2256,43 @@ msgstr "" "};\n" #. type: Plain text -#: build/C/man2/poll.2:71 +#: build/C/man2/poll.2:72 msgid "" "The caller should specify the number of items in the I array in I." msgstr "I には、 I 配列の要素数を指定する。" #. type: Plain text -#: build/C/man2/poll.2:86 +#: build/C/man2/poll.2:88 msgid "" "The field I contains a file descriptor for an open file. If this field " "is negative, then the corresponding I field is ignored and the " "I field returns zero. (This provides an easy way of ignoring a " -"file descriptor for a single B() call: simply negate the I field.)" +"file descriptor for a single B() call: simply negate the I " +"field. Note, however, that this technique can't be used to ignore file " +"descriptor 0.)" msgstr "" -"I フィールドには、オープンされたファイルのファイルディスクリプタが入" -"る。\n" -"このフィールドが負の場合、対応する I フィールドは無視され、\n" -"I には 0 が返される。(この機能により、一つの B() の呼び出し" -"で\n" -"簡単にあるファイルディスクリプタを無視することができる。\n" -"単に I フィールドの符号を反転するだけでよい。)" +"I フィールドには、オープンされたファイルのファイルディスクリプターが入" +"る。 このフィールドが負の場合、対応する I フィールドは無視され、 " +"I には 0 が返される。(この機能により、一つの B() の呼び出しで" +"簡単にあるファイルディスクリプターを無視することができる。 単に I フィー" +"ルドの符号を反転するだけでよい。 ただし、この方法はファイルディスクリプター " +"0 を無視するのには使用できない点に注意すること。)" #. type: Plain text -#: build/C/man2/poll.2:98 +#: build/C/man2/poll.2:103 msgid "" "The field I is an input parameter, a bit mask specifying the events " -"the application is interested in for the file descriptor I. If this " -"field is specified as zero, then all events are ignored for I and " -"I returns zero." +"the application is interested in for the file descriptor I. This field " +"may be specified as zero, in which case the only events that can be returned " +"in I are B, B, and B (see below)." msgstr "" -"構造体の I 要素は入力パラメータで、\n" -"ファイルディスクリプタ I に関して、\n" -"アプリケーションが興味を持っているイベントのビットマスクを指定する。\n" -"このフィールドに 0 が指定された場合は、I の全てのイベントが無視され、\n" -"I には 0 が返される。" +"構造体の I 要素は入力パラメーターで、 ファイルディスクリプター I " +"に関して、 アプリケーションが興味を持っているイベントのビットマスクを指定す" +"る。 このフィールドには 0 を指定することもでき、 その場合 I で返され" +"るイベントは B, B, B だけである (下記参照)。" #. type: Plain text -#: build/C/man2/poll.2:117 +#: build/C/man2/poll.2:122 msgid "" "The field I is an output parameter, filled by the kernel with the " "events that actually occurred. The bits returned in I can include " @@ -2148,42 +2301,55 @@ msgid "" "I field, and will be set in the I field whenever the " "corresponding condition is true.)" msgstr "" -"I 要素は出力パラメータで、実際に起こったイベントがカーネルにより設定" -"される。 I で返されるビット列には、 I で指定したもののどれ" +"I 要素は出力パラメーターで、実際に起こったイベントがカーネルにより設" +"定される。 I で返されるビット列には、 I で指定したもののどれ" "か、もしくは B, B, B のうちの一つが含まれる " "(B, B, B の 3つのビットは I に指定しても" "意味がなく、対応した状態が真の場合に I に設定される)。" #. type: Plain text -#: build/C/man2/poll.2:122 +#: build/C/man2/poll.2:127 msgid "" "If none of the events requested (and no error) has occurred for any of the " "file descriptors, then B() blocks until one of the events occurs." msgstr "" -"どのファイルディスクリプタにも要求したイベントが発生しておらず、 エラーも起こ" -"らない場合、 B() はイベントのうちいずれか一つが発生するまで停止 " +"どのファイルディスクリプターにも要求したイベントが発生しておらず、 エラーも起" +"こらない場合、 B() はイベントのうちいずれか一つが発生するまで停止 " "(block) する。" #. type: Plain text -#: build/C/man2/poll.2:139 +#: build/C/man2/poll.2:134 msgid "" -"The I argument specifies the minimum number of milliseconds that " -"B() will block. (This interval will be rounded up to the system " -"clock granularity, and kernel scheduling delays mean that the blocking " -"interval may overrun by a small amount.) Specifying a negative value in " -"I means an infinite timeout. Specifying a I of zero " -"causes B() to return immediately, even if no file descriptors are " -"ready." +"The I argument specifies the number of milliseconds that B() " +"should block waiting for a file descriptor to become ready. The call will " +"block until either:" msgstr "" -"I 引き数は、 B() が停止する最小時間をミリ秒で指定する\n" -"(この停止時間はシステムクロックの粒度に切り上げられ、カーネルの\n" -"スケジューリング遅延により少しだけ長くなる可能性がある)。\n" -"I に負の値を指定した場合、タイムアウト時間が無限大を意味する。\n" -"I を 0 に指定した場合、I/O 可能なファイルディスクリプタが\n" -"ない場合であっても、 B() はすぐに返る。" +"I 引き数は、 ファイルディスクリプターが利用可能になるまで B() " +"が停止する時間をミリ秒で指定する。 B() の呼び出しは以下のいずれかになる" +"まで停止する。" + +#. type: Plain text +#: build/C/man2/poll.2:136 +msgid "a file descriptor becomes ready;" +msgstr "ファイルディスクリプターが利用可能になる" #. type: Plain text -#: build/C/man2/poll.2:145 +#: build/C/man2/poll.2:154 +msgid "" +"Note that the I interval will be rounded up to the system clock " +"granularity, and kernel scheduling delays mean that the blocking interval " +"may overrun by a small amount. Specifying a negative value in I " +"means an infinite timeout. Specifying a I of zero causes " +"B() to return immediately, even if no file descriptors are ready." +msgstr "" +"I 時間はシステムクロックの粒度に切り上げられ、 カーネルのスケジュー" +"リング遅延により少しだけ長くなる可能性がある点に注意すること。 I に" +"負の値を指定した場合、タイムアウト時間が無限大を意味する。 I を 0 に" +"指定した場合、I/O 可能なファイルディスクリプターがない場合であっても、 " +"B() はすぐに返る。" + +#. type: Plain text +#: build/C/man2/poll.2:160 msgid "" "The bits that may be set/returned in I and I are defined in " "Ipoll.hE>:" @@ -2192,24 +2358,24 @@ msgstr "" "定義されている:" #. type: TP -#: build/C/man2/poll.2:146 +#: build/C/man2/poll.2:161 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:149 +#: build/C/man2/poll.2:164 msgid "There is data to read." msgstr "読み出し可能なデータがある。" #. type: TP -#: build/C/man2/poll.2:149 +#: build/C/man2/poll.2:164 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:153 +#: build/C/man2/poll.2:168 msgid "" "There is urgent data to read (e.g., out-of-band data on TCP socket; " "pseudoterminal master in packet mode has seen state change in slave)." @@ -2219,69 +2385,74 @@ msgstr "" "がスレーブ側の変化を見つけたとき)。" #. type: TP -#: build/C/man2/poll.2:153 +#: build/C/man2/poll.2:168 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:156 -msgid "Writing now will not block." -msgstr "書き込みが停止 (block) しない状態である。" +#: build/C/man2/poll.2:174 +msgid "" +"Writing is now possible, though a write larger that the available space in a " +"socket or pipe will still block (unless B is set)." +msgstr "" +"書き込みが可能になった。ただし、ソケットやパイプで利用可能な空間よりも大きな" +"データを書き込んだ場合には (B がセットされている場合以外は) やは" +"り停止することになる。" #. type: TP -#: build/C/man2/poll.2:156 +#: build/C/man2/poll.2:174 #, no-wrap msgid "B (since Linux 2.6.17)" msgstr "B (Linux 2.6.17 以降)" #. type: Plain text -#: build/C/man2/poll.2:167 +#: build/C/man2/poll.2:185 msgid "" "Stream socket peer closed connection, or shut down writing half of " "connection. The B<_GNU_SOURCE> feature test macro must be defined (before " "including I header files) in order to obtain this definition." msgstr "" "ストリームソケットの他端が、コネクションを close したか、 コネクションの書き" -"込み側を shutdown した。 この定義を有効にするには、 (「どの」ヘッダファイルを" -"インクルードするよりも前に) B<_GNU_SOURCE> 機能検査マクロを定義しなければな" -"らない。" +"込み側を shutdown した。 この定義を有効にするには、 (「どの」ヘッダーファイル" +"をインクルードするよりも前に) B<_GNU_SOURCE> 機能検査マクロを定義しなければ" +"ならない。" #. type: TP -#: build/C/man2/poll.2:167 +#: build/C/man2/poll.2:185 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:170 +#: build/C/man2/poll.2:188 msgid "Error condition (output only)." msgstr "エラー状態 (出力の場合のみ)。" #. type: TP -#: build/C/man2/poll.2:170 +#: build/C/man2/poll.2:188 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:173 +#: build/C/man2/poll.2:191 msgid "Hang up (output only)." msgstr "ハングアップした (出力の場合のみ)。" #. type: TP -#: build/C/man2/poll.2:173 +#: build/C/man2/poll.2:191 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:178 +#: build/C/man2/poll.2:196 msgid "Invalid request: I not open (output only)." msgstr "不正な要求: I がオープンされていない (出力の場合のみ)。" #. type: Plain text -#: build/C/man2/poll.2:184 +#: build/C/man2/poll.2:202 msgid "" "When compiling with B<_XOPEN_SOURCE> defined, one also has the following, " "which convey no further information beyond the bits listed above:" @@ -2290,65 +2461,65 @@ msgstr "" "だし、上記のリストにあるビット以上の情報が得られる訳ではない。" #. type: TP -#: build/C/man2/poll.2:185 +#: build/C/man2/poll.2:203 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:189 +#: build/C/man2/poll.2:207 msgid "Equivalent to B." msgstr "B と同じ。" #. type: TP -#: build/C/man2/poll.2:189 +#: build/C/man2/poll.2:207 #, no-wrap msgid "B" msgstr "B" #. POLLRDBAND is used in the DECnet protocol. #. type: Plain text -#: build/C/man2/poll.2:193 +#: build/C/man2/poll.2:211 msgid "Priority band data can be read (generally unused on Linux)." msgstr "" "優先帯域データ (priority band data) が読み出し可能である (普通は Linux では使" "用されない)。" #. type: TP -#: build/C/man2/poll.2:193 +#: build/C/man2/poll.2:211 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:197 +#: build/C/man2/poll.2:215 msgid "Equivalent to B." msgstr "B と同じ。" #. type: TP -#: build/C/man2/poll.2:197 +#: build/C/man2/poll.2:215 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/poll.2:200 +#: build/C/man2/poll.2:218 msgid "Priority data may be written." msgstr "優先帯域データ (priority data) が書き込み可能である。" #. type: Plain text -#: build/C/man2/poll.2:204 +#: build/C/man2/poll.2:222 msgid "Linux also knows about, but does not use B." msgstr "Linux では B も定義されているが、使用されていない。" #. type: SS -#: build/C/man2/poll.2:204 +#: build/C/man2/poll.2:222 #, no-wrap msgid "ppoll()" msgstr "ppoll()" #. type: Plain text -#: build/C/man2/poll.2:218 +#: build/C/man2/poll.2:236 msgid "" "The relationship between B() and B() is analogous to the " "relationship between B(2) と B(2) の関係と同" "じようなものである: B(2) と同様に、 B() を使うと、アプリ" -"ケーションはファイルディスクリプタの状態変化 もしくはシグナルの捕捉を安全に待" -"つことができる。" +"ケーションはファイルディスクリプターの状態変化 もしくはシグナルの捕捉を安全に" +"待つことができる。" #. type: Plain text -#: build/C/man2/poll.2:224 +#: build/C/man2/poll.2:242 msgid "" "Other than the difference in the precision of the I argument, the " "following B() call:" @@ -2369,13 +2540,13 @@ msgstr "" "I 引き数の精度の違いを除くと、以下の B() の呼び出しは、" #. type: Plain text -#: build/C/man2/poll.2:227 +#: build/C/man2/poll.2:245 #, no-wrap msgid " ready = ppoll(&fds, nfds, timeout_ts, &sigmask);\n" msgstr " ready = ppoll(&fds, nfds, timeout_ts, &sigmask);\n" #. type: Plain text -#: build/C/man2/poll.2:236 +#: build/C/man2/poll.2:254 #, no-wrap msgid "" " sigset_t origmask;\n" @@ -2385,7 +2556,7 @@ msgstr "" " int timeout;\n" #. type: Plain text -#: build/C/man2/poll.2:242 +#: build/C/man2/poll.2:260 #, no-wrap msgid "" " timeout = (timeout_ts == NULL) ? -1 :\n" @@ -2401,7 +2572,7 @@ msgstr "" " sigprocmask(SIG_SETMASK, &origmask, NULL);\n" #. type: Plain text -#: build/C/man2/poll.2:249 +#: build/C/man2/poll.2:267 msgid "" "See the description of B(2) for an explanation of why B() " "is necessary." @@ -2410,7 +2581,7 @@ msgstr "" "と。" #. type: Plain text -#: build/C/man2/poll.2:261 +#: build/C/man2/poll.2:279 msgid "" "If the I argument is specified as NULL, then no signal mask " "manipulation is performed (and thus B() differs from B() only " @@ -2421,17 +2592,17 @@ msgstr "" "けとなる)。" #. type: Plain text -#: build/C/man2/poll.2:268 +#: build/C/man2/poll.2:286 msgid "" "The I argument specifies an upper limit on the amount of time " "that B() will block. This argument is a pointer to a structure of " "the following form:" msgstr "" "I 引き数は B() が停止する時間の上限を指定するものである。 こ" -"の引き数には以下の型の構造体へのポインタを指定する。" +"の引き数には以下の型の構造体へのポインターを指定する。" #. type: Plain text -#: build/C/man2/poll.2:275 +#: build/C/man2/poll.2:293 #, no-wrap msgid "" "struct timespec {\n" @@ -2445,7 +2616,7 @@ msgstr "" "};\n" #. type: Plain text -#: build/C/man2/poll.2:283 +#: build/C/man2/poll.2:301 msgid "" "If I is specified as NULL, then B() can block " "indefinitely." @@ -2454,7 +2625,7 @@ msgstr "" "得る。" #. type: Plain text -#: build/C/man2/poll.2:293 +#: build/C/man2/poll.2:311 msgid "" "On success, a positive number is returned; this is the number of structures " "which have nonzero I fields (in other words, those descriptors with " @@ -2463,13 +2634,13 @@ msgid "" "is set appropriately." msgstr "" "成功した場合は正の数を返す。この数は 0 以外の I 要素を持つ構造体の数" -"である (別の言い方をすると、これらのディスクリプタ にはイベントかエラー報告が" -"ある)。 値 0 は、タイムアウトとなり、どのファイルディスクリプタでもイベント" -"が 発生しなかったことを示す。エラーの場合は -1 が返され、 I が適切に設" -"定される。" +"である (別の言い方をすると、これらのディスクリプター にはイベントかエラー報告" +"がある)。 値 0 は、タイムアウトとなり、どのファイルディスクリプターでもイベン" +"トが 発生しなかったことを示す。エラーの場合は -1 が返され、 I が適切に" +"設定される。" #. type: Plain text -#: build/C/man2/poll.2:298 +#: build/C/man2/poll.2:316 msgid "" "The array given as argument was not contained in the calling program's " "address space." @@ -2478,25 +2649,25 @@ msgstr "" "い。" #. type: Plain text -#: build/C/man2/poll.2:302 +#: build/C/man2/poll.2:320 msgid "A signal occurred before any requested event; see B(7)." msgstr "" "要求されたイベントのどれかが起こる前にシグナルが発生した。 B(7) 参" "照。" #. type: Plain text -#: build/C/man2/poll.2:309 +#: build/C/man2/poll.2:327 msgid "The I value exceeds the B value." msgstr "I の値が B を超えた。" #. type: Plain text -#: build/C/man2/poll.2:312 +#: build/C/man2/poll.2:330 msgid "There was no space to allocate file descriptor tables." -msgstr "ファイルディスクリプタ・テーブルを確保するためのメモリがない。" +msgstr "ファイルディスクリプターテーブルを確保するためのメモリーがない。" #. library call was introduced in libc 5.4.28 #. type: Plain text -#: build/C/man2/poll.2:322 +#: build/C/man2/poll.2:340 msgid "" "The B() system call was introduced in Linux 2.1.23. On older kernels " "that lack this system call, the glibc (and the old Linux libc) B() " @@ -2508,23 +2679,23 @@ msgstr "" "ラッパー関数のエミュレーションを行う。" #. type: Plain text -#: build/C/man2/poll.2:329 +#: build/C/man2/poll.2:347 msgid "" "The B() system call was added to Linux in kernel 2.6.16. The " "B() library call was added in glibc 2.4." msgstr "" -"B() システムコールは カーネル 2.6.16 で Linux に追加された。 B" -"() ライブラリコールは glibc 2.4 に追加された。" +"B() システムコールは カーネル 2.6.16 で Linux に追加された。 " +"B() ライブラリコールは glibc 2.4 に追加された。" #. NetBSD 3.0 has a pollts() which is like Linux ppoll(). #. type: Plain text -#: build/C/man2/poll.2:335 +#: build/C/man2/poll.2:353 msgid "B() conforms to POSIX.1-2001. B() is Linux-specific." msgstr "" "B() は POSIX.1-2001 に準拠している。 B() は Linux 固有である。" #. type: Plain text -#: build/C/man2/poll.2:343 +#: build/C/man2/poll.2:361 msgid "" "Some implementations define the nonstandard constant B with the " "value -1 for use as a I for B(). This constant is not " @@ -2535,22 +2706,16 @@ msgstr "" "いない。" #. type: Plain text -#: build/C/man2/poll.2:348 +#: build/C/man2/poll.2:366 msgid "" "For a discussion of what may happen if a file descriptor being monitored by " "B() is closed in another thread, see B(2) を参照してほしい。" - -#. type: SS -#: build/C/man2/poll.2:348 -#, no-wrap -msgid "Linux notes" -msgstr "Linux での注意" +"B() で監視中のファイルディスクリプターが別のスレッドによってクローズさ" +"れた場合に何が起こるかの議論については、 B(2)." @@ -2572,6 +2750,6 @@ msgstr "" "readiness notifications) についての議論を参照のこと。" #. type: Plain text -#: build/C/man2/poll.2:371 +#: build/C/man2/poll.2:402 msgid "B(2), B(2), B(2), B