msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-04-23 07:52+0900\n"
-"PO-Revision-Date: 2012-04-25 01:33+0900\n"
+"POT-Creation-Date: 2012-04-25 05:36+0900\n"
+"PO-Revision-Date: 2012-04-27 02:24+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
msgstr "EPOLL"
#. type: TH
-#: build/C/man7/epoll.7:21
+#: build/C/man7/epoll.7:21 build/C/man2/epoll_wait.2:23
#, no-wrap
-msgid "2009-02-01"
-msgstr "2009-02-01"
+msgid "2012-04-17"
+msgstr "2012-04-17"
#. type: TH
#: build/C/man7/epoll.7:21 build/C/man2/epoll_create.2:25
msgstr "説明"
#. type: Plain text
-#: build/C/man7/epoll.7:36
+#: build/C/man7/epoll.7:40
msgid ""
-"B<epoll> is a variant of B<poll>(2) that can be used either as an edge-"
-"triggered or a level-triggered interface and scales well to large numbers of "
-"watched file descriptors. The following system calls are provided to create "
-"and manage an B<epoll> instance:"
+"The B<epoll> API performs a similar task to B<poll>(2): monitoring multiple "
+"file descriptors to see if I/O is possible on any of them. The B<epoll> API "
+"can be used either as an edge-triggered or a level-triggered interface and "
+"scales well to large numbers of watched file descriptors. The following "
+"system calls are provided to create and manage an B<epoll> instance:"
msgstr ""
-"B<epoll> は B<poll>(2) の一種であり、エッジトリガインタフェースと レベルトリ"
-"ガインタフェースのどちらとしても使用することができ、 監視するファイルディスク"
-"リプタの数が多い場合にも使用できる。 B<epoll> インスタンスの作成や管理を行う"
-"ために 以下のシステムコールが提供されている:"
+"B<epoll> API は B<poll>(2) と同様の処理を行う、つまり、複数のファイルディスク\n"
+"リプタを監視し、その中のいずれかが入出力可能な状態であるかを確認する。\n"
+"B<epoll> API は、エッジトリガインタフェースとレベルトリガインタフェースの\n"
+"いずれとしても使用することができ、監視するファイルディスクリプタの数が多い\n"
+"場合にも使用できる。 B<epoll> インスタンスの作成や管理を行うために\n"
+"以下のシステムコールが提供されている:"
#. type: IP
-#: build/C/man7/epoll.7:36 build/C/man7/epoll.7:46 build/C/man7/epoll.7:54
+#: build/C/man7/epoll.7:40 build/C/man7/epoll.7:49 build/C/man7/epoll.7:57
#, no-wrap
msgid "*"
msgstr "*"
#. type: Plain text
-#: build/C/man7/epoll.7:46
+#: build/C/man7/epoll.7:49
msgid ""
-"An B<epoll> instance created by B<epoll_create>(2), which returns a file "
-"descriptor referring to the epoll instance. (The more recent "
-"B<epoll_create1>(2) extends the functionality of B<epoll_create>(2).)"
+"B<epoll_create>(2) creates an B<epoll> instance and returns a file "
+"descriptor referring to that instance. (The more recent B<epoll_create1>"
+"(2) extends the functionality of B<epoll_create>(2).)"
msgstr ""
-"B<epoll> インスタンスは B<epoll_create>(2) で作成される。 B<epoll_create>"
-"(2) は作成した epoll インスタンスを参照するファイルディスクリプタを返す。 "
-"(もっと新しい B<epoll_create1>(2) では、 B<epoll_create>(2) の機能が拡張さ"
-"れている)。"
+"B<epoll_create>(2) は B<epoll> インスタンスを作成し、そのインスタンスを参照する\n"
+"ファイルディスクリプタを返す。(もっと新しい B<epoll_create1>(2) では、\n"
+"B<epoll_create>(2) の機能が拡張されている)。"
#. type: Plain text
-#: build/C/man7/epoll.7:54
+#: build/C/man7/epoll.7:57
msgid ""
"Interest in particular file descriptors is then registered via B<epoll_ctl>"
"(2). The set of file descriptors currently registered on an B<epoll> "
"I<epoll> 集合と呼ばれることもある。"
#. type: Plain text
-#: build/C/man7/epoll.7:57
-msgid "Finally, the actual wait is started by B<epoll_wait>(2)."
-msgstr "最後に B<epoll_wait>(2) で実際のイベント待ちを開始する。"
+#: build/C/man7/epoll.7:61
+msgid ""
+"B<epoll_wait>(2) waits for I/O events, blocking the calling thread if no "
+"events are currently available."
+msgstr ""
+"B<epoll_wait>(2) は I/O イベントを待つ。\n"
+"現在利用可能な状態のイベントがなければ、呼び出したスレッドを停止する。"
#. type: SS
-#: build/C/man7/epoll.7:57
+#: build/C/man7/epoll.7:61
#, no-wrap
msgid "Level-Triggered and Edge-Triggered"
msgstr "レベルトリガとエッジトリガ"
#. type: Plain text
-#: build/C/man7/epoll.7:66
+#: build/C/man7/epoll.7:70
msgid ""
"The B<epoll> event distribution interface is able to behave both as edge-"
"triggered (ET) and as level-triggered (LT). The difference between the two "
"は、次のように説明できる。 このようなシナリオが起こったとしよう:"
#. type: IP
-#: build/C/man7/epoll.7:66
+#: build/C/man7/epoll.7:70
#, no-wrap
msgid "1."
msgstr "1."
#. type: Plain text
-#: build/C/man7/epoll.7:72
+#: build/C/man7/epoll.7:76
msgid ""
"The file descriptor that represents the read side of a pipe (I<rfd>) is "
"registered on the B<epoll> instance."
"ンスに登録される。"
#. type: IP
-#: build/C/man7/epoll.7:72
+#: build/C/man7/epoll.7:76
#, no-wrap
msgid "2."
msgstr "2."
#. type: Plain text
-#: build/C/man7/epoll.7:74
+#: build/C/man7/epoll.7:78
msgid "A pipe writer writes 2 kB of data on the write side of the pipe."
msgstr ""
"パイプへ書き込むプログラムが 2 kB のデータをパイプの書き込み側へ書き込む。"
#. type: IP
-#: build/C/man7/epoll.7:74
+#: build/C/man7/epoll.7:78
#, no-wrap
msgid "3."
msgstr "3."
#. type: Plain text
-#: build/C/man7/epoll.7:80
+#: build/C/man7/epoll.7:84
msgid ""
"A call to B<epoll_wait>(2) is done that will return I<rfd> as a ready file "
"descriptor."
"として I<rfd> が返る。"
#. type: IP
-#: build/C/man7/epoll.7:80
+#: build/C/man7/epoll.7:84
#, no-wrap
msgid "4."
msgstr "4."
#. type: Plain text
-#: build/C/man7/epoll.7:83
+#: build/C/man7/epoll.7:87
msgid "The pipe reader reads 1 kB of data from I<rfd>."
msgstr "パイプから読み出すプログラムが、1 kB のデータを I<rfd> から読み出す。"
#. type: IP
-#: build/C/man7/epoll.7:83
+#: build/C/man7/epoll.7:87
#, no-wrap
msgid "5."
msgstr "5."
#. type: Plain text
-#: build/C/man7/epoll.7:87
+#: build/C/man7/epoll.7:91
msgid "A call to B<epoll_wait>(2) is done."
msgstr "B<epoll_wait>(2) の呼び出しが行われる。"
#. type: Plain text
-#: build/C/man7/epoll.7:122
+#: build/C/man7/epoll.7:126
msgid ""
"If the I<rfd> file descriptor has been added to the B<epoll> interface using "
"the B<EPOLLET> (edge-triggered) flag, the call to B<epoll_wait>(2) done in "
"B<epoll_wait>(2) の呼び出しが 無期限に停止 (block) するかもしれない。"
#. type: Plain text
-#: build/C/man7/epoll.7:132
+#: build/C/man7/epoll.7:136
msgid ""
"An application that employs the B<EPOLLET> flag should use nonblocking file "
"descriptors to avoid having a blocking read or write starve a task that is "
"る。"
#. type: TP
-#: build/C/man7/epoll.7:133
+#: build/C/man7/epoll.7:137
#, no-wrap
msgid "B<i>"
msgstr "B<i>"
#. type: Plain text
-#: build/C/man7/epoll.7:136
+#: build/C/man7/epoll.7:140
msgid "with nonblocking file descriptors; and"
msgstr "ブロックしないファイルディスクリプタと共に使う。"
#. type: TP
-#: build/C/man7/epoll.7:136
+#: build/C/man7/epoll.7:140
#, no-wrap
msgid "B<ii>"
msgstr "B<ii>"
#. type: Plain text
-#: build/C/man7/epoll.7:144
+#: build/C/man7/epoll.7:148
msgid ""
"by waiting for an event only after B<read>(2) or B<write>(2) return "
"B<EAGAIN>."
"つ。"
#. type: Plain text
-#: build/C/man7/epoll.7:155
+#: build/C/man7/epoll.7:159
msgid ""
"By contrast, when used as a level-triggered interface (the default, when "
"B<EPOLLET> is not specified), B<epoll> is simply a faster B<poll>(2), and "
"B<poll>(2) が使われているところではどこでも使用することができる。"
#. type: Plain text
-#: build/C/man7/epoll.7:172
+#: build/C/man7/epoll.7:176
msgid ""
"Since even with edge-triggered B<epoll>, multiple events can be generated "
"upon receipt of multiple chunks of data, the caller has the option to "
"は、 呼び出し側の責任である。"
#. type: SS
-#: build/C/man7/epoll.7:172
+#: build/C/man7/epoll.7:176
#, no-wrap
msgid "/proc interfaces"
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:180
+#: build/C/man7/epoll.7:184
msgid ""
"The following interfaces can be used to limit the amount of kernel memory "
"consumed by epoll:"
"用することができる。"
#. type: TP
-#: build/C/man7/epoll.7:180
+#: build/C/man7/epoll.7:184
#, no-wrap
msgid "I</proc/sys/fs/epoll/max_user_watches> (since Linux 2.6.28)"
msgstr "I</proc/sys/fs/epoll/max_user_watches> (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:194
+#: build/C/man7/epoll.7:198
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 "
"1/25 (4%) であり、 登録で消費されるメモリ量 (バイト単位) で割った値となる。"
#. type: SS
-#: build/C/man7/epoll.7:194
+#: build/C/man7/epoll.7:198
#, no-wrap
msgid "Example for Suggested Usage"
msgstr "おすすめな使用例"
#. type: Plain text
-#: build/C/man7/epoll.7:223
+#: build/C/man7/epoll.7:227
msgid ""
"While the usage of B<epoll> when employed as a level-triggered interface "
"does have the same semantics as B<poll>(2), the edge-triggered usage "
"することができる。"
#. type: Plain text
-#: build/C/man7/epoll.7:229
+#: build/C/man7/epoll.7:233
#, no-wrap
msgid ""
"#define MAX_EVENTS 10\n"
"int listen_sock, conn_sock, nfds, epollfd;\n"
#. type: Plain text
-#: build/C/man7/epoll.7:232
+#: build/C/man7/epoll.7:236
#, no-wrap
msgid ""
"/* Set up listening socket, \\(aqlisten_sock\\(aq (socket(),\n"
" bind(), listen()) */\n"
#. type: Plain text
-#: build/C/man7/epoll.7:238
+#: build/C/man7/epoll.7:242
#, no-wrap
msgid ""
"epollfd = epoll_create(10);\n"
"}\n"
#. type: Plain text
-#: build/C/man7/epoll.7:245
+#: build/C/man7/epoll.7:249
#, no-wrap
msgid ""
"ev.events = EPOLLIN;\n"
"}\n"
#. type: Plain text
-#: build/C/man7/epoll.7:252
+#: build/C/man7/epoll.7:256
#, no-wrap
msgid ""
"for (;;) {\n"
" }\n"
#. type: Plain text
-#: build/C/man7/epoll.7:274
+#: build/C/man7/epoll.7:278
#, no-wrap
msgid ""
" for (n = 0; n E<lt> nfds; ++n) {\n"
"}\n"
#. type: Plain text
-#: build/C/man7/epoll.7:293
+#: build/C/man7/epoll.7:297
msgid ""
"When used as an edge-triggered interface, for performance reasons, it is "
"possible to add the file descriptor inside the B<epoll> interface "
"B<EPOLLOUT> の連続的な切り替えが避けられる。"
#. type: SS
-#: build/C/man7/epoll.7:293
+#: build/C/man7/epoll.7:297
#, no-wrap
msgid "Questions and Answers"
msgstr "質問と解答"
#. type: TP
-#: build/C/man7/epoll.7:294
+#: build/C/man7/epoll.7:298
#, no-wrap
msgid "B<Q0>"
msgstr "B<Q0>"
#. type: Plain text
-#: build/C/man7/epoll.7:299
+#: build/C/man7/epoll.7:303
msgid ""
"What is the key used to distinguish the file descriptors registered in an "
"B<epoll> set?"
"して使えばよいか?"
#. type: TP
-#: build/C/man7/epoll.7:299
+#: build/C/man7/epoll.7:303
#, no-wrap
msgid "B<A0>"
msgstr "B<A0>"
#. type: Plain text
-#: build/C/man7/epoll.7:305
+#: build/C/man7/epoll.7:309
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 "
"ばれ、オープンされたファイルのカーネルの内部表現である)。"
#. type: TP
-#: build/C/man7/epoll.7:305
+#: build/C/man7/epoll.7:309
#, no-wrap
msgid "B<Q1>"
msgstr "B<Q1>"
#. type: Plain text
-#: build/C/man7/epoll.7:310
+#: build/C/man7/epoll.7:314
msgid ""
"What happens if you register the same file descriptor on an B<epoll> "
"instance twice?"
"なるか?"
#. type: TP
-#: build/C/man7/epoll.7:310
+#: build/C/man7/epoll.7:314
#, no-wrap
msgid "B<A1>"
msgstr "B<A1>"
#. "epoll design problems with common fork/exec patterns"
#. mtk, Feb 2008
#. type: Plain text
-#: build/C/man7/epoll.7:341
+#: build/C/man7/epoll.7:345
msgid ""
"You will probably get B<EEXIST>. However, it is possible to add a duplicate "
"(B<dup>(2), B<dup2>(2), B<fcntl>(2) B<F_DUPFD>) descriptor to the same "
"能は有用な手法である。"
#. type: TP
-#: build/C/man7/epoll.7:341
+#: build/C/man7/epoll.7:345
#, no-wrap
msgid "B<Q2>"
msgstr "B<Q2>"
#. type: Plain text
-#: build/C/man7/epoll.7:349
+#: build/C/man7/epoll.7:353
msgid ""
"Can two B<epoll> instances wait for the same file descriptor? If so, are "
"events reported to both B<epoll> file descriptors?"
"告されるか?"
#. type: TP
-#: build/C/man7/epoll.7:349
+#: build/C/man7/epoll.7:353
#, no-wrap
msgid "B<A2>"
msgstr "B<A2>"
#. type: Plain text
-#: build/C/man7/epoll.7:353
+#: build/C/man7/epoll.7:357
msgid ""
"Yes, and events would be reported to both. However, careful programming may "
"be needed to do this correctly."
"ラミングする必要が あるかもしれない。"
#. type: TP
-#: build/C/man7/epoll.7:353
+#: build/C/man7/epoll.7:357
#, no-wrap
msgid "B<Q3>"
msgstr "B<Q3>"
#. type: Plain text
-#: build/C/man7/epoll.7:358
+#: build/C/man7/epoll.7:362
msgid "Is the B<epoll> file descriptor itself poll/epoll/selectable?"
msgstr "B<epoll> ファイルディスクリプタ自身は poll/epoll/select が可能か?"
#. type: TP
-#: build/C/man7/epoll.7:358
+#: build/C/man7/epoll.7:362
#, no-wrap
msgid "B<A3>"
msgstr "B<A3>"
#. type: Plain text
-#: build/C/man7/epoll.7:365
+#: build/C/man7/epoll.7:369
msgid ""
"Yes. If an B<epoll> file descriptor has events waiting then it will "
"indicate as being readable."
"は、 読み出し可能だと通知されることだろう。"
#. type: TP
-#: build/C/man7/epoll.7:365
+#: build/C/man7/epoll.7:369
#, no-wrap
msgid "B<Q4>"
msgstr "B<Q4>"
#. type: Plain text
-#: build/C/man7/epoll.7:370
+#: build/C/man7/epoll.7:374
msgid ""
"What happens if one attempts to put an B<epoll> file descriptor into its own "
"file descriptor set?"
"とするとどうなるか?"
#. type: TP
-#: build/C/man7/epoll.7:370
+#: build/C/man7/epoll.7:374
#, no-wrap
msgid "B<A4>"
msgstr "B<A4>"
#. type: Plain text
-#: build/C/man7/epoll.7:381
+#: build/C/man7/epoll.7:385
msgid ""
"The B<epoll_ctl>(2) call will fail (B<EINVAL>). However, you can add an "
"B<epoll> file descriptor inside another B<epoll> file descriptor set."
"部に追加することは可能である。"
#. type: TP
-#: build/C/man7/epoll.7:381
+#: build/C/man7/epoll.7:385
#, no-wrap
msgid "B<Q5>"
msgstr "B<Q5>"
#. type: Plain text
-#: build/C/man7/epoll.7:386
+#: build/C/man7/epoll.7:390
msgid ""
"Can I send an B<epoll> file descriptor over a UNIX domain socket to another "
"process?"
"とは可能か?"
#. type: TP
-#: build/C/man7/epoll.7:386
+#: build/C/man7/epoll.7:390
#, no-wrap
msgid "B<A5>"
msgstr "B<A5>"
#. type: Plain text
-#: build/C/man7/epoll.7:392
+#: build/C/man7/epoll.7:396
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<epoll> set."
"集合内のファイルディスクリプタのコピーを持っていないからである。"
#. type: TP
-#: build/C/man7/epoll.7:392
+#: build/C/man7/epoll.7:396
#, no-wrap
msgid "B<Q6>"
msgstr "B<Q6>"
#. type: Plain text
-#: build/C/man7/epoll.7:397
+#: build/C/man7/epoll.7:401
msgid ""
"Will closing a file descriptor cause it to be removed from all B<epoll> sets "
"automatically?"
"B<epoll> 集合から自動的に削除されるか?"
#. type: TP
-#: build/C/man7/epoll.7:397
+#: build/C/man7/epoll.7:401
#, no-wrap
msgid "B<A6>"
msgstr "B<A6>"
#. type: Plain text
-#: build/C/man7/epoll.7:425
+#: build/C/man7/epoll.7:429
msgid ""
"Yes, but be aware of the following point. A file descriptor is a reference "
"to an open file description (see B<open>(2)). Whenever a descriptor is "
"と いうことを意味する。"
#. type: TP
-#: build/C/man7/epoll.7:425
+#: build/C/man7/epoll.7:429
#, no-wrap
msgid "B<Q7>"
msgstr "B<Q7>"
#. type: Plain text
-#: build/C/man7/epoll.7:430
+#: build/C/man7/epoll.7:434
msgid ""
"If more than one event occurs between B<epoll_wait>(2) calls, are they "
"combined or reported separately?"
"めて報告されるか、 それとも別々に報告されるか?"
#. type: TP
-#: build/C/man7/epoll.7:430
+#: build/C/man7/epoll.7:434
#, no-wrap
msgid "B<A7>"
msgstr "B<A7>"
#. type: Plain text
-#: build/C/man7/epoll.7:433
+#: build/C/man7/epoll.7:437
msgid "They will be combined."
msgstr "まとめて報告されるだろう。"
#. type: TP
-#: build/C/man7/epoll.7:433
+#: build/C/man7/epoll.7:437
#, no-wrap
msgid "B<Q8>"
msgstr "B<Q8>"
#. type: Plain text
-#: build/C/man7/epoll.7:437
+#: build/C/man7/epoll.7:441
msgid ""
"Does an operation on a file descriptor affect the already collected but not "
"yet reported events?"
"いイベントに影響するか?"
#. type: TP
-#: build/C/man7/epoll.7:437
+#: build/C/man7/epoll.7:441
#, no-wrap
msgid "B<A8>"
msgstr "B<A8>"
#. type: Plain text
-#: build/C/man7/epoll.7:443
+#: build/C/man7/epoll.7:447
msgid ""
"You can do two operations on an existing file descriptor. Remove would be "
"meaningless for this case. Modify will reread available I/O."
"合、削除には意味がない。 変更すると、使用可能な I/O が再び読み込まれる。"
#. type: TP
-#: build/C/man7/epoll.7:443
+#: build/C/man7/epoll.7:447
#, no-wrap
msgid "B<Q9>"
msgstr "B<Q9>"
#. type: Plain text
-#: build/C/man7/epoll.7:451
+#: build/C/man7/epoll.7:455
msgid ""
"Do I need to continuously read/write a file descriptor until B<EAGAIN> when "
"using the B<EPOLLET> flag (edge-triggered behavior) ?"
"まで、 継続してファイルディスクリプタを読み書きする必要があるか?"
#. type: TP
-#: build/C/man7/epoll.7:451
+#: build/C/man7/epoll.7:455
#, no-wrap
msgid "B<A9>"
msgstr "B<A9>"
#. type: Plain text
-#: build/C/man7/epoll.7:461
+#: build/C/man7/epoll.7:465
msgid ""
"Receiving an event from B<epoll_wait>(2) should suggest to you that such "
"file descriptor is ready for the requested I/O operation. You must consider "
"リプタをいつどのように使うかは、 全くユーザに任されてる。"
#. type: Plain text
-#: build/C/man7/epoll.7:467
+#: build/C/man7/epoll.7:471
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 "
"する唯一の方法は B<EAGAIN> になるまで read/write を行うことである。"
#. type: Plain text
-#: build/C/man7/epoll.7:483
+#: build/C/man7/epoll.7:487
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 "
"ない場合には、後者の手法の使用を避けること)。"
#. type: SS
-#: build/C/man7/epoll.7:483
+#: build/C/man7/epoll.7:487
#, no-wrap
msgid "Possible Pitfalls and Ways to Avoid Them"
msgstr "ありがちな落とし穴と回避方法"
#. type: TP
-#: build/C/man7/epoll.7:484
+#: build/C/man7/epoll.7:488
#, no-wrap
msgid "B<o Starvation (edge-triggered)>"
msgstr "B<o 飢餓 (starvation) (エッジトリガ)>"
#. type: Plain text
-#: build/C/man7/epoll.7:492
+#: build/C/man7/epoll.7:496
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 "
"B<epoll> に固有のものではない)。"
#. type: Plain text
-#: build/C/man7/epoll.7:500
+#: build/C/man7/epoll.7:504
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 "
"もできる。"
#. type: TP
-#: build/C/man7/epoll.7:500
+#: build/C/man7/epoll.7:504
#, no-wrap
msgid "B<o If using an event cache...>"
msgstr "B<o イベントキャッシュを使っている場合>"
#. type: Plain text
-#: build/C/man7/epoll.7:516
+#: build/C/man7/epoll.7:520
msgid ""
"If you use an event cache or store all the file descriptors returned from "
"B<epoll_wait>(2), then make sure to provide a way to mark its closure "
"ルディスクリプタを待つイベントが 存在するといって、混乱が起きる。"
#. type: Plain text
-#: build/C/man7/epoll.7:527
+#: build/C/man7/epoll.7:531
msgid ""
"One solution for this is to call, during the processing of event 47, "
"B<epoll_ctl>(B<EPOLL_CTL_DEL>) to delete file descriptor 13 and B<close>"
"クリプタが以前に削除されたものであると分かるので、 混乱は起きない。"
#. type: SH
-#: build/C/man7/epoll.7:527 build/C/man2/epoll_create.2:114
-#: build/C/man2/epoll_ctl.2:224 build/C/man2/epoll_wait.2:174
-#: build/C/man2/poll.2:286
+#: build/C/man7/epoll.7:531 build/C/man2/epoll_create.2:110
+#: build/C/man2/epoll_ctl.2:226 build/C/man2/epoll_wait.2:173
+#: build/C/man2/poll.2:304
#, no-wrap
msgid "VERSIONS"
msgstr "バージョン"
#. Its interface should be finalized in Linux kernel 2.5.66.
#. type: Plain text
-#: build/C/man7/epoll.7:533
+#: build/C/man7/epoll.7:537
msgid ""
"The B<epoll> API was introduced in Linux kernel 2.5.44. Support was added "
"to glibc in version 2.3.2."
"ジョン 2.3.2 で追加された。"
#. type: SH
-#: build/C/man7/epoll.7:533 build/C/man2/epoll_create.2:124
-#: build/C/man2/epoll_ctl.2:229 build/C/man2/epoll_wait.2:184
-#: build/C/man2/poll.2:306
+#: build/C/man7/epoll.7:537 build/C/man2/epoll_create.2:120
+#: build/C/man2/epoll_ctl.2:231 build/C/man2/epoll_wait.2:183
+#: build/C/man2/poll.2:324
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"
#. type: Plain text
-#: build/C/man7/epoll.7:542
+#: build/C/man7/epoll.7:546
msgid ""
"The B<epoll> API is Linux-specific. Some other systems provide similar "
"mechanisms, for example, FreeBSD has I<kqueue>, and Solaris has I</dev/poll>."
"る。"
#. type: SH
-#: build/C/man7/epoll.7:542 build/C/man2/epoll_create.2:133
-#: build/C/man2/epoll_ctl.2:252 build/C/man2/epoll_wait.2:187
-#: build/C/man2/poll.2:338
+#: build/C/man7/epoll.7:546 build/C/man2/epoll_create.2:146
+#: build/C/man2/epoll_ctl.2:254 build/C/man2/epoll_wait.2:196
+#: build/C/man2/poll.2:356
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
#. type: Plain text
-#: build/C/man7/epoll.7:547
+#: build/C/man7/epoll.7:550
msgid ""
"B<epoll_create>(2), B<epoll_create1>(2), B<epoll_ctl>(2), B<epoll_wait>(2)"
msgstr ""
"B<epoll_create>(2), B<epoll_create1>(2), B<epoll_ctl>(2), B<epoll_wait>(2)"
-#. type: SH
-#: build/C/man7/epoll.7:547 build/C/man2/epoll_create.2:138
-#: build/C/man2/epoll_ctl.2:257 build/C/man2/epoll_wait.2:191
-#: build/C/man2/poll.2:342
-#, no-wrap
-msgid "COLOPHON"
-msgstr "この文書について"
-
-#. type: Plain text
-#: build/C/man7/epoll.7:554 build/C/man2/epoll_create.2:145
-#: build/C/man2/epoll_ctl.2:264 build/C/man2/epoll_wait.2:198
-#: build/C/man2/poll.2:349
-msgid ""
-"This page is part of release 3.38 of the Linux I<man-pages> project. A "
-"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
-msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.38 の一部である。\n"
-"プロジェクトの説明とバグ報告に関する情報は\n"
-"http://www.kernel.org/doc/man-pages/ に書かれている。"
-
#. type: TH
#: build/C/man2/epoll_create.2:25
#, no-wrap
#. type: TH
#: build/C/man2/epoll_create.2:25 build/C/man2/epoll_ctl.2:21
-#: build/C/man2/epoll_wait.2:23
+#: build/C/man2/poll.2:31
#, no-wrap
-msgid "2010-12-03"
-msgstr "2010-12-03"
+msgid "2012-04-15"
+msgstr "2012-04-15"
#. type: Plain text
#: build/C/man2/epoll_create.2:28
"B<int epoll_create1(int >I<flags>B<);>\n"
#. type: Plain text
-#: build/C/man2/epoll_create.2:48
+#: build/C/man2/epoll_create.2:43
msgid ""
-"B<epoll_create>() creates an epoll \"instance\", requesting the kernel to "
-"allocate an event backing store dimensioned for I<size> descriptors. The "
-"I<size> is not the maximum size of the backing store but just a hint to the "
-"kernel about how to dimension internal structures. (Nowadays, I<size> is "
-"unused; see NOTES below.)"
+"B<epoll_create>() creates an B<epoll>(7) instance. Since Linux 2.6.8, the "
+"I<size> argument is ignored, but must be greater than zero; see NOTES below."
msgstr ""
-"B<epoll_create>() は、 I<size> 個のディスクリプタを保持できる大きさの\n"
-"イベントバッキングストアの割り当てをカーネルに対して要求することにより、\n"
-"epoll 「インスタンス」を作成する。 I<size> はバッキングストアの最大サイ\n"
-"ズではなく、内部構造の大きさをどの位にするかをカーネルに知らせるヒント\n"
-"でしかない。 (現在は I<size> は使用されない。下記の「注意」を参照。)"
+"B<epoll_create>()は B<epoll>(7) インスタンスを作成する。\n"
+"Linux 2.6.8 以降では、I<size> 引き数は無視されるが、 0 より大きな値で\n"
+"なければならない。下記の「注意」を参照。"
#. type: Plain text
-#: build/C/man2/epoll_create.2:61
+#: build/C/man2/epoll_create.2:56
msgid ""
"B<epoll_create>() returns a file descriptor referring to the new epoll "
"instance. This file descriptor is used for all the subsequent calls to the "
"と、 カーネルはそのインスタンスを破壊して、対応するリソースを解放し、 再使用"
"できるようにする。"
+#. type: SS
+#: build/C/man2/epoll_create.2:57
+#, no-wrap
+msgid "epoll_create1()"
+msgstr "epoll_create1()"
+
#. type: Plain text
-#: build/C/man2/epoll_create.2:73
+#: build/C/man2/epoll_create.2:69
msgid ""
"If I<flags> is 0, then, other than the fact that the obsolete I<size> "
"argument is dropped, B<epoll_create1>() is the same as B<epoll_create>(). "
"せることができる。"
#. type: TP
-#: build/C/man2/epoll_create.2:73
+#: build/C/man2/epoll_create.2:69
#, no-wrap
msgid "B<EPOLL_CLOEXEC>"
msgstr "B<EPOLL_CLOEXEC>"
#. type: Plain text
-#: build/C/man2/epoll_create.2:83
+#: build/C/man2/epoll_create.2:79
msgid ""
"Set the close-on-exec (B<FD_CLOEXEC>) flag on the new file descriptor. See "
"the description of the B<O_CLOEXEC> flag in B<open>(2) for reasons why this "
"B<O_CLOEXEC> フラグの説明を参照のこと。"
#. type: SH
-#: build/C/man2/epoll_create.2:83 build/C/man2/epoll_ctl.2:156
-#: build/C/man2/epoll_wait.2:137 build/C/man2/poll.2:257
+#: build/C/man2/epoll_create.2:79 build/C/man2/epoll_ctl.2:158
+#: build/C/man2/epoll_wait.2:136 build/C/man2/poll.2:275
#, no-wrap
msgid "RETURN VALUE"
msgstr "返り値"
#. type: Plain text
-#: build/C/man2/epoll_create.2:90
+#: build/C/man2/epoll_create.2:86
msgid ""
"On success, these system calls return a nonnegative file descriptor. On "
"error, -1 is returned, and I<errno> is set to indicate the error."
"ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
#. type: SH
-#: build/C/man2/epoll_create.2:90 build/C/man2/epoll_ctl.2:165
-#: build/C/man2/epoll_wait.2:149 build/C/man2/poll.2:267
+#: build/C/man2/epoll_create.2:86 build/C/man2/epoll_ctl.2:167
+#: build/C/man2/epoll_wait.2:148 build/C/man2/poll.2:285
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: TP
-#: build/C/man2/epoll_create.2:91 build/C/man2/epoll_create.2:95
-#: build/C/man2/epoll_ctl.2:180 build/C/man2/epoll_wait.2:166
-#: build/C/man2/poll.2:276
+#: build/C/man2/epoll_create.2:87 build/C/man2/epoll_create.2:91
+#: build/C/man2/epoll_ctl.2:182 build/C/man2/epoll_wait.2:165
+#: build/C/man2/poll.2:294
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"
#. type: Plain text
-#: build/C/man2/epoll_create.2:95
+#: build/C/man2/epoll_create.2:91
msgid "I<size> is not positive."
msgstr "I<size> が正でない。"
#. type: Plain text
-#: build/C/man2/epoll_create.2:100
+#: build/C/man2/epoll_create.2:96
msgid "(B<epoll_create1>()) Invalid value specified in I<flags>."
msgstr "(B<epoll_create1>()) I<flags> に無効な値が指定された。"
#. type: TP
-#: build/C/man2/epoll_create.2:100
+#: build/C/man2/epoll_create.2:96
#, no-wrap
msgid "B<EMFILE>"
msgstr "B<EMFILE>"
#. type: Plain text
-#: build/C/man2/epoll_create.2:108
+#: build/C/man2/epoll_create.2:104
msgid ""
"The per-user limit on the number of epoll instances imposed by I</proc/sys/"
"fs/epoll/max_user_instances> was encountered. See B<epoll>(7) for further "
"のこと。"
#. type: TP
-#: build/C/man2/epoll_create.2:108
+#: build/C/man2/epoll_create.2:104
#, no-wrap
msgid "B<ENFILE>"
msgstr "B<ENFILE>"
#. type: Plain text
-#: build/C/man2/epoll_create.2:111
+#: build/C/man2/epoll_create.2:107
msgid "The system limit on the total number of open files has been reached."
msgstr "オープンされたファイルの総数がシステム制限に達した。"
#. type: TP
-#: build/C/man2/epoll_create.2:111 build/C/man2/epoll_ctl.2:203
-#: build/C/man2/poll.2:283
+#: build/C/man2/epoll_create.2:107 build/C/man2/epoll_ctl.2:205
+#: build/C/man2/poll.2:301
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"
#. type: Plain text
-#: build/C/man2/epoll_create.2:114
+#: build/C/man2/epoll_create.2:110
msgid "There was insufficient memory to create the kernel object."
msgstr "カーネルオブジェクトを作成するのに十分なメモリがなかった。"
#. type: Plain text
-#: build/C/man2/epoll_create.2:118
+#: build/C/man2/epoll_create.2:114
msgid ""
"B<epoll_create>() was added to the kernel in version 2.6. Library support "
"is provided in glibc starting with version 2.3.2."
#. 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_create.2:124
+#: build/C/man2/epoll_create.2:120
msgid ""
"B<epoll_create1>() was added to the kernel in version 2.6.27. Library "
"support is provided in glibc starting with version 2.9."
"ライブラリによるサポートは glibc バージョン 2.9 以降で提供されている。"
#. type: Plain text
-#: build/C/man2/epoll_create.2:127
+#: build/C/man2/epoll_create.2:123
msgid "B<epoll_create>() is Linux-specific."
msgstr "B<epoll_create>() は Linux 独自である。"
#. type: SH
-#: build/C/man2/epoll_create.2:127 build/C/man2/epoll_ctl.2:233
-#: build/C/man2/poll.2:312
+#: build/C/man2/epoll_create.2:123 build/C/man2/epoll_ctl.2:235
+#: build/C/man2/epoll_wait.2:186 build/C/man2/poll.2:330
#, no-wrap
msgid "NOTES"
msgstr "注意"
#. type: Plain text
-#: build/C/man2/epoll_create.2:133
+#: build/C/man2/epoll_create.2:146
msgid ""
-"Since Linux 2.6.8, the I<size> argument is unused, but must be greater than "
-"zero. (The kernel dynamically sizes the required data structures without "
-"needing this initial hint.)"
+"In the initial B<epoll_create>() implementation, the I<size> argument "
+"informed the kernel of the number of file descriptors that the caller "
+"expected to add to the B<epoll> instance. The kernel used this information "
+"as a hint for the amount of space to initially allocate in internal data "
+"structures describing events. (If necessary, the kernel would allocate more "
+"space if the caller's usage exceeded the hint given in I<size>.) Nowadays, "
+"this hint is no longer required (the kernel dynamically sizes the required "
+"data structures without needing the hint), but I<size> must still be greater "
+"than zero, in order to ensure backward compatibility when new B<epoll> "
+"applications are run on older kernels."
msgstr ""
-"Linux 2.6.8 以降では、 I<size> 引き数は使用されないが、 0 より大きくなければならない。\n"
-"(カーネルは、動的に必要なデータ構造の大きさを決定し、 最初のヒントを必要しない。)"
#. type: Plain text
-#: build/C/man2/epoll_create.2:138
+#: build/C/man2/epoll_create.2:150
msgid "B<close>(2), B<epoll_ctl>(2), B<epoll_wait>(2), B<epoll>(7)"
msgstr "B<close>(2), B<epoll_ctl>(2), B<epoll_wait>(2), B<epoll>(7)"
"epoll_event *>I<event>B<);>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:37
+#: build/C/man2/epoll_ctl.2:39
msgid ""
-"This system call performs control operations on the epoll instance referred "
-"to by the file descriptor I<epfd>. It requests that the operation I<op> be "
-"performed for the target file descriptor, I<fd>."
+"This system call performs control operations on the B<epoll>(7) instance "
+"referred to by the file descriptor I<epfd>. It requests that the operation "
+"I<op> be performed for the target file descriptor, I<fd>."
msgstr ""
-"このシステムコールは、ファイルディスクリプタ I<epfd> が参照する epoll インス"
-"ã\82¿ã\83³ã\82¹ã\81«å¯¾ã\81\99ã\82\8bæ\93\8dä½\9cã\82\92è¡\8cã\81\86ã\80\82 対象ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ I<fd> ã\81«å¯¾ã\81\97ã\81¦ã\80\81æ\93\8dä½\9c "
-"I<op> の実行が要求される。"
+"このシステムコールは、ファイルディスクリプタ I<epfd> が参照する B<epoll>(7)\n"
+"ã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹ã\81«å¯¾ã\81\99ã\82\8bæ\93\8dä½\9cã\82\92è¡\8cã\81\86ã\80\82 対象ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ I<fd> ã\81«å¯¾ã\81\97ã\81¦ã\80\81\n"
+"操作 I<op> の実行が要求される。"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:41
+#: build/C/man2/epoll_ctl.2:43
msgid "Valid values for the I<op> argument are :"
msgstr "I<op> 引き数に指定できる有効な値は以下の通りである。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:41
+#: build/C/man2/epoll_ctl.2:43
#, no-wrap
msgid "B<EPOLL_CTL_ADD>"
msgstr "B<EPOLL_CTL_ADD>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:53
+#: build/C/man2/epoll_ctl.2:55
msgid ""
"Register the target file descriptor I<fd> on the B<epoll> instance referred "
"to by the file descriptor I<epfd> and associate the event I<event> with the "
"内部ファイルに関連付ける。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:53
+#: build/C/man2/epoll_ctl.2:55
#, no-wrap
msgid "B<EPOLL_CTL_MOD>"
msgstr "B<EPOLL_CTL_MOD>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:59
+#: build/C/man2/epoll_ctl.2:61
msgid ""
"Change the event I<event> associated with the target file descriptor I<fd>."
msgstr ""
"する。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:59
+#: build/C/man2/epoll_ctl.2:61
#, no-wrap
msgid "B<EPOLL_CTL_DEL>"
msgstr "B<EPOLL_CTL_DEL>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:70
+#: build/C/man2/epoll_ctl.2:72
msgid ""
"Remove (deregister) the target file descriptor I<fd> from the B<epoll> "
"instance referred to by I<epfd>. The I<event> is ignored and can be NULL "
"し、下記の「バグ」を参照)。"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:78
+#: build/C/man2/epoll_ctl.2:80
msgid ""
"The I<event> argument describes the object linked to the file descriptor "
"I<fd>. The I<struct epoll_event> is defined as :"
"表す。 I<struct epoll_event> は以下のように定義される:"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:87
+#: build/C/man2/epoll_ctl.2:89
#, no-wrap
msgid ""
"typedef union epoll_data {\n"
"} epoll_data_t;\n"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:92
+#: build/C/man2/epoll_ctl.2:94
#, no-wrap
msgid ""
"struct epoll_event {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:99
+#: build/C/man2/epoll_ctl.2:101
msgid ""
"The I<events> member is a bit set composed using the following available "
"event types:"
"ビットセットである。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:99
+#: build/C/man2/epoll_ctl.2:101
#, no-wrap
msgid "B<EPOLLIN>"
msgstr "B<EPOLLIN>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:104
+#: build/C/man2/epoll_ctl.2:106
msgid "The associated file is available for B<read>(2) operations."
msgstr "関連付けられたファイルに対して、 B<read>(2) 操作が可能である。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:104
+#: build/C/man2/epoll_ctl.2:106
#, no-wrap
msgid "B<EPOLLOUT>"
msgstr "B<EPOLLOUT>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:109
+#: build/C/man2/epoll_ctl.2:111
msgid "The associated file is available for B<write>(2) operations."
msgstr "関連付けられたファイルに対して、 B<write>(2) 操作が可能である。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:109
+#: build/C/man2/epoll_ctl.2:111
#, no-wrap
msgid "B<EPOLLRDHUP> (since Linux 2.6.17)"
msgstr "B<EPOLLRDHUP\">(LinuxB<2.6.17>以降)\""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:115
+#: build/C/man2/epoll_ctl.2:117
msgid ""
"Stream socket peer closed connection, or shut down writing half of "
"connection. (This flag is especially useful for writing simple code to "
"ができる。)"
#. type: TP
-#: build/C/man2/epoll_ctl.2:115
+#: build/C/man2/epoll_ctl.2:117
#, no-wrap
msgid "B<EPOLLPRI>"
msgstr "B<EPOLLPRI>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:120
+#: build/C/man2/epoll_ctl.2:122
msgid "There is urgent data available for B<read>(2) operations."
msgstr "B<read>(2) 操作が可能な緊急 (urgent) データがある。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:120
+#: build/C/man2/epoll_ctl.2:122
#, no-wrap
msgid "B<EPOLLERR>"
msgstr "B<EPOLLERR>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:126
+#: build/C/man2/epoll_ctl.2:128
msgid ""
"Error condition happened on the associated file descriptor. B<epoll_wait>"
"(2) will always wait for this event; it is not necessary to set it in "
"(2) は常にこのイベントを待つので、 I<events> に設定する必要はない。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:126
+#: build/C/man2/epoll_ctl.2:128
#, no-wrap
msgid "B<EPOLLHUP>"
msgstr "B<EPOLLHUP>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:132
+#: build/C/man2/epoll_ctl.2:134
msgid ""
"Hang up happened on the associated file descriptor. B<epoll_wait>(2) will "
"always wait for this event; it is not necessary to set it in I<events>."
"(2) は常にこのイベントを待つので、 I<events> に設定する必要はない。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:132
+#: build/C/man2/epoll_ctl.2:134
#, no-wrap
msgid "B<EPOLLET>"
msgstr "B<EPOLLET>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:142
+#: build/C/man2/epoll_ctl.2:144
msgid ""
"Sets the Edge Triggered behavior for the associated file descriptor. The "
"default behavior for B<epoll> is Level Triggered. See B<epoll>(7) for more "
"こと。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:142
+#: build/C/man2/epoll_ctl.2:144
#, no-wrap
msgid "B<EPOLLONESHOT> (since Linux 2.6.2)"
msgstr "B<EPOLLONESHOT> (Linux 2.6.2 以降)"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:156
+#: build/C/man2/epoll_ctl.2:158
msgid ""
"Sets the one-shot behavior for the associated file descriptor. This means "
"that after an event is pulled out with B<epoll_wait>(2) the associated file "
"り:"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:165
+#: build/C/man2/epoll_ctl.2:167
msgid ""
"When successful, B<epoll_ctl>() returns zero. When an error occurs, "
"B<epoll_ctl>() returns -1 and I<errno> is set appropriately."
"B<epoll_ctl>() は -1 を返し、 I<errno> を適切に設定する。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:166 build/C/man2/epoll_wait.2:150
+#: build/C/man2/epoll_ctl.2:168 build/C/man2/epoll_wait.2:149
#, no-wrap
msgid "B<EBADF>"
msgstr "B<EBADF>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:172
+#: build/C/man2/epoll_ctl.2:174
msgid "I<epfd> or I<fd> is not a valid file descriptor."
msgstr "I<epfd> か I<fd> が有効なファイルディスクリプタでない。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:172
+#: build/C/man2/epoll_ctl.2:174
#, no-wrap
msgid "B<EEXIST>"
msgstr "B<EEXIST>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:180
+#: build/C/man2/epoll_ctl.2:182
msgid ""
"I<op> was B<EPOLL_CTL_ADD>, and the supplied file descriptor I<fd> is "
"already registered with this epoll instance."
"がこの epoll インスタンスに既に登録されている。"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:193
+#: build/C/man2/epoll_ctl.2:195
msgid ""
"I<epfd> is not an B<epoll> file descriptor, or I<fd> is the same as I<epfd>, "
"or the requested operation I<op> is not supported by this interface."
"いない。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:193
+#: build/C/man2/epoll_ctl.2:195
#, no-wrap
msgid "B<ENOENT>"
msgstr "B<ENOENT>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:203
+#: build/C/man2/epoll_ctl.2:205
msgid ""
"I<op> was B<EPOLL_CTL_MOD> or B<EPOLL_CTL_DEL>, and I<fd> is not registered "
"with this epoll instance."
"epoll インスタンスに登録されていない。"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:208
+#: build/C/man2/epoll_ctl.2:210
msgid ""
"There was insufficient memory to handle the requested I<op> control "
"operation."
msgstr "要求された I<op> 制御操作を扱うのに十分なメモリがない。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:208
+#: build/C/man2/epoll_ctl.2:210
#, no-wrap
msgid "B<ENOSPC>"
msgstr "B<ENOSPC>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:218
+#: build/C/man2/epoll_ctl.2:220
msgid ""
"The limit imposed by I</proc/sys/fs/epoll/max_user_watches> was encountered "
"while trying to register (B<EPOLL_CTL_ADD>) a new file descriptor on an "
"た。 詳細は B<epoll>(7) を参照。"
#. type: TP
-#: build/C/man2/epoll_ctl.2:218
+#: build/C/man2/epoll_ctl.2:220
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:224
+#: build/C/man2/epoll_ctl.2:226
msgid "The target file I<fd> does not support B<epoll>."
msgstr "対象ファイル I<fd> が B<epoll> をサポートしていない。"
#. 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:229
+#: build/C/man2/epoll_ctl.2:231
msgid "B<epoll_ctl>() was added to the kernel in version 2.6."
msgstr "B<epoll_ctl>() はカーネル 2.6 で追加された。"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:233
+#: build/C/man2/epoll_ctl.2:235
msgid ""
"B<epoll_ctl>() is Linux-specific. Library support is provided in glibc "
"starting with version 2.3.2."
"ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:238
+#: build/C/man2/epoll_ctl.2:240
msgid ""
"The B<epoll> interface supports all file descriptors that support B<poll>(2)."
msgstr ""
"リプタに対応している。"
#. type: SH
-#: build/C/man2/epoll_ctl.2:238 build/C/man2/poll.2:334
+#: build/C/man2/epoll_ctl.2:240 build/C/man2/poll.2:352
#, no-wrap
msgid "BUGS"
msgstr "バグ"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:252
+#: build/C/man2/epoll_ctl.2:254
msgid ""
"In kernel versions before 2.6.9, the B<EPOLL_CTL_DEL> operation required a "
"non-NULL pointer in I<event>, even though this argument is ignored. Since "
"は、 I<event> に NULL でないポインタを指定すべきである。"
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:257
+#: build/C/man2/epoll_ctl.2:258
msgid "B<epoll_create>(2), B<epoll_wait>(2), B<poll>(2), B<epoll>(7)"
msgstr "B<epoll_create>(2), B<epoll_wait>(2), B<poll>(2), B<epoll>(7)"
#. type: Plain text
#: build/C/man2/epoll_wait.2:53
msgid ""
-"The B<epoll_wait>() system call waits for events on the B<epoll> instance "
-"referred to by the file descriptor I<epfd>. The memory area pointed to by "
-"I<events> will contain the events that will be available for the caller. Up "
-"to I<maxevents> are returned by B<epoll_wait>(). The I<maxevents> argument "
-"must be greater than zero."
+"The B<epoll_wait>() system call waits for events on the B<epoll>(7) "
+"instance referred to by the file descriptor I<epfd>. The memory area "
+"pointed to by I<events> will contain the events that will be available for "
+"the caller. Up to I<maxevents> are returned by B<epoll_wait>(). The "
+"I<maxevents> argument must be greater than zero."
msgstr ""
-"B<epoll_wait>() システムコールは、 ファイルディスクリプタ I<epfd> で参照され"
-"る B<epoll> インスタンスに対するイベントを待つ。 I<events> が指すメモリ領域に"
-"は、呼び出し側が利用可能なイベントが格納される。 最大 I<maxevents> 個のイベン"
-"トが B<epoll_wait>() によって返される。 I<maxevents> 引き数は 0 より大きくな"
-"ければならない。"
+"B<epoll_wait>() システムコールは、ファイルディスクリプタ I<epfd> で参照される\n"
+"B<epoll>(7) インスタンスに対するイベントを待つ。 I<events> が指すメモリ領域には、\n"
+"呼び出し側が利用可能なイベントが格納される。最大 I<maxevents> 個のイベントが\n"
+"B<epoll_wait>() によって返される。\n"
+"I<maxevents> 引き数は 0 より大きくなければならない。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:67
+#: build/C/man2/epoll_wait.2:66
msgid ""
-"The call waits for a maximum time of I<timeout> milliseconds. Specifying a "
-"I<timeout> of -1 makes B<epoll_wait>() wait indefinitely, while specifying "
-"a I<timeout> equal to zero makes B<epoll_wait>() to return immediately even "
-"if no events are available (return code equal to zero)."
+"The call blocks the calling thread for a maximum time of I<timeout> "
+"milliseconds. Specifying a I<timeout> of -1 causes B<epoll_wait>() to "
+"block indefinitely, while specifying a I<timeout> equal to zero cause "
+"B<epoll_wait>() to return immediately, even if no events are available."
msgstr ""
-"æ\9c\80大ã\81§ I<timeout> ã\83\9fã\83ªç§\92é\96\93ã\82¤ã\83\99ã\83³ã\83\88ã\82\92å¾\85ã\81¤ã\80\82 I<timeout> ã\82\92 -1 ã\81«æ\8c\87å®\9aã\81\99ã\82\8bã\81¨ã\80\81 "
-"B<epoll_wait>() は無限に待つ。 また I<timeout> を 0 に指定すると、 "
-"B<epoll_wait>() はイベントが利用可能でなくても、すぐに返る (返り値は 0 であ"
-"ã\82\8b)。"
+"æ\9c\80大ã\81§ I<timeout> ã\83\9fã\83ªç§\92é\96\93ã\80\81å\91¼ã\81³å\87ºã\81\97ã\81\9fã\82¹ã\83¬ã\83\83ã\83\89ã\82\92å\81\9cæ¢ã\81\95ã\81\9bã\82\8bã\80\82\n"
+"I<timeout> を -1 に指定すると、 B<epoll_wait>() は無限に停止する。\n"
+"I<timeout> を 0 に指定すると、 B<epoll_wait>() は利用可能なイベントが\n"
+"ã\81ªã\81\8fã\81¦ã\82\82ã\80\81ã\81\99ã\81\90ã\81«è¿\94ã\82\8b。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:71
+#: build/C/man2/epoll_wait.2:70
msgid "The I<struct epoll_event> is defined as :"
msgstr "I<struct epoll_event> は以下のように定義される:"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:80
+#: build/C/man2/epoll_wait.2:79
#, no-wrap
msgid ""
"typedef union epoll_data {\n"
"} epoll_data_t;\n"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:85
+#: build/C/man2/epoll_wait.2:84
#, no-wrap
msgid ""
"struct epoll_event {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:96
+#: build/C/man2/epoll_wait.2:95
msgid ""
"The I<data> of each returned structure will contain the same data the user "
"set with an B<epoll_ctl>(2) (B<EPOLL_CTL_ADD>,B<EPOLL_CTL_MOD>) while the "
"る。"
#. type: SS
-#: build/C/man2/epoll_wait.2:96
+#: build/C/man2/epoll_wait.2:95
#, no-wrap
msgid "epoll_pwait()"
msgstr "epoll_pwait()"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:110
+#: build/C/man2/epoll_wait.2:109
msgid ""
"The relationship between B<epoll_wait>() and B<epoll_pwait>() is analogous "
"to the relationship between B<select>(2) and B<pselect>(2): like B<pselect>"
"が捕捉されるまで、安全に待つことができる。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:114
+#: build/C/man2/epoll_wait.2:113
msgid "The following B<epoll_pwait>() call:"
msgstr "以下の B<epoll_pwait>() の呼び出しは、"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:117
+#: build/C/man2/epoll_wait.2:116
#, 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:122 build/C/man2/poll.2:206
+#: build/C/man2/epoll_wait.2:121 build/C/man2/poll.2:224
msgid "is equivalent to I<atomically> executing the following calls:"
msgstr "次の呼び出しを I<atomic> に実行するのと等価である。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:125
+#: build/C/man2/epoll_wait.2:124
#, no-wrap
msgid " sigset_t origmask;\n"
msgstr " sigset_t origmask;\n"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:129
+#: build/C/man2/epoll_wait.2:128
#, no-wrap
msgid ""
" sigprocmask(SIG_SETMASK, &sigmask, &origmask);\n"
" sigprocmask(SIG_SETMASK, &origmask, NULL);\n"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:137
+#: build/C/man2/epoll_wait.2:136
msgid ""
"The I<sigmask> argument may be specified as NULL, in which case "
"B<epoll_pwait>() is equivalent to B<epoll_wait>()."
"() は B<epoll_wait>() と等価となる。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:149
+#: build/C/man2/epoll_wait.2:148
msgid ""
"When successful, B<epoll_wait>() returns the number of file descriptors "
"ready for the requested I/O, or zero if no file descriptor became ready "
"B<epoll_wait>() は -1 を返し、 I<errno> を適切に設定する。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:154
+#: build/C/man2/epoll_wait.2:153
msgid "I<epfd> is not a valid file descriptor."
msgstr "I<epfd> が有効なファイルディスクリプタでない。"
#. type: TP
-#: build/C/man2/epoll_wait.2:154 build/C/man2/poll.2:268
+#: build/C/man2/epoll_wait.2:153 build/C/man2/poll.2:286
#, no-wrap
msgid "B<EFAULT>"
msgstr "B<EFAULT>"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:159
+#: build/C/man2/epoll_wait.2:158
msgid ""
"The memory area pointed to by I<events> is not accessible with write "
"permissions."
msgstr "I<events> で指されるメモリ領域に書き込み権限でアクセスできない。"
#. type: TP
-#: build/C/man2/epoll_wait.2:159 build/C/man2/poll.2:272
+#: build/C/man2/epoll_wait.2:158 build/C/man2/poll.2:290
#, no-wrap
msgid "B<EINTR>"
msgstr "B<EINTR>"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:166
+#: build/C/man2/epoll_wait.2:165
msgid ""
"The call was interrupted by a signal handler before any of the requested "
"events occurred or the I<timeout> expired; see B<signal>(7)."
"ムコールがシグナルハンドラによって割り込まれた。 B<signal>(7) 参照。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:174
+#: build/C/man2/epoll_wait.2:173
msgid ""
"I<epfd> is not an B<epoll> file descriptor, or I<maxevents> is less than or "
"equal to zero."
#. 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:180
+#: build/C/man2/epoll_wait.2:179
msgid ""
"B<epoll_wait>() was added to the kernel in version 2.6. Library support is "
"provided in glibc starting with version 2.3.2."
"ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:184
+#: build/C/man2/epoll_wait.2:183
msgid ""
"B<epoll_pwait>() was added to Linux in kernel 2.6.19. Library support is "
"provided in glibc starting with version 2.6."
"ライブラリによるサポートは glibc バージョン 2.6 以降で提供されている。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:187
+#: build/C/man2/epoll_wait.2:186
msgid "B<epoll_wait>() is Linux-specific."
msgstr "B<epoll_wait>() は Linux 独自である。"
#. type: Plain text
-#: build/C/man2/epoll_wait.2:191
+#: build/C/man2/epoll_wait.2:196
+msgid ""
+"While one thread is blocked in a call to B<epoll_pwait>(), it is possible "
+"for another thread to add a file descriptor to the waited-upon B<epoll> "
+"instance. If the new file descriptor becomes ready, it will cause the "
+"B<epoll_wait>() call to unblock."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/epoll_wait.2:199
msgid "B<epoll_create>(2), B<epoll_ctl>(2), B<epoll>(7)"
msgstr "B<epoll_create>(2), B<epoll_ctl>(2), B<epoll>(7)"
msgid "POLL"
msgstr "POLL"
-#. type: TH
-#: build/C/man2/poll.2:31
-#, no-wrap
-msgid "2010-09-20"
-msgstr "2010-09-20"
-
#. type: Plain text
#: build/C/man2/poll.2:34
msgid "poll, ppoll - wait for some event on a file descriptor"
msgstr "I<nfds> には、 I<fds> 配列の要素数を指定する。"
#. type: Plain text
-#: build/C/man2/poll.2:75
-msgid "The field I<fd> contains a file descriptor for an open file."
+#: build/C/man2/poll.2:86
+msgid ""
+"The field I<fd> contains a file descriptor for an open file. If this field "
+"is negative, then the corresponding I<events> field is ignored and the "
+"I<revents> field returns zero. (This provides an easy way of ignoring a "
+"file descriptor for a single B<poll>() call: simply negate the I<fd> field.)"
msgstr ""
-"構造体の I<fd> にはオープンしたファイルのファイルディスクリプタを入れる。"
#. type: Plain text
-#: build/C/man2/poll.2:80
+#: build/C/man2/poll.2:98
msgid ""
"The field I<events> is an input parameter, a bit mask specifying the events "
-"the application is interested in."
+"the application is interested in for the file descriptor I<fd>. If this "
+"field is specified as zero, then all events are ignored for I<fd> and "
+"I<revents> returns zero."
msgstr ""
-"構造体の I<events> 要素は入力パラメータで、アプリケーションが興味を持っている"
-"イベントの ビットマスクを指定する。"
+"構造体の I<events> 要素は入力パラメータで、\n"
+"ファイルディスクリプタ I<fd> に関して、\n"
+"アプリケーションが興味を持っているイベントのビットマスクを指定する。\n"
+"このフィールドに 0 が指定された場合は、I<fd> の全てのイベントが無視され、\n"
+"I<revents> には 0 が返される。"
#. type: Plain text
-#: build/C/man2/poll.2:99
+#: build/C/man2/poll.2:117
msgid ""
"The field I<revents> is an output parameter, filled by the kernel with the "
"events that actually occurred. The bits returned in I<revents> can include "
"意味がなく、対応した状態が真の場合に I<revents> に設定される)。"
#. type: Plain text
-#: build/C/man2/poll.2:104
+#: build/C/man2/poll.2:122
msgid ""
"If none of the events requested (and no error) has occurred for any of the "
"file descriptors, then B<poll>() blocks until one of the events occurs."
"(block) する。"
#. type: Plain text
-#: build/C/man2/poll.2:113
+#: build/C/man2/poll.2:131
msgid ""
"The I<timeout> argument specifies an upper limit on the time for which "
"B<poll>() will block, in milliseconds. Specifying a negative value in "
"る。"
#. type: Plain text
-#: build/C/man2/poll.2:119
+#: build/C/man2/poll.2:137
msgid ""
"The bits that may be set/returned in I<events> and I<revents> are defined in "
"I<E<lt>poll.hE<gt>>:"
"定義されている:"
#. type: TP
-#: build/C/man2/poll.2:120
+#: build/C/man2/poll.2:138
#, no-wrap
msgid "B<POLLIN>"
msgstr "B<POLLIN>"
#. type: Plain text
-#: build/C/man2/poll.2:123
+#: build/C/man2/poll.2:141
msgid "There is data to read."
msgstr "読み出し可能なデータがある。"
#. type: TP
-#: build/C/man2/poll.2:123
+#: build/C/man2/poll.2:141
#, no-wrap
msgid "B<POLLPRI>"
msgstr "B<POLLPRI>"
#. type: Plain text
-#: build/C/man2/poll.2:127
+#: build/C/man2/poll.2:145
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)."
"がスレーブ側の変化を見つけたとき)。"
#. type: TP
-#: build/C/man2/poll.2:127
+#: build/C/man2/poll.2:145
#, no-wrap
msgid "B<POLLOUT>"
msgstr "B<POLLOUT>"
#. type: Plain text
-#: build/C/man2/poll.2:130
+#: build/C/man2/poll.2:148
msgid "Writing now will not block."
msgstr "書き込みが停止 (block) しない状態である。"
#. type: TP
-#: build/C/man2/poll.2:130
+#: build/C/man2/poll.2:148
#, no-wrap
msgid "B<POLLRDHUP> (since Linux 2.6.17)"
msgstr "B<POLLRDHUP> (Linux 2.6.17 以降)"
#. type: Plain text
-#: build/C/man2/poll.2:141
+#: build/C/man2/poll.2:159
msgid ""
"Stream socket peer closed connection, or shut down writing half of "
"connection. The B<_GNU_SOURCE> feature test macro must be defined (before "
"らない。"
#. type: TP
-#: build/C/man2/poll.2:141
+#: build/C/man2/poll.2:159
#, no-wrap
msgid "B<POLLERR>"
msgstr "B<POLLERR>"
#. type: Plain text
-#: build/C/man2/poll.2:144
+#: build/C/man2/poll.2:162
msgid "Error condition (output only)."
msgstr "エラー状態 (出力の場合のみ)。"
#. type: TP
-#: build/C/man2/poll.2:144
+#: build/C/man2/poll.2:162
#, no-wrap
msgid "B<POLLHUP>"
msgstr "B<POLLHUP>"
#. type: Plain text
-#: build/C/man2/poll.2:147
+#: build/C/man2/poll.2:165
msgid "Hang up (output only)."
msgstr "ハングアップした (出力の場合のみ)。"
#. type: TP
-#: build/C/man2/poll.2:147
+#: build/C/man2/poll.2:165
#, no-wrap
msgid "B<POLLNVAL>"
msgstr "B<POLLNVAL>"
#. type: Plain text
-#: build/C/man2/poll.2:152
+#: build/C/man2/poll.2:170
msgid "Invalid request: I<fd> not open (output only)."
msgstr "不正な要求: I<fd> がオープンされていない (出力の場合のみ)。"
#. type: Plain text
-#: build/C/man2/poll.2:158
+#: build/C/man2/poll.2:176
msgid ""
"When compiling with B<_XOPEN_SOURCE> defined, one also has the following, "
"which convey no further information beyond the bits listed above:"
"だし、上記のリストにあるビット以上の情報が得られる訳ではない。"
#. type: TP
-#: build/C/man2/poll.2:159
+#: build/C/man2/poll.2:177
#, no-wrap
msgid "B<POLLRDNORM>"
msgstr "B<POLLRDNORM>"
#. type: Plain text
-#: build/C/man2/poll.2:163
+#: build/C/man2/poll.2:181
msgid "Equivalent to B<POLLIN>."
msgstr "B<POLLIN> と同じ。"
#. type: TP
-#: build/C/man2/poll.2:163
+#: build/C/man2/poll.2:181
#, no-wrap
msgid "B<POLLRDBAND>"
msgstr "B<POLLRDBAND>"
#. POLLRDBAND is used in the DECnet protocol.
#. type: Plain text
-#: build/C/man2/poll.2:167
+#: build/C/man2/poll.2:185
msgid "Priority band data can be read (generally unused on Linux)."
msgstr ""
"優先帯域データ (priority band data) が読み出し可能である (普通は Linux では使"
"用されない)。"
#. type: TP
-#: build/C/man2/poll.2:167
+#: build/C/man2/poll.2:185
#, no-wrap
msgid "B<POLLWRNORM>"
msgstr "B<POLLWRNORM>"
#. type: Plain text
-#: build/C/man2/poll.2:171
+#: build/C/man2/poll.2:189
msgid "Equivalent to B<POLLOUT>."
msgstr "B<POLLOUT> と同じ。"
#. type: TP
-#: build/C/man2/poll.2:171
+#: build/C/man2/poll.2:189
#, no-wrap
msgid "B<POLLWRBAND>"
msgstr "B<POLLWRBAND>"
#. type: Plain text
-#: build/C/man2/poll.2:174
+#: build/C/man2/poll.2:192
msgid "Priority data may be written."
msgstr "優先帯域データ (priority data) が書き込み可能である。"
#. type: Plain text
-#: build/C/man2/poll.2:178
+#: build/C/man2/poll.2:196
msgid "Linux also knows about, but does not use B<POLLMSG>."
msgstr "Linux では B<POLLMSG> も定義されているが、使用されていない。"
#. type: SS
-#: build/C/man2/poll.2:178
+#: build/C/man2/poll.2:196
#, no-wrap
msgid "ppoll()"
msgstr "ppoll()"
#. type: Plain text
-#: build/C/man2/poll.2:192
+#: build/C/man2/poll.2:210
msgid ""
"The relationship between B<poll>() and B<ppoll>() is analogous to the "
"relationship between B<select>(2) and B<pselect>(2): like B<pselect>(2), "
"つことができる。"
#. type: Plain text
-#: build/C/man2/poll.2:198
+#: build/C/man2/poll.2:216
msgid ""
"Other than the difference in the precision of the I<timeout> argument, the "
"following B<ppoll>() call:"
"I<timeout> 引き数の精度の違いを除くと、以下の B<ppoll>() の呼び出しは、"
#. type: Plain text
-#: build/C/man2/poll.2:201
+#: build/C/man2/poll.2:219
#, 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:210
+#: build/C/man2/poll.2:228
#, no-wrap
msgid ""
" sigset_t origmask;\n"
" int timeout;\n"
#. type: Plain text
-#: build/C/man2/poll.2:216
+#: build/C/man2/poll.2:234
#, no-wrap
msgid ""
" timeout = (timeout_ts == NULL) ? -1 :\n"
" sigprocmask(SIG_SETMASK, &origmask, NULL);\n"
#. type: Plain text
-#: build/C/man2/poll.2:223
+#: build/C/man2/poll.2:241
msgid ""
"See the description of B<pselect>(2) for an explanation of why B<ppoll>() "
"is necessary."
"と。"
#. type: Plain text
-#: build/C/man2/poll.2:235
+#: build/C/man2/poll.2:253
msgid ""
"If the I<sigmask> argument is specified as NULL, then no signal mask "
"manipulation is performed (and thus B<ppoll>() differs from B<poll>() only "
"けとなる)。"
#. type: Plain text
-#: build/C/man2/poll.2:242
+#: build/C/man2/poll.2:260
msgid ""
"The I<timeout_ts> argument specifies an upper limit on the amount of time "
"that B<ppoll>() will block. This argument is a pointer to a structure of "
"の引き数には以下の型の構造体へのポインタを指定する。"
#. type: Plain text
-#: build/C/man2/poll.2:249
+#: build/C/man2/poll.2:267
#, no-wrap
msgid ""
"struct timespec {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/poll.2:257
+#: build/C/man2/poll.2:275
msgid ""
"If I<timeout_ts> is specified as NULL, then B<ppoll>() can block "
"indefinitely."
"得る。"
#. type: Plain text
-#: build/C/man2/poll.2:267
+#: build/C/man2/poll.2:285
msgid ""
"On success, a positive number is returned; this is the number of structures "
"which have nonzero I<revents> fields (in other words, those descriptors with "
"定される。"
#. type: Plain text
-#: build/C/man2/poll.2:272
+#: build/C/man2/poll.2:290
msgid ""
"The array given as argument was not contained in the calling program's "
"address space."
"い。"
#. type: Plain text
-#: build/C/man2/poll.2:276
+#: build/C/man2/poll.2:294
msgid "A signal occurred before any requested event; see B<signal>(7)."
msgstr ""
"要求されたイベントのどれかが起こる前にシグナルが発生した。 B<signal>(7) 参"
"照。"
#. type: Plain text
-#: build/C/man2/poll.2:283
+#: build/C/man2/poll.2:301
msgid "The I<nfds> value exceeds the B<RLIMIT_NOFILE> value."
msgstr "I<nfds> の値が B<RLIMIT_NOFILE> を超えた。"
#. type: Plain text
-#: build/C/man2/poll.2:286
+#: build/C/man2/poll.2:304
msgid "There was no space to allocate file descriptor tables."
msgstr "ファイルディスクリプタ・テーブルを確保するためのメモリがない。"
#. type: Plain text
-#: build/C/man2/poll.2:299
+#: build/C/man2/poll.2:317
msgid ""
"The B<poll>() system call was introduced in Linux 2.1.23. The B<poll>() "
"library call was introduced in libc 5.4.28 (and provides emulation using "
"う)。"
#. type: Plain text
-#: build/C/man2/poll.2:306
+#: build/C/man2/poll.2:324
msgid ""
"The B<ppoll>() system call was added to Linux in kernel 2.6.16. The "
"B<ppoll>() library call was added in glibc 2.4."
#. NetBSD 3.0 has a pollts() which is like Linux ppoll().
#. type: Plain text
-#: build/C/man2/poll.2:312
+#: build/C/man2/poll.2:330
msgid "B<poll>() conforms to POSIX.1-2001. B<ppoll>() is Linux-specific."
msgstr ""
"B<poll>() は POSIX.1-2001 に準拠している。 B<ppoll>() は Linux 固有である。"
#. type: Plain text
-#: build/C/man2/poll.2:320
+#: build/C/man2/poll.2:338
msgid ""
"Some implementations define the nonstandard constant B<INFTIM> with the "
"value -1 for use as a I<timeout> for B<poll>(). This constant is not "
"いない。"
#. type: SS
-#: build/C/man2/poll.2:320
+#: build/C/man2/poll.2:338
#, no-wrap
msgid "Linux Notes"
msgstr "Linux での注意"
#. type: Plain text
-#: build/C/man2/poll.2:334
+#: build/C/man2/poll.2:352
msgid ""
"The Linux B<ppoll>() system call modifies its I<timeout_ts> argument. "
"However, the glibc wrapper function hides this behavior by using a local "
"数では I<timeout_ts> 引き数は変更されない。"
#. type: Plain text
-#: build/C/man2/poll.2:338
+#: build/C/man2/poll.2:356
msgid ""
"See the discussion of spurious readiness notifications under the BUGS "
"section of B<select>(2)."
"readiness notifications) についての議論を参照のこと。"
#. type: Plain text
-#: build/C/man2/poll.2:342
+#: build/C/man2/poll.2:359
msgid "B<select>(2), B<select_tut>(2), B<time>(7)"
msgstr "B<select>(2), B<select_tut>(2), B<time>(7)"
-#~ msgid "2009-01-17"
-#~ msgstr "2009-01-17"
+#~ msgid "Finally, the actual wait is started by B<epoll_wait>(2)."
+#~ msgstr "最後に B<epoll_wait>(2) で実際のイベント待ちを開始する。"
+
+#~ msgid "COLOPHON"
+#~ msgstr "この文書について"
+
+#~ msgid ""
+#~ "This page is part of release 3.38 of the Linux I<man-pages> project. A "
+#~ "description of the project, and information about reporting bugs, can be "
+#~ "found at http://www.kernel.org/doc/man-pages/."
+#~ msgstr ""
+#~ "この man ページは Linux I<man-pages> プロジェクトのリリース 3.38 の一部で"
+#~ "ある。\n"
+#~ "プロジェクトの説明とバグ報告に関する情報は\n"
+#~ "http://www.kernel.org/doc/man-pages/ に書かれている。"
+
+#~ msgid ""
+#~ "B<epoll_create>() creates an epoll \"instance\", requesting the kernel "
+#~ "to allocate an event backing store dimensioned for I<size> descriptors. "
+#~ "The I<size> is not the maximum size of the backing store but just a hint "
+#~ "to the kernel about how to dimension internal structures. (Nowadays, "
+#~ "I<size> is unused; see NOTES below.)"
+#~ msgstr ""
+#~ "B<epoll_create>() は、 I<size> 個のディスクリプタを保持できる大きさの\n"
+#~ "イベントバッキングストアの割り当てをカーネルに対して要求することにより、\n"
+#~ "epoll 「インスタンス」を作成する。 I<size> はバッキングストアの最大サイ\n"
+#~ "ズではなく、内部構造の大きさをどの位にするかをカーネルに知らせるヒント\n"
+#~ "でしかない。 (現在は I<size> は使用されない。下記の「注意」を参照。)"
-#~ msgid "2010-08-29"
-#~ msgstr "2010-08-29"
+#~ msgid ""
+#~ "Since Linux 2.6.8, the I<size> argument is unused, but must be greater "
+#~ "than zero. (The kernel dynamically sizes the required data structures "
+#~ "without needing this initial hint.)"
+#~ msgstr ""
+#~ "Linux 2.6.8 以降では、 I<size> 引き数は使用されないが、 0 より大きくなけれ"
+#~ "ばならない。\n"
+#~ "(カーネルは、動的に必要なデータ構造の大きさを決定し、 最初のヒントを必要し"
+#~ "ない。)"
+
+#~ msgid "The field I<fd> contains a file descriptor for an open file."
+#~ msgstr ""
+#~ "構造体の I<fd> にはオープンしたファイルのファイルディスクリプタを入れる。"
#~ msgid ""
#~ "Glibc support for B<epoll_pwait>() is provided starting with version 2.6."