msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2021-03-12 14:00+0900\n"
-"PO-Revision-Date: 2021-03-12 21:44+0900\n"
+"PO-Revision-Date: 2021-03-27 18:31+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#: build/C/man7/epoll.7:21
#, no-wrap
msgid "2019-03-06"
-msgstr ""
+msgstr "2019-03-06"
#. type: TH
#: build/C/man7/epoll.7:21 build/C/man2/epoll_create.2:25
#. type: Plain text
#: build/C/man7/epoll.7:36
-#, fuzzy
-#| msgid ""
-#| "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:"
msgid ""
"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."
-msgstr ""
-"B<epoll> API は B<poll>(2) と同様の処理を行う、つまり、複数のファイルディス"
-"ク\n"
-"リプタを監視し、その中のいずれかが入出力可能な状態であるかを確認する。\n"
-"B<epoll> API は、エッジトリガーインターフェースとレベルトリガーインターフェー"
-"スの\n"
-"いずれとしても使用することができ、監視するファイルディスクリプターの数が多"
-"い\n"
-"場合にも使用できる。 B<epoll> インスタンスの作成や管理を行うために\n"
-"以下のシステムコールが提供されている:"
+msgstr "B<epoll> API は B<poll>(2) と同様の処理を行う、つまり、複数のファイルディスクリプタを監視し、その中のいずれかが入出力可能な状態であるかを確認する。 B<epoll> API は、エッジトリガーインターフェースとレベルトリガーインターフェースのいずれとしても使用することができ、監視するファイルディスクリプターの数が多い場合にも使用できる。"
#. type: Plain text
#: build/C/man7/epoll.7:44
#: build/C/man2/poll.2:545 build/C/man2/poll.2:554 build/C/man2/poll.2:562
#, no-wrap
msgid "\\(bu"
-msgstr ""
+msgstr "\\(bu"
#. type: Plain text
#: build/C/man7/epoll.7:51
#. type: Plain text
#: build/C/man7/epoll.7:74
-#, fuzzy
-#| msgid ""
-#| "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).)"
msgid ""
"B<epoll_create>(2) creates a new 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_create>(2) は B<epoll> インスタンスを作成し、そのインスタンスを参照す"
-"る\n"
+"B<epoll_create>(2) は新規の B<epoll> インスタンスを作成し、そのインスタンスを参照する\n"
"ファイルディスクリプターを返す。(もっと新しい B<epoll_create1>(2) では、\n"
"B<epoll_create>(2) の機能が拡張されている)。"
#. type: Plain text
#: build/C/man7/epoll.7:106
-#, fuzzy
-#| msgid "A pipe writer writes 2 kB of data on the write side of the pipe."
msgid "A pipe writer writes 2\\ kB of data on the write side of the pipe."
-msgstr ""
-"パイプへ書き込むプログラムが 2 kB のデータをパイプの書き込み側へ書き込む。"
+msgstr "パイプへ書き込むプログラムが 2\\ kB のデータをパイプの書き込み側へ書き込む。"
#. type: IP
#: build/C/man7/epoll.7:106 build/C/man7/epoll.7:422
#. type: Plain text
#: build/C/man7/epoll.7:115
-#, fuzzy
-#| msgid "The pipe reader reads 1 kB of data from I<rfd>."
msgid "The pipe reader reads 1\\ kB of data from I<rfd>."
-msgstr "パイプから読み出すプログラムが、1 kB のデータを I<rfd> から読み出す。"
+msgstr "パイプから読み出すプログラムが、1\\ kB のデータを I<rfd> から読み出す。"
#. type: IP
#: build/C/man7/epoll.7:115 build/C/man7/epoll.7:446
#: build/C/man7/epoll.7:164
#, no-wrap
msgid "a)"
-msgstr ""
+msgstr "a)"
#. type: Plain text
#: build/C/man7/epoll.7:166
#: build/C/man7/epoll.7:166
#, no-wrap
msgid "b)"
-msgstr ""
+msgstr "b)"
#. type: Plain text
#: build/C/man7/epoll.7:173
#. type: Plain text
#: build/C/man7/epoll.7:229
-#, fuzzy
-#| msgid ""
-#| "If the system is in B<autosleep> mode via I</sys/power/autosleep> 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<epoll>(7) B<EPOLLWAKEUP> flag."
msgid ""
"If the system is in B<autosleep> mode via I</sys/power/autosleep> 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<epoll_ctl>(2) B<EPOLLWAKEUP> flag."
-msgstr ""
-"システムが I</sys/power/autosleep> 経由で B<autosleep> モードになっていて、 "
-"デバイスをスリープ状態から起こすイベントが発生した場合、 デバイスドライバーは"
-"デバイスを起こしておくのはそのイベントがキューに入るまでだけである。 イベント"
-"が処理されるまでデバイスを起こしたままにしておくには、 B<epoll>(7) "
-"B<EPOLLWAKEUP> フラグを使う必要がある。"
+msgstr "システムが I</sys/power/autosleep> 経由で B<autosleep> モードになっていて、 デバイスをスリープ状態から起こすイベントが発生した場合、 デバイスドライバーはデバイスを起こしておくのはそのイベントがキューに入るまでだけである。 イベントが処理されるまでデバイスを起こしたままにしておくには、 B<epoll_ctl>(2) B<EPOLLWAKEUP> フラグを使う必要がある。"
#. type: Plain text
#: build/C/man7/epoll.7:248
#. type: Plain text
#: build/C/man7/epoll.7:328
-#, fuzzy, no-wrap
-#| msgid ""
-#| "for (;;) {\n"
-#| " nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);\n"
-#| " if (nfds == -1) {\n"
-#| " perror(\"epoll_pwait\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
"for (;;) {\n"
" nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);\n"
"for (;;) {\n"
" nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);\n"
" if (nfds == -1) {\n"
-" perror(\"epoll_pwait\");\n"
+" perror(\"epoll_wait\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
#. type: Plain text
#: build/C/man7/epoll.7:350
-#, fuzzy, no-wrap
-#| msgid ""
-#| " for (n = 0; n E<lt> nfds; ++n) {\n"
-#| " if (events[n].data.fd == listen_sock) {\n"
-#| " conn_sock = accept(listen_sock,\n"
-#| " (struct sockaddr *) &local, &addrlen);\n"
-#| " if (conn_sock == -1) {\n"
-#| " perror(\"accept\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
-#| " setnonblocking(conn_sock);\n"
-#| " ev.events = EPOLLIN | EPOLLET;\n"
-#| " ev.data.fd = conn_sock;\n"
-#| " if (epoll_ctl(epollfd, EPOLL_CTL_ADD, conn_sock,\n"
-#| " &ev) == -1) {\n"
-#| " perror(\"epoll_ctl: conn_sock\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
-#| " } else {\n"
-#| " do_use_fd(events[n].data.fd);\n"
-#| " }\n"
-#| " }\n"
-#| "}\n"
+#, no-wrap
msgid ""
" for (n = 0; n E<lt> nfds; ++n) {\n"
" if (events[n].data.fd == listen_sock) {\n"
" for (n = 0; n E<lt> nfds; ++n) {\n"
" if (events[n].data.fd == listen_sock) {\n"
" conn_sock = accept(listen_sock,\n"
-" (struct sockaddr *) &local, &addrlen);\n"
+" (struct sockaddr *) &addr, &addrlen);\n"
" if (conn_sock == -1) {\n"
" perror(\"accept\");\n"
" exit(EXIT_FAILURE);\n"
#: build/C/man7/epoll.7:370
#, no-wrap
msgid "0."
-msgstr ""
+msgstr "0."
#. type: Plain text
#: build/C/man7/epoll.7:373
#. mtk, Feb 2008
#. type: Plain text
#: build/C/man7/epoll.7:412
-#, fuzzy
-#| 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 B<epoll> instance. This can be a useful technique for filtering "
-#| "events, if the duplicate file descriptors are registered with different "
-#| "I<events> masks."
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>) file descriptor to the "
"same B<epoll> instance. This can be a useful technique for filtering "
"events, if the duplicate file descriptors are registered with different "
"I<events> masks."
-msgstr ""
-"たぶん B<EEXIST> を受け取るだろう。 しかしながら、同じ B<epoll> インスタンス"
-"に対して複製されたディスクリプターを追加することは可能である (B<dup>(2), "
-"B<dup2>(2), B<fcntl>(2) B<F_DUPFD> など)。 複製したファイルディスクリプター"
-"を異なる I<events> マスクで登録すれば、イベントをフィルタリングするのに この"
-"機能は有用な手法である。"
+msgstr "たぶん B<EEXIST> を受け取るだろう。 しかしながら、同じ B<epoll> インスタンスに対して複製されたファイルディスクリプターを追加することは可能である (B<dup>(2), B<dup2>(2), B<fcntl>(2) B<F_DUPFD> など)。 複製したファイルディスクリプターを異なる I<events> マスクで登録すれば、イベントをフィルタリングするのに この機能は有用な手法である。"
#. type: Plain text
#: build/C/man7/epoll.7:419
#. type: Plain text
#: build/C/man7/epoll.7:446
-#, fuzzy
-#| 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."
msgid ""
"The B<epoll_ctl>(2) call fails (B<EINVAL>). However, you can add an "
"B<epoll> file descriptor inside another B<epoll> file descriptor set."
-msgstr ""
-"B<epoll_ctl>(2) の呼び出しは (B<EINVAL> で) 失敗するだろう。 ただし "
-"B<epoll> ファイルディスクリプターを他の B<epoll> ファイルディスクリプター集合"
-"の内部に追加することは可能である。"
+msgstr "B<epoll_ctl>(2) の呼び出しは (B<EINVAL> で) 失敗する。 ただし B<epoll> ファイルディスクリプターを他の B<epoll> ファイルディスクリプター集合の内部に追加することは可能である。"
#. type: Plain text
#: build/C/man7/epoll.7:450
#: build/C/man7/epoll.7:453
#, no-wrap
msgid "6."
-msgstr ""
+msgstr "6."
#. type: Plain text
#: build/C/man7/epoll.7:457
#: build/C/man7/epoll.7:492
#, no-wrap
msgid "7."
-msgstr ""
+msgstr "7."
#. type: Plain text
#: build/C/man7/epoll.7:496
#: build/C/man7/epoll.7:498
#, no-wrap
msgid "8."
-msgstr ""
+msgstr "8."
#. type: Plain text
#: build/C/man7/epoll.7:501
#: build/C/man7/epoll.7:506
#, no-wrap
msgid "9."
-msgstr ""
+msgstr "9."
#. type: Plain text
#: build/C/man7/epoll.7:513
-#, fuzzy
-#| msgid ""
-#| "Do I need to continuously read/write a file descriptor until B<EAGAIN> "
-#| "when using the B<EPOLLET> flag (edge-triggered behavior) ?"
msgid ""
"Do I need to continuously read/write a file descriptor until B<EAGAIN> when "
"using the B<EPOLLET> flag (edge-triggered behavior)?"
#. type: Plain text
#: build/C/man7/epoll.7:625
-#, fuzzy
-#| msgid ""
-#| "B<epoll_create>(2), B<epoll_create1>(2), B<epoll_ctl>(2), B<epoll_wait>(2)"
msgid ""
"B<epoll_create>(2), B<epoll_create1>(2), B<epoll_ctl>(2), B<epoll_wait>(2), "
"B<poll>(2), B<select>(2)"
-msgstr ""
-"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), B<poll>(2), B<select>(2)"
#. type: SH
#: build/C/man7/epoll.7:625 build/C/man2/epoll_create.2:153
#. type: TH
#: build/C/man2/epoll_create.2:25 build/C/man2/epoll_wait.2:23
#: build/C/man2/poll.2:30
-#, fuzzy, no-wrap
-#| msgid "2012-04-15"
+#, no-wrap
msgid "2020-04-11"
-msgstr "2012-04-15"
+msgstr "2020-04-11"
#. type: Plain text
#: build/C/man2/epoll_create.2:28
#. type: Plain text
#: build/C/man2/epoll_create.2:43
-#, fuzzy
-#| msgid ""
-#| "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."
msgid ""
"B<epoll_create>() creates a new B<epoll>(7) instance. Since Linux 2.6.8, "
"the I<size> argument is ignored, but must be greater than zero; see NOTES."
msgstr ""
-"B<epoll_create>()は B<epoll>(7) インスタンスを作成する。\n"
+"B<epoll_create>() は新規の B<epoll>(7) インスタンスを作成する。\n"
"Linux 2.6.8 以降では、I<size> 引き数は無視されるが、 0 より大きな値で\n"
-"なければならない。下記の「注意」を参照。"
+"なければならない。「注意」を参照。"
#. type: Plain text
#: build/C/man2/epoll_create.2:56
#. type: Plain text
#: build/C/man2/epoll_create.2:85
-#, fuzzy
-#| 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."
msgid ""
"On success, these system calls return a file descriptor (a nonnegative "
"integer). On error, -1 is returned, and I<errno> is set to indicate the "
"error."
-msgstr ""
-"成功すると、これらのシステムコールは 非負のファイルディスクリプターを返す。 "
-"エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
+msgstr "成功すると、これらのシステムコールはファイルディスクリプター (非負の整数) を返す。 エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
#. type: SH
#: build/C/man2/epoll_create.2:85 build/C/man2/epoll_ctl.2:318
#: build/C/man2/epoll_ctl.2:21
#, no-wrap
msgid "2020-11-01"
-msgstr ""
+msgstr "2020-11-01"
#. type: Plain text
#: build/C/man2/epoll_ctl.2:24
-#, fuzzy
-#| msgid "epoll_ctl - control interface for an epoll descriptor"
msgid "epoll_ctl - control interface for an epoll file descriptor"
-msgstr "epoll_ctl - epoll ディスクリプターのインターフェースを操作する"
+msgstr "epoll_ctl - epoll ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92æ\93\8dä½\9cã\81\99ã\82\8b"
#. type: Plain text
#: build/C/man2/epoll_ctl.2:29
#. type: Plain text
#: build/C/man2/epoll_ctl.2:125
-#, fuzzy
-#| msgid ""
-#| "Stream socket peer closed connection, or shut down writing half of "
-#| "connection. (This flag is especially useful for writing simple code to "
-#| "detect peer shutdown when using Edge Triggered monitoring.)"
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:230
-#, fuzzy, no-wrap
-#| msgid "B<EPOLLWAKEUP> (since Linux 3.5)"
+#, no-wrap
msgid "B<EPOLLEXCLUSIVE> (since Linux 4.5)"
-msgstr "B<EPOLLWAKEUP> (Linux 3.5 以降)"
+msgstr "B<EPOLLEXCLUSIVE> (Linux 4.5 以降)"
#. type: Plain text
#: build/C/man2/epoll_ctl.2:245
#: build/C/man2/epoll_ctl.2:379
#, no-wrap
msgid "B<ELOOP>"
-msgstr ""
+msgstr "B<ELOOP>"
#. type: Plain text
#: build/C/man2/epoll_ctl.2:387
#. The interface should be finalized by Linux kernel 2.5.66.
#. type: Plain text
#: build/C/man2/epoll_ctl.2:427
-#, fuzzy
-#| 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."
msgid ""
"B<epoll_ctl>() was added to the kernel in version 2.6. Library support is "
"provided in glibc starting with version 2.3.2."
msgstr ""
-"B<epoll_create>() はカーネル 2.6 で追加された。\n"
+"B<epoll_ctl>() はカーネル 2.6 で追加された。\n"
"ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。"
#. type: Plain text
#: build/C/man2/epoll_ctl.2:430
-#, fuzzy
-#| msgid "B<epoll_create>() is Linux-specific."
msgid "B<epoll_ctl>() is Linux-specific."
-msgstr "B<epoll_create>() は Linux 独自である。"
+msgstr "B<epoll_ctl>() は Linux 独自である。"
#. type: Plain text
#: build/C/man2/epoll_ctl.2:435
#. type: Plain text
#: build/C/man2/epoll_wait.2:150
-#, fuzzy, no-wrap
-#| msgid " ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask);\n"
+#, no-wrap
msgid "ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask);\n"
-msgstr " 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:156
#. type: Plain text
#: build/C/man2/epoll_wait.2:160
-#, fuzzy, no-wrap
-#| msgid " sigset_t origmask;\n"
+#, no-wrap
msgid "sigset_t origmask;\n"
-msgstr " sigset_t origmask;\n"
+msgstr "sigset_t origmask;\n"
#. type: Plain text
#: build/C/man2/epoll_wait.2:164
-#, fuzzy, no-wrap
-#| msgid ""
-#| " sigprocmask(SIG_SETMASK, &sigmask, &origmask);\n"
-#| " ready = epoll_wait(epfd, &events, maxevents, timeout);\n"
-#| " sigprocmask(SIG_SETMASK, &origmask, NULL);\n"
+#, no-wrap
msgid ""
"pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n"
"ready = epoll_wait(epfd, &events, maxevents, timeout);\n"
"pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
msgstr ""
-" sigprocmask(SIG_SETMASK, &sigmask, &origmask);\n"
-" ready = epoll_wait(epfd, &events, maxevents, timeout);\n"
-" sigprocmask(SIG_SETMASK, &origmask, NULL);\n"
+"pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n"
+"ready = epoll_wait(epfd, &events, maxevents, timeout);\n"
+"pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
#. type: Plain text
#: build/C/man2/epoll_wait.2:173
#. type: Plain text
#: build/C/man2/epoll_wait.2:233
-#, fuzzy
-#| 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."
msgid ""
"While one thread is blocked in a call to B<epoll_wait>(), 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 ""
-"あるスレッドが B<epoll_pwait>() を呼び出して停止されている間に、\n"
-"別のスレッドが wait 中の B<epoll> インストールにファイルディスクリプターを\n"
-"追加することがある。新しいファイルディスクリプターでイベントが発生すると、\n"
-"B<epoll_wait>() の呼び出しによる停止が解除されることになる。"
+msgstr "あるスレッドが B<epoll_wait>() を呼び出して停止されている間に、別のスレッドが wait 中の B<epoll> インストールにファイルディスクリプターを追加することがある。新しいファイルディスクリプターでイベントが発生すると、 B<epoll_wait>() の呼び出しによる停止が解除されることになる。"
#. type: Plain text
#: build/C/man2/epoll_wait.2:245
#. type: Plain text
#: build/C/man2/epoll_wait.2:267
-#, fuzzy
-#| msgid ""
-#| "In kernels before 2.6.37, a I<timeout> value larger than approximately "
-#| "I<LONG_MAX / HZ> milliseconds is treated as -1 (i.e., infinity). Thus, "
-#| "for example, on a system where the I<sizeof(long)> is 4 and the kernel "
-#| "I<HZ> value is 1000, this means that timeouts greater than 35.79 minutes "
-#| "are treated as infinity."
msgid ""
"In kernels before 2.6.37, a I<timeout> value larger than approximately "
"I<LONG_MAX / HZ> milliseconds is treated as -1 (i.e., infinity). Thus, for "
#. type: SS
#: build/C/man2/epoll_wait.2:267 build/C/man2/poll.2:445
-#, fuzzy, no-wrap
-#| msgid "C library/kernel ABI differences"
+#, no-wrap
msgid "C library/kernel differences"
-msgstr "C ライブラリとカーネル ABI の違い"
+msgstr "C ライブラリとカーネルの違い"
#. type: Plain text
#: build/C/man2/epoll_wait.2:280
#. type: Plain text
#: build/C/man2/poll.2:45
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int ppoll(struct pollfd *>I<fds>B<, nfds_t >I<nfds>B<, >\n"
-#| "B< const struct timespec *>I<timeout_ts>B<, const sigset_t *>I<sigmask>B<);>\n"
+#, no-wrap
msgid ""
"B<int ppoll(struct pollfd *>I<fds>B<, nfds_t >I<nfds>B<,>\n"
"B< const struct timespec *>I<tmo_p>B<, const sigset_t *>I<sigmask>B<);>\n"
msgstr ""
-"B<int ppoll(struct pollfd *>I<fds>B<, nfds_t >I<nfds>B<, >\n"
-"B< const struct timespec *>I<timeout_ts>B<, const sigset_t *>I<sigmask>B<);>\n"
+"B<int ppoll(struct pollfd *>I<fds>B<, nfds_t >I<nfds>B<,>\n"
+"B< const struct timespec *>I<tmo_p>B<, const sigset_t *>I<sigmask>B<);>\n"
#. type: Plain text
#: build/C/man2/poll.2:56
#. type: Plain text
#: build/C/man2/poll.2:190
-#, fuzzy
-#| msgid ""
-#| "Writing is now possible, though a write larger that the available space "
-#| "in a socket or pipe will still block (unless B<O_NONBLOCK> is set)."
msgid ""
"Writing is now possible, though a write larger than the available space in a "
"socket or pipe will still block (unless B<O_NONBLOCK> is set)."
#. type: Plain text
#: build/C/man2/poll.2:274
-#, fuzzy, no-wrap
-#| msgid " ready = ppoll(&fds, nfds, timeout_ts, &sigmask);\n"
+#, no-wrap
msgid "ready = ppoll(&fds, nfds, tmo_p, &sigmask);\n"
-msgstr " ready = ppoll(&fds, nfds, timeout_ts, &sigmask);\n"
+msgstr "ready = ppoll(&fds, nfds, tmo_p, &sigmask);\n"
#. type: Plain text
#: build/C/man2/poll.2:280
-#, fuzzy
-#| msgid "is equivalent to I<atomically> executing the following calls:"
msgid "is nearly equivalent to I<atomically> executing the following calls:"
-msgstr "次の呼び出しを I<atomic> に実行するのと等価である。"
+msgstr "次の呼び出しを I<atomic> に実行するのとほぼ等価である。"
#. type: Plain text
#: build/C/man2/poll.2:285
-#, fuzzy, no-wrap
-#| msgid ""
-#| " sigset_t origmask;\n"
-#| " int timeout;\n"
+#, no-wrap
msgid ""
"sigset_t origmask;\n"
"int timeout;\n"
msgstr ""
-" sigset_t origmask;\n"
-" int timeout;\n"
+"sigset_t origmask;\n"
+"int timeout;\n"
#. type: Plain text
#: build/C/man2/poll.2:291
-#, fuzzy, no-wrap
-#| msgid ""
-#| " timeout = (timeout_ts == NULL) ? -1 :\n"
-#| " (timeout_ts.tv_sec * 1000 + timeout_ts.tv_nsec / 1000000);\n"
-#| " sigprocmask(SIG_SETMASK, &sigmask, &origmask);\n"
-#| " ready = poll(&fds, nfds, timeout);\n"
-#| " sigprocmask(SIG_SETMASK, &origmask, NULL);\n"
+#, no-wrap
msgid ""
"timeout = (tmo_p == NULL) ? -1 :\n"
" (tmo_p-E<gt>tv_sec * 1000 + tmo_p-E<gt>tv_nsec / 1000000);\n"
"ready = poll(&fds, nfds, timeout);\n"
"pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
msgstr ""
-" timeout = (timeout_ts == NULL) ? -1 :\n"
-" (timeout_ts.tv_sec * 1000 + timeout_ts.tv_nsec / 1000000);\n"
-" sigprocmask(SIG_SETMASK, &sigmask, &origmask);\n"
-" ready = poll(&fds, nfds, timeout);\n"
-" sigprocmask(SIG_SETMASK, &origmask, NULL);\n"
+"timeout = (tmo_p == NULL) ? -1 :\n"
+" (tmo_p-E<gt>tv_sec * 1000 + tmo_p-E<gt>tv_nsec / 1000000);\n"
+"pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n"
+"ready = poll(&fds, nfds, timeout);\n"
+"pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
#. type: Plain text
#: build/C/man2/poll.2:304
#. type: Plain text
#: build/C/man2/poll.2:329
-#, fuzzy
-#| 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 the following form:"
msgid ""
"The I<tmo_p> argument specifies an upper limit on the amount of time that "
"B<ppoll>() will block. This argument is a pointer to a structure of the "
"following form:"
-msgstr ""
-"I<timeout> 引き数は B<ppoll>() が停止する時間の上限を指定するものである。 こ"
-"の引き数には以下の型の構造体へのポインターを指定する。"
+msgstr "I<tmo_p> 引き数は B<ppoll>() が停止する時間の上限を指定するものである。 この引き数には以下の型の構造体へのポインターを指定する。"
#. type: Plain text
#: build/C/man2/poll.2:336
#. type: Plain text
#: build/C/man2/poll.2:344
-#, fuzzy
-#| msgid ""
-#| "If I<timeout_ts> is specified as NULL, then B<ppoll>() can block "
-#| "indefinitely."
msgid ""
"If I<tmo_p> is specified as NULL, then B<ppoll>() can block indefinitely."
-msgstr ""
-"I<timeout_ts> に NULL が指定された場合、 B<ppoll> は無限に停止することがあり"
-"得る。"
+msgstr "I<tmo_p> に NULL が指定された場合、 B<ppoll> は無限に停止することがあり得る。"
#. type: Plain text
#: build/C/man2/poll.2:354
#. type: Plain text
#: build/C/man2/poll.2:394
-#, fuzzy
-#| msgid ""
-#| "The B<poll>() 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<poll>() wrapper function provides emulation using B<select>(2)."
msgid ""
"The B<poll>() system call was introduced in Linux 2.1.23. On older kernels "
"that lack this system call, the glibc B<poll>() wrapper function provides "
"emulation using B<select>(2)."
-msgstr ""
-"B<poll>() システムコールは Linux 2.1.23 で導入された。\n"
-"このシステムコールが存在しない古いカーネルでは、\n"
-"glibc (や古い Linux libc) は B<select>(2) を使用して B<poll>() \n"
-"ラッパー関数のエミュレーションを行う。"
+msgstr "B<poll>() システムコールは Linux 2.1.23 で導入された。このシステムコールが存在しない古いカーネルでは、 glibc は B<select>(2) を使用して B<poll>() ラッパー関数のエミュレーションを行う。"
#. type: Plain text
#: build/C/man2/poll.2:401
#. NetBSD 3.0 has a pollts() which is like Linux ppoll().
#. type: Plain text
#: build/C/man2/poll.2:410
-#, fuzzy
-#| msgid "B<poll>() conforms to POSIX.1-2001. B<ppoll>() is Linux-specific."
msgid ""
"B<poll>() conforms to POSIX.1-2001 and POSIX.1-2008. B<ppoll>() is Linux-"
"specific."
-msgstr ""
-"B<poll>() は POSIX.1-2001 に準拠している。 B<ppoll>() は Linux 固有である。"
+msgstr "B<poll>() は POSIX.1-2001 と POSIX.1-2008 に準拠している。 B<ppoll>() は Linux 固有である。"
#. type: Plain text
#: build/C/man2/poll.2:418
#. type: Plain text
#: build/C/man2/poll.2:459
-#, fuzzy
-#| 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 "
-#| "variable for the timeout argument that is passed to the system call. "
-#| "Thus, the glibc B<ppoll>() function does not modify its I<timeout_ts> "
-#| "argument."
msgid ""
"The Linux B<ppoll>() system call modifies its I<tmo_p> argument. However, "
"the glibc wrapper function hides this behavior by using a local variable for "
"the timeout argument that is passed to the system call. Thus, the glibc "
"B<ppoll>() function does not modify its I<tmo_p> argument."
-msgstr ""
-"Linux の B<ppoll>() システムコールは I<timeout_ts> 引き数を変更する。 しか"
-"し、glibc のラッパー関数は、システムコールに渡す timeout 引き数 としてローカ"
-"ル変数を使うことでこの動作を隠蔽している。 このため、glibc の B<ppoll>() 関"
-"数では I<timeout_ts> 引き数は変更されない。"
+msgstr "Linux の B<ppoll>() システムコールは I<tmo_p> 引き数を変更する。 しかし、glibc のラッパー関数は、システムコールに渡す timeout 引き数 としてローカル変数を使うことでこの動作を隠蔽している。 このため、glibc の B<ppoll>() 関数では I<tmo_p> 引き数は変更されない。"
#. type: Plain text
#: build/C/man2/poll.2:476
#: build/C/man2/poll.2:480
#, no-wrap
msgid "EXAMPLES"
-msgstr ""
+msgstr "例"
#. type: Plain text
#: build/C/man2/poll.2:489
"$ B<mkfifo myfifo>\n"
"$ B<./poll_input myfifo>\n"
msgstr ""
+"$ B<mkfifo myfifo>\n"
+"$ B<./poll_input myfifo>\n"
#. type: Plain text
#: build/C/man2/poll.2:513
#: build/C/man2/poll.2:517
#, no-wrap
msgid "$ B<echo aaaaabbbbbccccc E<gt> myfifo>\n"
-msgstr ""
+msgstr "$ B<echo aaaaabbbbbccccc E<gt> myfifo>\n"
#. type: Plain text
#: build/C/man2/poll.2:521
" fd=3; events: POLLIN POLLHUP\n"
" read 6 bytes: ccccc\n"
msgstr ""
+"Opened \"myfifo\" on fd 3\n"
+"About to poll()\n"
+"Ready: 1\n"
+" fd=3; events: POLLIN POLLHUP\n"
+" read 10 bytes: aaaaabbbbb\n"
+"About to poll()\n"
+"Ready: 1\n"
+" fd=3; events: POLLIN POLLHUP\n"
+" read 6 bytes: ccccc\n"
#. type: Plain text
#: build/C/man2/poll.2:539
" closing fd 3\n"
"All file descriptors closed; bye\n"
msgstr ""
+"About to poll()\n"
+"Ready: 1\n"
+" fd=3; events: POLLHUP\n"
+" closing fd 3\n"
+"All file descriptors closed; bye\n"
#. type: Plain text
#: build/C/man2/poll.2:545
#: build/C/man2/poll.2:570
#, no-wrap
msgid "Program source"
-msgstr ""
+msgstr "プログラムのソース"
#. type: Plain text
#: build/C/man2/poll.2:574
#, no-wrap
msgid "/* poll_input.c\n"
-msgstr ""
+msgstr "/* poll_input.c\n"
#. type: Plain text
#: build/C/man2/poll.2:583
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
msgstr ""
+" Licensed under GNU General Public License v2 or later.\n"
+"*/\n"
+"#include E<lt>poll.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
#. type: Plain text
#: build/C/man2/poll.2:586
"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
" } while (0)\n"
msgstr ""
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+" } while (0)\n"
#. type: Plain text
#: build/C/man2/poll.2:592
" int nfds, num_open_fds;\n"
" struct pollfd *pfds;\n"
msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int nfds, num_open_fds;\n"
+" struct pollfd *pfds;\n"
#. type: Plain text
#: build/C/man2/poll.2:597
" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
+" if (argc E<lt> 2) {\n"
+" fprintf(stderr, \"Usage: %s file...\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
#. type: Plain text
#: build/C/man2/poll.2:602
" if (pfds == NULL)\n"
" errExit(\"malloc\");\n"
msgstr ""
+" num_open_fds = nfds = argc - 1;\n"
+" pfds = calloc(nfds, sizeof(struct pollfd));\n"
+" if (pfds == NULL)\n"
+" errExit(\"malloc\");\n"
#. type: Plain text
#: build/C/man2/poll.2:604
#, no-wrap
msgid " /* Open each file on command line, and add it \\(aqpfds\\(aq array */\n"
-msgstr ""
+msgstr " /* Open each file on command line, and add it \\(aqpfds\\(aq array */\n"
#. type: Plain text
#: build/C/man2/poll.2:609
" if (pfds[j].fd == -1)\n"
" errExit(\"open\");\n"
msgstr ""
+" for (int j = 0; j E<lt> nfds; j++) {\n"
+" pfds[j].fd = open(argv[j + 1], O_RDONLY);\n"
+" if (pfds[j].fd == -1)\n"
+" errExit(\"open\");\n"
#. type: Plain text
#: build/C/man2/poll.2:611
#, no-wrap
msgid " printf(\"Opened \\e\"%s\\e\" on fd %d\\en\", argv[j + 1], pfds[j].fd);\n"
-msgstr ""
+msgstr " printf(\"Opened \\e\"%s\\e\" on fd %d\\en\", argv[j + 1], pfds[j].fd);\n"
#. type: Plain text
#: build/C/man2/poll.2:614
" pfds[j].events = POLLIN;\n"
" }\n"
msgstr ""
+" pfds[j].events = POLLIN;\n"
+" }\n"
#. type: Plain text
#: build/C/man2/poll.2:617
" /* Keep calling poll() as long as at least one file descriptor is\n"
" open */\n"
msgstr ""
+" /* Keep calling poll() as long as at least one file descriptor is\n"
+" open */\n"
#. type: Plain text
#: build/C/man2/poll.2:620
" while (num_open_fds E<gt> 0) {\n"
" int ready;\n"
msgstr ""
+" while (num_open_fds E<gt> 0) {\n"
+" int ready;\n"
#. type: Plain text
#: build/C/man2/poll.2:625
" if (ready == -1)\n"
" errExit(\"poll\");\n"
msgstr ""
+" printf(\"About to poll()\\en\");\n"
+" ready = poll(pfds, nfds, -1);\n"
+" if (ready == -1)\n"
+" errExit(\"poll\");\n"
#. type: Plain text
#: build/C/man2/poll.2:627
#, no-wrap
msgid " printf(\"Ready: %d\\en\", ready);\n"
-msgstr ""
+msgstr " printf(\"Ready: %d\\en\", ready);\n"
#. type: Plain text
#: build/C/man2/poll.2:629
#, no-wrap
msgid " /* Deal with array returned by poll() */\n"
-msgstr ""
+msgstr " /* Deal with array returned by poll() */\n"
#. type: Plain text
#: build/C/man2/poll.2:632
" for (int j = 0; j E<lt> nfds; j++) {\n"
" char buf[10];\n"
msgstr ""
+" for (int j = 0; j E<lt> nfds; j++) {\n"
+" char buf[10];\n"
#. type: Plain text
#: build/C/man2/poll.2:638
" (pfds[j].revents & POLLHUP) ? \"POLLHUP \" : \"\",\n"
" (pfds[j].revents & POLLERR) ? \"POLLERR \" : \"\");\n"
msgstr ""
+" if (pfds[j].revents != 0) {\n"
+" printf(\" fd=%d; events: %s%s%s\\en\", pfds[j].fd,\n"
+" (pfds[j].revents & POLLIN) ? \"POLLIN \" : \"\",\n"
+" (pfds[j].revents & POLLHUP) ? \"POLLHUP \" : \"\",\n"
+" (pfds[j].revents & POLLERR) ? \"POLLERR \" : \"\");\n"
#. type: Plain text
#: build/C/man2/poll.2:654
" }\n"
" }\n"
msgstr ""
+" if (pfds[j].revents & POLLIN) {\n"
+" ssize_t s = read(pfds[j].fd, buf, sizeof(buf));\n"
+" if (s == -1)\n"
+" errExit(\"read\");\n"
+" printf(\" read %zd bytes: %.*s\\en\",\n"
+" s, (int) s, buf);\n"
+" } else { /* POLLERR | POLLHUP */\n"
+" printf(\" closing fd %d\\en\", pfds[j].fd);\n"
+" if (close(pfds[j].fd) == -1)\n"
+" errExit(\"close\");\n"
+" num_open_fds--;\n"
+" }\n"
+" }\n"
+" }\n"
+" }\n"
#. type: Plain text
#: build/C/man2/poll.2:658
" exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
+" printf(\"All file descriptors closed; bye\\en\");\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
#. type: Plain text
#: build/C/man2/poll.2:665
-#, fuzzy
-#| msgid "B<restart_syscall>(2), B<select>(2), B<select_tut>(2), B<time>(7)"
msgid ""
"B<restart_syscall>(2), B<select>(2), B<select_tut>(2), B<epoll>(7), "
"B<time>(7)"
-msgstr "B<restart_syscall>(2), B<select>(2), B<select_tut>(2), B<time>(7)"
-
-#~ msgid "2015-01-10"
-#~ msgstr "2015-01-10"
-
-#~ msgid "*"
-#~ msgstr "*"
-
-#~ msgid "B<i>"
-#~ msgstr "B<i>"
-
-#~ msgid "B<ii>"
-#~ msgstr "B<ii>"
-
-#~ msgid "B<Q0>"
-#~ msgstr "B<Q0>"
-
-#~ msgid "B<A0>"
-#~ msgstr "B<A0>"
-
-#~ msgid "B<Q1>"
-#~ msgstr "B<Q1>"
-
-#~ msgid "B<A1>"
-#~ msgstr "B<A1>"
-
-#~ msgid "B<Q2>"
-#~ msgstr "B<Q2>"
-
-#~ msgid "B<A2>"
-#~ msgstr "B<A2>"
-
-#~ msgid "B<Q3>"
-#~ msgstr "B<Q3>"
-
-#~ msgid "B<A3>"
-#~ msgstr "B<A3>"
-
-#~ msgid "B<Q4>"
-#~ msgstr "B<Q4>"
-
-#~ msgid "B<A4>"
-#~ msgstr "B<A4>"
-
-#~ msgid "B<Q5>"
-#~ msgstr "B<Q5>"
-
-#~ msgid "B<A5>"
-#~ msgstr "B<A5>"
-
-#~ msgid "B<Q6>"
-#~ msgstr "B<Q6>"
-
-#~ msgid "B<A6>"
-#~ msgstr "B<A6>"
-
-#~ msgid "B<Q7>"
-#~ msgstr "B<Q7>"
-
-#~ msgid "B<A7>"
-#~ msgstr "B<A7>"
-
-#~ msgid "B<Q8>"
-#~ msgstr "B<Q8>"
-
-#~ msgid "B<A8>"
-#~ msgstr "B<A8>"
-
-#~ msgid "B<Q9>"
-#~ msgstr "B<Q9>"
-
-#~ msgid "B<A9>"
-#~ msgstr "B<A9>"
-
-#~ msgid "2014-12-31"
-#~ msgstr "2014-12-31"
+msgstr "B<restart_syscall>(2), B<select>(2), B<select_tut>(2), B<epoll>(7), B<time>(7)"
#~ msgid ""
#~ "Register the target file descriptor I<fd> on the B<epoll> instance "
#~ "B<epoll_ctl>() は Linux 独自である。\n"
#~ "ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。"
-#~ msgid "2014-08-19"
-#~ msgstr "2014-08-19"
-
#~ msgid ""
#~ "For a discussion of what may happen if a file descriptor in an B<epoll> "
#~ "instance being monitored by B<epoll_wait>() is closed in another thread, "
#~ "ターが別のスレッドによってクローズされた場合に何が起こるかの議論について"
#~ "は、 B<select>(2) を参照してほしい。"
-#~ msgid "2014-09-06"
-#~ msgstr "2014-09-06"
-
#~ 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)."