aboutsummaryrefslogtreecommitdiffstats
path: root/man2
diff options
context:
space:
mode:
Diffstat (limited to 'man2')
-rw-r--r--man2/poll.219
1 files changed, 18 insertions, 1 deletions
diff --git a/man2/poll.2 b/man2/poll.2
index 0b023e0a5f..2799f56ac7 100644
--- a/man2/poll.2
+++ b/man2/poll.2
@@ -271,7 +271,7 @@ ready = ppoll(&fds, nfds, tmo_p, &sigmask);
.EE
.in
.PP
-is equivalent to
+is nearly equivalent to
.I atomically
executing the following calls:
.PP
@@ -288,6 +288,17 @@ pthread_sigmask(SIG_SETMASK, &origmask, NULL);
.EE
.in
.PP
+The above code segment is described as
+.I nearly
+equivalent because whereas a negative
+.I timeout
+value for
+.BR poll ()
+is interpreted as an infinite timeout, a negative value expressed in
+.IR *tmo_p
+results in an error from
+.BR ppoll ().
+.PP
See the description of
.BR pselect (2)
for an explanation of why
@@ -354,6 +365,12 @@ value exceeds the
.B RLIMIT_NOFILE
value.
.TP
+.B EINVAL
+.RB ( ppoll ())
+The timeout value expressed in
+.IR *ip
+is invalid (negative).
+.TP
.B ENOMEM
There was no space to allocate file descriptor tables.
.SH VERSIONS