msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-04-25 05:36+0900\n"
+"POT-Creation-Date: 2013-03-22 01:05+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgstr ""
#. type: TH
-#: build/C/man7/epoll.7:21 build/C/man2/epoll_wait.2:23
+#: build/C/man7/epoll.7:21
#, no-wrap
msgid "2012-04-17"
msgstr ""
#. type: TH
-#: build/C/man7/epoll.7:21 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
+#: build/C/man7/epoll.7:21 build/C/man2/epoll_create.2:24 build/C/man2/epoll_ctl.2:20 build/C/man2/epoll_wait.2:22 build/C/man2/poll.2:31
#, no-wrap
msgid "Linux"
msgstr ""
#. type: TH
-#: build/C/man7/epoll.7:21 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
+#: build/C/man7/epoll.7:21 build/C/man2/epoll_create.2:24 build/C/man2/epoll_ctl.2:20 build/C/man2/epoll_wait.2:22 build/C/man2/poll.2:31
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr ""
#. type: SH
-#: build/C/man7/epoll.7:22 build/C/man2/epoll_create.2:26 build/C/man2/epoll_ctl.2:22 build/C/man2/epoll_wait.2:24 build/C/man2/poll.2:32
+#: build/C/man7/epoll.7:22 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:32
#, no-wrap
msgid "NAME"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man7/epoll.7:24 build/C/man2/epoll_create.2:28 build/C/man2/epoll_ctl.2:24 build/C/man2/epoll_wait.2:26 build/C/man2/poll.2:34
+#: build/C/man7/epoll.7:24 build/C/man2/epoll_create.2:27 build/C/man2/epoll_ctl.2:23 build/C/man2/epoll_wait.2:25 build/C/man2/poll.2:34
#, no-wrap
msgid "SYNOPSIS"
msgstr ""
#. type: Plain text
-#: build/C/man7/epoll.7:26 build/C/man2/epoll_ctl.2:26
+#: build/C/man7/epoll.7:26 build/C/man2/epoll_ctl.2:25
msgid "B<#include E<lt>sys/epoll.hE<gt>>"
msgstr ""
#. type: SH
-#: build/C/man7/epoll.7:26 build/C/man2/epoll_create.2:35 build/C/man2/epoll_ctl.2:29 build/C/man2/epoll_wait.2:36 build/C/man2/poll.2:46
+#: 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
#, no-wrap
msgid "DESCRIPTION"
msgstr ""
#. type: SS
#: build/C/man7/epoll.7:61
#, no-wrap
-msgid "Level-Triggered and Edge-Triggered"
+msgid "Level-triggered and edge-triggered"
msgstr ""
#. type: Plain text
#. type: SS
#: build/C/man7/epoll.7:198
#, no-wrap
-msgid "Example for Suggested Usage"
+msgid "Example for suggested usage"
msgstr ""
#. type: Plain text
#. type: SS
#: build/C/man7/epoll.7:297
#, no-wrap
-msgid "Questions and Answers"
+msgid "Questions and answers"
msgstr ""
#. type: TP
#. type: SS
#: build/C/man7/epoll.7:487
#, no-wrap
-msgid "Possible Pitfalls and Ways to Avoid Them"
+msgid "Possible pitfalls and ways to avoid them"
msgstr ""
#. type: TP
msgstr ""
#. type: SH
-#: 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
+#: 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
#, no-wrap
msgid "VERSIONS"
msgstr ""
msgstr ""
#. type: SH
-#: 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
+#: 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
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
msgstr ""
#. type: SH
-#: 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
+#: 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
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Plain text
-#: build/C/man7/epoll.7:550
+#: build/C/man7/epoll.7:551
msgid "B<epoll_create>(2), B<epoll_create1>(2), B<epoll_ctl>(2), B<epoll_wait>(2)"
msgstr ""
+#. 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:370
+#, 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:377
+msgid ""
+"This page is part of release 3.50 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 ""
+
#. type: TH
-#: build/C/man2/epoll_create.2:25
+#: build/C/man2/epoll_create.2:24
#, no-wrap
msgid "EPOLL_CREATE"
msgstr ""
#. type: TH
-#: build/C/man2/epoll_create.2:25 build/C/man2/epoll_ctl.2:21 build/C/man2/poll.2:31
+#: build/C/man2/epoll_create.2:24 build/C/man2/epoll_ctl.2:20
#, no-wrap
msgid "2012-04-15"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:28
+#: build/C/man2/epoll_create.2:27
msgid "epoll_create, epoll_create1 - open an epoll file descriptor"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:31 build/C/man2/epoll_wait.2:29
+#: build/C/man2/epoll_create.2:30 build/C/man2/epoll_wait.2:28
#, no-wrap
msgid "B<#include E<lt>sys/epoll.hE<gt>>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:34
+#: build/C/man2/epoll_create.2:33
#, no-wrap
msgid ""
"B<int epoll_create(int >I<size>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:43
+#: build/C/man2/epoll_create.2:42
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."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:56
+#: build/C/man2/epoll_create.2:55
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 "
msgstr ""
#. type: SS
-#: build/C/man2/epoll_create.2:57
+#: build/C/man2/epoll_create.2:55
#, no-wrap
msgid "epoll_create1()"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:69
+#: build/C/man2/epoll_create.2:67
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>(). "
msgstr ""
#. type: TP
-#: build/C/man2/epoll_create.2:69
+#: build/C/man2/epoll_create.2:67
#, no-wrap
msgid "B<EPOLL_CLOEXEC>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:79
+#: build/C/man2/epoll_create.2:77
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 "
msgstr ""
#. type: SH
-#: 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
+#: 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
#, no-wrap
msgid "RETURN VALUE"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:86
+#: build/C/man2/epoll_create.2:84
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."
msgstr ""
#. type: SH
-#: 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
+#: 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
#, no-wrap
msgid "ERRORS"
msgstr ""
#. type: TP
-#: 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
+#: 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
#, no-wrap
msgid "B<EINVAL>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:91
+#: build/C/man2/epoll_create.2:89
msgid "I<size> is not positive."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:96
+#: build/C/man2/epoll_create.2:94
msgid "(B<epoll_create1>()) Invalid value specified in I<flags>."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_create.2:96
+#: build/C/man2/epoll_create.2:94
#, no-wrap
msgid "B<EMFILE>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:104
+#: build/C/man2/epoll_create.2:102
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) "
msgstr ""
#. type: TP
-#: build/C/man2/epoll_create.2:104
+#: build/C/man2/epoll_create.2:102
#, no-wrap
msgid "B<ENFILE>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:107
+#: build/C/man2/epoll_create.2:105
msgid "The system limit on the total number of open files has been reached."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_create.2:107 build/C/man2/epoll_ctl.2:205 build/C/man2/poll.2:301
+#: build/C/man2/epoll_create.2:105 build/C/man2/epoll_ctl.2:204 build/C/man2/poll.2:309
#, no-wrap
msgid "B<ENOMEM>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:110
+#: build/C/man2/epoll_create.2:108
msgid "There was insufficient memory to create the kernel object."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:114
+#: build/C/man2/epoll_create.2:112
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:120
+#: build/C/man2/epoll_create.2:118
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."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:123
+#: build/C/man2/epoll_create.2:121
msgid "B<epoll_create>() is Linux-specific."
msgstr ""
#. type: SH
-#: 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
+#: 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
#, no-wrap
msgid "NOTES"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:146
+#: build/C/man2/epoll_create.2:144
msgid ""
"In the initial B<epoll_create>() implementation, the I<size> argument "
"informed the kernel of the number of file descriptors that the caller "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_create.2:150
+#: build/C/man2/epoll_create.2:149
msgid "B<close>(2), B<epoll_ctl>(2), B<epoll_wait>(2), B<epoll>(7)"
msgstr ""
#. type: TH
-#: build/C/man2/epoll_ctl.2:21
+#: build/C/man2/epoll_ctl.2:20
#, no-wrap
msgid "EPOLL_CTL"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:24
+#: build/C/man2/epoll_ctl.2:23
msgid "epoll_ctl - control interface for an epoll descriptor"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:29
+#: build/C/man2/epoll_ctl.2:28
msgid ""
"B<int epoll_ctl(int >I<epfd>B<, int >I<op>B<, int >I<fd>B<, struct "
"epoll_event *>I<event>B<);>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:39
+#: build/C/man2/epoll_ctl.2:38
msgid ""
"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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:43
+#: build/C/man2/epoll_ctl.2:42
msgid "Valid values for the I<op> argument are :"
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:43
+#: build/C/man2/epoll_ctl.2:42
#, no-wrap
msgid "B<EPOLL_CTL_ADD>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:55
+#: build/C/man2/epoll_ctl.2:54
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 "
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:55
+#: build/C/man2/epoll_ctl.2:54
#, no-wrap
msgid "B<EPOLL_CTL_MOD>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:61
+#: build/C/man2/epoll_ctl.2:60
msgid "Change the event I<event> associated with the target file descriptor I<fd>."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:61
+#: build/C/man2/epoll_ctl.2:60
#, no-wrap
msgid "B<EPOLL_CTL_DEL>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:72
+#: build/C/man2/epoll_ctl.2:71
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:80
+#: build/C/man2/epoll_ctl.2:79
msgid ""
"The I<event> argument describes the object linked to the file descriptor "
"I<fd>. The I<struct epoll_event> is defined as :"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:89
+#: build/C/man2/epoll_ctl.2:88
#, no-wrap
msgid ""
"typedef union epoll_data {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:94
+#: build/C/man2/epoll_ctl.2:93
#, no-wrap
msgid ""
"struct epoll_event {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:101
+#: build/C/man2/epoll_ctl.2:100
msgid ""
"The I<events> member is a bit set composed using the following available "
"event types:"
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:101
+#: build/C/man2/epoll_ctl.2:100
#, no-wrap
msgid "B<EPOLLIN>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:106
+#: build/C/man2/epoll_ctl.2:105
msgid "The associated file is available for B<read>(2) operations."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:106
+#: build/C/man2/epoll_ctl.2:105
#, no-wrap
msgid "B<EPOLLOUT>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:111
+#: build/C/man2/epoll_ctl.2:110
msgid "The associated file is available for B<write>(2) operations."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:111
+#: build/C/man2/epoll_ctl.2:110
#, no-wrap
msgid "B<EPOLLRDHUP> (since Linux 2.6.17)"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:117
+#: build/C/man2/epoll_ctl.2:116
msgid ""
"Stream socket peer closed connection, or shut down writing half of "
"connection. (This flag is especially useful for writing simple code to "
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:117
+#: build/C/man2/epoll_ctl.2:116
#, no-wrap
msgid "B<EPOLLPRI>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:122
+#: build/C/man2/epoll_ctl.2:121
msgid "There is urgent data available for B<read>(2) operations."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:122
+#: build/C/man2/epoll_ctl.2:121
#, no-wrap
msgid "B<EPOLLERR>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:128
+#: build/C/man2/epoll_ctl.2:127
msgid ""
"Error condition happened on the associated file descriptor. "
"B<epoll_wait>(2) will always wait for this event; it is not necessary to "
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:128
+#: build/C/man2/epoll_ctl.2:127
#, no-wrap
msgid "B<EPOLLHUP>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:134
+#: build/C/man2/epoll_ctl.2:133
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>."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:134
+#: build/C/man2/epoll_ctl.2:133
#, no-wrap
msgid "B<EPOLLET>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:144
+#: build/C/man2/epoll_ctl.2:143
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 "
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:144
+#: build/C/man2/epoll_ctl.2:143
#, no-wrap
msgid "B<EPOLLONESHOT> (since Linux 2.6.2)"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:158
+#: build/C/man2/epoll_ctl.2:157
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:167
+#: build/C/man2/epoll_ctl.2:166
msgid ""
"When successful, B<epoll_ctl>() returns zero. When an error occurs, "
"B<epoll_ctl>() returns -1 and I<errno> is set appropriately."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:168 build/C/man2/epoll_wait.2:149
+#: build/C/man2/epoll_ctl.2:167 build/C/man2/epoll_wait.2:153
#, no-wrap
msgid "B<EBADF>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:174
+#: build/C/man2/epoll_ctl.2:173
msgid "I<epfd> or I<fd> is not a valid file descriptor."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:174
+#: build/C/man2/epoll_ctl.2:173
#, no-wrap
msgid "B<EEXIST>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:182
+#: build/C/man2/epoll_ctl.2:181
msgid ""
"I<op> was B<EPOLL_CTL_ADD>, and the supplied file descriptor I<fd> is "
"already registered with this epoll instance."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:195
+#: build/C/man2/epoll_ctl.2:194
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."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:195
+#: build/C/man2/epoll_ctl.2:194
#, no-wrap
msgid "B<ENOENT>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:205
+#: build/C/man2/epoll_ctl.2:204
msgid ""
"I<op> was B<EPOLL_CTL_MOD> or B<EPOLL_CTL_DEL>, and I<fd> is not registered "
"with this epoll instance."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:210
+#: build/C/man2/epoll_ctl.2:209
msgid ""
"There was insufficient memory to handle the requested I<op> control "
"operation."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:210
+#: build/C/man2/epoll_ctl.2:209
#, no-wrap
msgid "B<ENOSPC>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:220
+#: build/C/man2/epoll_ctl.2:219
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 "
msgstr ""
#. type: TP
-#: build/C/man2/epoll_ctl.2:220
+#: build/C/man2/epoll_ctl.2:219
#, no-wrap
msgid "B<EPERM>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:226
+#: build/C/man2/epoll_ctl.2:225
msgid "The target file I<fd> does not support B<epoll>."
msgstr ""
#. 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:231
+#: build/C/man2/epoll_ctl.2:230
msgid "B<epoll_ctl>() was added to the kernel in version 2.6."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:235
+#: build/C/man2/epoll_ctl.2:234
msgid ""
"B<epoll_ctl>() is Linux-specific. Library support is provided in glibc "
"starting with version 2.3.2."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:240
+#: build/C/man2/epoll_ctl.2:239
msgid ""
"The B<epoll> interface supports all file descriptors that support "
"B<poll>(2)."
msgstr ""
#. type: SH
-#: build/C/man2/epoll_ctl.2:240 build/C/man2/poll.2:352
+#: build/C/man2/epoll_ctl.2:239 build/C/man2/epoll_wait.2:207 build/C/man2/poll.2:362
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_ctl.2:254
+#: build/C/man2/epoll_ctl.2:253
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 "
msgstr ""
#. type: TH
-#: build/C/man2/epoll_wait.2:23
+#: build/C/man2/epoll_wait.2:22
#, no-wrap
msgid "EPOLL_WAIT"
msgstr ""
+#. type: TH
+#: build/C/man2/epoll_wait.2:22 build/C/man2/poll.2:31
+#, no-wrap
+msgid "2012-08-17"
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/epoll_wait.2:26
+#: build/C/man2/epoll_wait.2:25
msgid "epoll_wait, epoll_pwait - wait for an I/O event on an epoll file descriptor"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:35
+#: build/C/man2/epoll_wait.2:34
#, no-wrap
msgid ""
"B<int epoll_wait(int >I<epfd>B<, struct epoll_event *>I<events>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:53
+#: build/C/man2/epoll_wait.2:52
msgid ""
"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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:66
+#: build/C/man2/epoll_wait.2:70
msgid ""
-"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."
+"The I<timeout> argument specifies the minimum number of milliseconds that "
+"B<epoll_wait>() 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<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 ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:70
+#: build/C/man2/epoll_wait.2:74
msgid "The I<struct epoll_event> is defined as :"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:79
+#: build/C/man2/epoll_wait.2:83
#, no-wrap
msgid ""
"typedef union epoll_data {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:84
+#: build/C/man2/epoll_wait.2:88
#, no-wrap
msgid ""
"struct epoll_event {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:95
+#: build/C/man2/epoll_wait.2:99
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 "
msgstr ""
#. type: SS
-#: build/C/man2/epoll_wait.2:95
+#: build/C/man2/epoll_wait.2:99
#, no-wrap
msgid "epoll_pwait()"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:109
+#: build/C/man2/epoll_wait.2:113
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:113
+#: build/C/man2/epoll_wait.2:117
msgid "The following B<epoll_pwait>() call:"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:116
+#: build/C/man2/epoll_wait.2:120
#, no-wrap
msgid " ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:121 build/C/man2/poll.2:224
+#: build/C/man2/epoll_wait.2:125 build/C/man2/poll.2:232
msgid "is equivalent to I<atomically> executing the following calls:"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:124
+#: build/C/man2/epoll_wait.2:128
#, no-wrap
msgid " sigset_t origmask;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:128
+#: build/C/man2/epoll_wait.2:132
#, no-wrap
msgid ""
" sigprocmask(SIG_SETMASK, &sigmask, &origmask);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:136
+#: build/C/man2/epoll_wait.2:140
msgid ""
"The I<sigmask> argument may be specified as NULL, in which case "
"B<epoll_pwait>() is equivalent to B<epoll_wait>()."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:148
+#: build/C/man2/epoll_wait.2:152
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:153
+#: build/C/man2/epoll_wait.2:157
msgid "I<epfd> is not a valid file descriptor."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_wait.2:153 build/C/man2/poll.2:286
+#: build/C/man2/epoll_wait.2:157 build/C/man2/poll.2:294
#, no-wrap
msgid "B<EFAULT>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:158
+#: build/C/man2/epoll_wait.2:162
msgid ""
"The memory area pointed to by I<events> is not accessible with write "
"permissions."
msgstr ""
#. type: TP
-#: build/C/man2/epoll_wait.2:158 build/C/man2/poll.2:290
+#: build/C/man2/epoll_wait.2:162 build/C/man2/poll.2:298
#, no-wrap
msgid "B<EINTR>"
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:165
+#: build/C/man2/epoll_wait.2:169
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)."
+"The call was interrupted by a signal handler before either any of the "
+"requested events occurred or the I<timeout> expired; see B<signal>(7)."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:173
+#: build/C/man2/epoll_wait.2:177
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:179
+#: build/C/man2/epoll_wait.2:183
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."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:183
+#: build/C/man2/epoll_wait.2:187
msgid ""
"B<epoll_pwait>() was added to Linux in kernel 2.6.19. Library support is "
"provided in glibc starting with version 2.6."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:186
+#: build/C/man2/epoll_wait.2:190
msgid "B<epoll_wait>() is Linux-specific."
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:196
+#: build/C/man2/epoll_wait.2:200
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> "
msgstr ""
#. type: Plain text
-#: build/C/man2/epoll_wait.2:199
+#: build/C/man2/epoll_wait.2:207
+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, "
+"see B<select>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/epoll_wait.2:219
+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."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/epoll_wait.2:223
msgid "B<epoll_create>(2), B<epoll_ctl>(2), B<epoll>(7)"
msgstr ""
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:131
+#: build/C/man2/poll.2:139
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 "
-"I<timeout> means an infinite timeout."
+"The I<timeout> argument specifies the minimum number of milliseconds that "
+"B<poll>() 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<timeout> means an infinite timeout. Specifying a I<timeout> of zero "
+"causes B<poll>() to return immediately, even if no file descriptors are "
+"ready."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:137
+#: build/C/man2/poll.2:145
msgid ""
"The bits that may be set/returned in I<events> and I<revents> are defined in "
"I<E<lt>poll.hE<gt>>:"
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:138
+#: build/C/man2/poll.2:146
#, no-wrap
msgid "B<POLLIN>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:141
+#: build/C/man2/poll.2:149
msgid "There is data to read."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:141
+#: build/C/man2/poll.2:149
#, no-wrap
msgid "B<POLLPRI>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:145
+#: build/C/man2/poll.2:153
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)."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:145
+#: build/C/man2/poll.2:153
#, no-wrap
msgid "B<POLLOUT>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:148
+#: build/C/man2/poll.2:156
msgid "Writing now will not block."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:148
+#: build/C/man2/poll.2:156
#, no-wrap
msgid "B<POLLRDHUP> (since Linux 2.6.17)"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:159
+#: build/C/man2/poll.2:167
msgid ""
"Stream socket peer closed connection, or shut down writing half of "
"connection. The B<_GNU_SOURCE> feature test macro must be defined (before "
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:159
+#: build/C/man2/poll.2:167
#, no-wrap
msgid "B<POLLERR>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:162
+#: build/C/man2/poll.2:170
msgid "Error condition (output only)."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:162
+#: build/C/man2/poll.2:170
#, no-wrap
msgid "B<POLLHUP>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:165
+#: build/C/man2/poll.2:173
msgid "Hang up (output only)."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:165
+#: build/C/man2/poll.2:173
#, no-wrap
msgid "B<POLLNVAL>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:170
+#: build/C/man2/poll.2:178
msgid "Invalid request: I<fd> not open (output only)."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:176
+#: build/C/man2/poll.2:184
msgid ""
"When compiling with B<_XOPEN_SOURCE> defined, one also has the following, "
"which convey no further information beyond the bits listed above:"
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:177
+#: build/C/man2/poll.2:185
#, no-wrap
msgid "B<POLLRDNORM>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:181
+#: build/C/man2/poll.2:189
msgid "Equivalent to B<POLLIN>."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:181
+#: build/C/man2/poll.2:189
#, no-wrap
msgid "B<POLLRDBAND>"
msgstr ""
#. POLLRDBAND is used in the DECnet protocol.
#. type: Plain text
-#: build/C/man2/poll.2:185
+#: build/C/man2/poll.2:193
msgid "Priority band data can be read (generally unused on Linux)."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:185
+#: build/C/man2/poll.2:193
#, no-wrap
msgid "B<POLLWRNORM>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:189
+#: build/C/man2/poll.2:197
msgid "Equivalent to B<POLLOUT>."
msgstr ""
#. type: TP
-#: build/C/man2/poll.2:189
+#: build/C/man2/poll.2:197
#, no-wrap
msgid "B<POLLWRBAND>"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:192
+#: build/C/man2/poll.2:200
msgid "Priority data may be written."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:196
+#: build/C/man2/poll.2:204
msgid "Linux also knows about, but does not use B<POLLMSG>."
msgstr ""
#. type: SS
-#: build/C/man2/poll.2:196
+#: build/C/man2/poll.2:204
#, no-wrap
msgid "ppoll()"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:210
+#: build/C/man2/poll.2:218
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), "
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:216
+#: build/C/man2/poll.2:224
msgid ""
"Other than the difference in the precision of the I<timeout> argument, the "
"following B<ppoll>() call:"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:219
+#: build/C/man2/poll.2:227
#, no-wrap
msgid " ready = ppoll(&fds, nfds, timeout_ts, &sigmask);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:228
+#: build/C/man2/poll.2:236
#, no-wrap
msgid ""
" sigset_t origmask;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:234
+#: build/C/man2/poll.2:242
#, no-wrap
msgid ""
" timeout = (timeout_ts == NULL) ? -1 :\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:241
+#: build/C/man2/poll.2:249
msgid ""
"See the description of B<pselect>(2) for an explanation of why B<ppoll>() "
"is necessary."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:253
+#: build/C/man2/poll.2:261
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:260
+#: build/C/man2/poll.2:268
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:267
+#: build/C/man2/poll.2:275
#, no-wrap
msgid ""
"struct timespec {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:275
+#: build/C/man2/poll.2:283
msgid ""
"If I<timeout_ts> is specified as NULL, then B<ppoll>() can block "
"indefinitely."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:285
+#: build/C/man2/poll.2:293
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:290
+#: build/C/man2/poll.2:298
msgid ""
"The array given as argument was not contained in the calling program's "
"address space."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:294
+#: build/C/man2/poll.2:302
msgid "A signal occurred before any requested event; see B<signal>(7)."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:301
+#: build/C/man2/poll.2:309
msgid "The I<nfds> value exceeds the B<RLIMIT_NOFILE> value."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:304
+#: build/C/man2/poll.2:312
msgid "There was no space to allocate file descriptor tables."
msgstr ""
+#. library call was introduced in libc 5.4.28
#. type: Plain text
-#: build/C/man2/poll.2:317
+#: build/C/man2/poll.2:322
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 "
-"B<select>(2) if your kernel does not have a B<poll>() system call)."
+"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)."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:324
+#: build/C/man2/poll.2:329
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:330
+#: build/C/man2/poll.2:335
msgid "B<poll>() conforms to POSIX.1-2001. B<ppoll>() is Linux-specific."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:338
+#: build/C/man2/poll.2:343
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 "
"provided in glibc."
msgstr ""
+#. type: Plain text
+#: build/C/man2/poll.2:348
+msgid ""
+"For a discussion of what may happen if a file descriptor being monitored by "
+"B<poll>() is closed in another thread, see B<select>(2)."
+msgstr ""
+
#. type: SS
-#: build/C/man2/poll.2:338
+#: build/C/man2/poll.2:348
#, no-wrap
-msgid "Linux Notes"
+msgid "Linux notes"
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:352
+#: build/C/man2/poll.2:362
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:356
+#: build/C/man2/poll.2:366
msgid ""
"See the discussion of spurious readiness notifications under the BUGS "
"section of B<select>(2)."
msgstr ""
#. type: Plain text
-#: build/C/man2/poll.2:359
+#: build/C/man2/poll.2:370
msgid "B<select>(2), B<select_tut>(2), B<time>(7)"
msgstr ""