diff options
| author | Alejandro Colomar <alx@kernel.org> | 2023-03-17 17:08:01 +0100 |
|---|---|---|
| committer | Alejandro Colomar <alx@kernel.org> | 2023-03-30 15:14:55 +0200 |
| commit | 4131356cdab8d37fc395ca5466a0401c8573380c (patch) | |
| tree | 8c4c6f1c3172358b735b481cbbfdd9cc04b00ed9 /man2/select.2 | |
| parent | fd00f831b52d61a91d59cb3b46182869145d9700 (diff) | |
| download | man-pages-4131356cdab8.tar.gz | |
man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections
- Add a new HISTORY section that covers the history of an API, both
regarding implementations and regarding old standards. This was
previously covered in VERSIONS, and in some cases in STANDARDS.
- Repurpose VERSIONS to cover differing implementations in _current_
systems.
- STANDARDS is reduced to only cover current versions of standards.
That basically means only C11 (C99 has been superseeded by C11; C17
is just a bugfix of C11, so not really a new version), and
POSIX.1-2008 (*-2001 was superseeded by *-2008; *-2017 was just a
bugfix for *-2008). The section also mentions for example 'Linux',
'GNU' or 'BSD' when a non-standard API is Linux- or GNU-only or if
it's (de-facto) standard in the BSDs.
- In some cases content that should go into one of these sections was
in NOTES. Move it from there to where it corresponds.
- In the SYNOPSIS, I added [[deprecated]] in some functions that I
found are deprecated by the relevant standards.
- A few other related changes...
Cc: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man2/select.2')
| -rw-r--r-- | man2/select.2 | 60 |
1 files changed, 29 insertions, 31 deletions
diff --git a/man2/select.2 b/man2/select.2 index 7718b75067..fd592a3b23 100644 --- a/man2/select.2 +++ b/man2/select.2 @@ -421,29 +421,44 @@ is invalid. .B ENOMEM Unable to allocate memory for internal tables. .SH VERSIONS -.BR pselect () -was added in Linux 2.6.16. -Prior to this, -.BR pselect () -was emulated in glibc (but see BUGS). +On some other UNIX systems, +.\" Darwin, according to a report by Jeremy Sequoia, relayed by Josh Triplett +.BR select () +can fail with the error +.B EAGAIN +if the system fails to allocate kernel-internal resources, rather than +.B ENOMEM +as Linux does. +POSIX specifies this error for +.BR poll (2), +but not for +.BR select (). +Portable programs may wish to check for +.B EAGAIN +and loop, just as with +.BR EINTR . .SH STANDARDS +POSIX.1-2008. +.SH HISTORY +.TP .BR select () -conforms to POSIX.1-2001, POSIX.1-2008, and -4.4BSD -.RB ( select () -first appeared in 4.2BSD). +POSIX.1-2001, 4.4BSD (first appeared in 4.2BSD). +.IP Generally portable to/from non-BSD systems supporting clones of the BSD socket layer (including System\ V variants). However, note that the System\ V variant typically sets the timeout variable before returning, but the BSD variant does not. -.PP +.TP .BR pselect () -is defined in POSIX.1g, and in -POSIX.1-2001 and POSIX.1-2008. -.PP +Linux 2.6.16. +POSIX.1g, POSIX.1-2001. +.IP +Prior to this, +it was emulated in glibc (but see BUGS). +.TP .B fd_set -is defined in POSIX.1-2001 and later. +POSIX.1-2001. .SH NOTES The following header also provides the .I fd_set @@ -474,23 +489,6 @@ and is not affected by the .B O_NONBLOCK flag. -.PP -On some other UNIX systems, -.\" Darwin, according to a report by Jeremy Sequoia, relayed by Josh Triplett -.BR select () -can fail with the error -.B EAGAIN -if the system fails to allocate kernel-internal resources, rather than -.B ENOMEM -as Linux does. -POSIX specifies this error for -.BR poll (2), -but not for -.BR select (). -Portable programs may wish to check for -.B EAGAIN -and loop, just as with -.BR EINTR . .\" .SS The self-pipe trick On systems that lack |
