.SH STANDARDS
.TP
.BR _exit ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR _Exit ()
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
+.TP
+.BR _exit ()
POSIX.1-2001, SVr4, 4.3BSD.
-.P
+.TP
.BR _Exit ()
-was introduced by C99.
+C99, POSIX.1-2001.
.SH NOTES
For a discussion on the effects of an exit, the transmission of
exit status, zombie processes, signals sent, and so on, see
the socket returned from
.BR accept ().
.SH STANDARDS
-.TP
-.BR accept ()
-POSIX.1-2008.
-.TP
-.BR accept4 ()
-Linux.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR accept ()
.\" In addition, SUSv2 documents EFAULT and ENOSR.
.TP
.BR accept4 ()
+POSIX.1-2024.
Linux 2.6.28,
glibc 2.10.
.SH NOTES
.BR access ()
.TQ
.BR faccessat ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR faccessat2 ()
Linux.
alarm was due to be delivered, or zero if there was no previously
scheduled alarm.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
The socket inode would reside on a read-only filesystem.
.P
Other errors may be generated by the underlying protocol modules.
+.SH VERSIONS
+Portable programs must ensure that
+.I addr.sun_path
+is a null-terminated string
+for
+.B AF_UNIX
+sockets.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, SVr4, 4.4BSD
-.RB ( bind ()
-first appeared in 4.2BSD).
+POSIX.1-2001, SVr4, 4.2BSD.
.\" SVr4 documents an additional
.\" .B ENOSR
.\" general error condition, and
.I fd
does not refer to a directory.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD.
.SH NOTES
.I dirfd
argument.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR chmod ()
.\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
.\" error conditions.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR chown ()
is provided in the
.BR vdso (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SUSv2.
Linux 2.6.
(See also
.BR sysconf (3).)
.\"
+.P
+POSIX.1-2024 made
+.B CLOCK_MONOTONIC
+mandatory.
.SS Historical note for SMP systems
Before Linux added kernel support for
.B CLOCK_PROCESS_CPUTIME_ID
The kernel does not support sleeping against this
.IR clockid .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
Linux 2.6,
busy to accept new connections.
Note that for IP sockets the timeout may
be very long when syncookies are enabled on the server.
+.SH VERSIONS
+Portable programs must ensure that
+.I addr.sun_path
+is a null-terminated string
+for
+.B AF_UNIX
+sockets.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, SVr4, 4.4BSD,
-.RB ( connect ()
-first appeared in 4.2BSD).
+POSIX.1-2001, SVr4, 4.2BSD.
.\" SVr4 documents the additional
.\" general error codes
.\" .BR EADDRNOTAVAIL ,
.B ENOMEM
Insufficient kernel memory was available.
.SH STANDARDS
-.TP
-.BR dup ()
-.TQ
-.BR dup2 ()
-POSIX.1-2008.
-.TP
-.BR dup3 ()
-Linux.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR dup ()
.\" The EBUSY return is Linux-specific.
.TP
.BR dup3 ()
+POSIX.1-2024.
Linux 2.6.27,
glibc 2.9.
.SH NOTES
Linux (like most other modern UNIX systems)
ignores the set-user-ID and set-group-ID bits on scripts.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.\" SVr4 documents additional error
.BR F_DUPFD_CLOFORK ,
but Linux doesn't support them.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.\" .P
.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
.SH HISTORY
Too many segment locks open, lock table is full, or a remote locking
protocol failed (e.g., locking over NFS).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.\" .P
.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
-.P
-.BR F_OFD_SETLK ,
-.BR F_OFD_SETLKW ,
-and
-.B F_OFD_GETLK
-are Linux-specific (and one must define
-.B _GNU_SOURCE
-to obtain their definitions),
-but work is being done to have them included in the next version of POSIX.1.
.SH HISTORY
-SVr4, 4.3BSD, POSIX.1-2001.
-.P
-Only the operations
-.BR F_GETLK ,
-.BR F_SETLK ,
-and
+.TP
+.B F_GETLK
+.TQ
+.B F_SETLK
+.TQ
.B F_SETLKW
-are specified in POSIX.1-2001.
+SVr4, 4.3BSD, POSIX.1-2001.
+.TP
+.B F_OFD_SETLK
+.TQ
+.B F_OFD_SETLKW
+.TQ
+.B F_OFD_GETLK
+POSIX.1-2024.
.SH NOTES
.SS File locking
The original Linux
.\" -1: unavailable, 0: ask using sysconf().
.\" glibc defines them to 1.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.2BSD.
.P
.BR syscall (2)
for details regarding register mapping.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.P
.SH STANDARDS
.TP
.BR getgroups ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR setgroups ()
None.
.SH STANDARDS
.TP
.BR gethostname ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR sethostname ()
None.
.SH HISTORY
SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).
-POSIX.1-2001 and POSIX.1-2008 specify
+POSIX.1 specifies
.BR gethostname ()
but not
.BR sethostname ().
.IR "Don't use this Linux misfeature" :
it is nonportable and unnecessary.
.SH STANDARDS
-POSIX.1-2008.
+None.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD).
-POSIX.1-2008 marks
+POSIX.1-2008 marked
.BR getitimer ()
and
.BR setitimer ()
.RB ( timer_gettime (2),
.BR timer_settime (2),
etc.) instead.
+POSIX.1-2024 removed them.
.SH NOTES
Timers will never expire before the requested time,
but may expire some (short) time afterward, which depends
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD
(first appeared in 4.2BSD).
.BR syscall (2)
for details regarding register mapping.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD, SVr4.
.SS C library/kernel differences
.I who
values specified.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).
.BR getrlimit ()
.TQ
.BR setrlimit ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR prlimit ()
Linux.
T} Thread safety MT-Safe
.TE
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
POSIX.1 specifies
.BR getrusage (),
Linux does not return
.BR EPERM .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
Linux 2.0.
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, SVr4, 4.4BSD
-(first appeared in 4.2BSD).
+POSIX.1-2001, SVr4, 4.2BSD.
.\" SVr4 documents additional ENOMEM
.\" and ENOSR error codes.
.SH SEE ALSO
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
SVr4, 4.4BSD (first appeared in 4.2BSD).
based on the device timezone in Settings,
so the kernel's timezone is typically UTC.
.SH STANDARDS
-.TP
-.BR gettimeofday ()
-POSIX.1-2008 (obsolete).
-.TP
-.BR settimeofday ()
None.
.SH HISTORY
SVr4, 4.3BSD.
-POSIX.1-2001 describes
+POSIX.1-2001 described
.BR gettimeofday ()
but not
.BR settimeofday ().
-POSIX.1-2008 marks
+POSIX.1-2008 marked
.BR gettimeofday ()
as obsolete, recommending the use of
.BR clock_gettime (2)
instead.
+POSIX.1-2024 removed
+.BR gettimeofday ().
.P
Traditionally, the fields of
.I struct timeval
.\" 0000511: getuid and friends should not modify errno
.IR errno .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.P
.BR wait (2)ed
for.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SS Linux notes
.I newdirfd
arguments.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR link ()
.BR listen ()
operation.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.4BSD
(first appeared in 4.2BSD).
.\" Other systems return the number of written characters,
.\" using SEEK_SET to set the counter. (Of written characters.)
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
-.P
+.TP
.B SEEK_DATA
-and
+.TQ
.B SEEK_HOLE
-are nonstandard extensions also present in Solaris,
-FreeBSD, and DragonFly BSD;
-they are proposed for inclusion in the next POSIX revision (Issue 8).
-.\" FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
+POSIX.1-2024;
+Solaris, FreeBSD, DragonFly BSD.
.SH NOTES
See
.BR open (2)
.I dirfd
argument.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR mkdir ()
.BR mkdir (2).
.\" and one should make UNIX domain sockets with socket(2) and bind(2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR mknod ()
.BR mlockall ()
.TQ
.BR munlockall ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR mlock2 ()
Linux.
with a suitably adjusted value for
.IR offset .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD.
.\" SVr4 documents additional error codes ENXIO and ENODEV.
.SH STANDARDS
.TP
.BR mprotect ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR pkey_mprotect ()
Linux.
.B CAP_SYS_RESOURCE
capability).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVID does not document the EIDRM error condition.
.RB ( MSGMNI )
would be exceeded.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.SS Linux
and this kernel was configured without
.BR CONFIG_CHECKPOINT_RESTORE .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
The
.B MSG_EXCEPT
in
.IR flags .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
independently of the new or old value of the clock.
.RE
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
.BR getpriority (2)
to obtain the new nice value, which is then returned to the caller.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.\" SVr4 documents an additional
.BR creat ()
.TQ
.BR openat ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR openat2 (2)
Linux.
.B EINTR
a signal was caught and the signal-catching function returned.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR syscall (2)
for information regarding registers used for storing second file descriptor.
.SH STANDARDS
-.TP
-.BR pipe ()
-POSIX.1-2008.
-.TP
-.BR pipe2 ()
-Linux.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR pipe ()
POSIX.1-2001.
.TP
.BR pipe2 ()
+POSIX.1-2024.
Linux 2.6.27,
glibc 2.9.
.SH EXAMPLES
for a discussion on the differences between the kernel and the libc
notion of the sigset.
.SH STANDARDS
-.TP
-.BR poll ()
-POSIX.1-2008.
-.TP
-.BR ppoll ()
-Linux.
-.\" FIXME .
-.\" ppoll() is proposed for inclusion in POSIX:
-.\" https://www.austingroupbugs.net/view.php?id=1263
-.\" NetBSD 3.0 has a pollts() which is like Linux ppoll().
+POSIX.1-2024.
.SH HISTORY
.TP
.BR poll ()
.BR select (2).
.TP
.BR ppoll ()
+POSIX.1-2024.
Linux 2.6.16,
glibc 2.4.
.SH NOTES
wrapper function,
which invokes the appropriate architecture-specific system call.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
or
.BR lseek (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
.I dirfd
is a file descriptor referring to a file other than a directory.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR readlink ()
.BR readv ()
.TQ
.BR writev ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR preadv ()
.TQ
.\" across architectures, but socklen_t is always 32 bits,
.\" as (at least with GCC) is int.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
-4.4BSD (first appeared in 4.2BSD).
+4.2BSD.
.P
POSIX.1 describes only the
.BR MSG_OOB ,
.SH STANDARDS
.TP
.BR rename ()
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.TP
.BR renameat ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR renameat2 ()
Linux.
.I ..
as its final component.
POSIX.1 also allows
-.\" POSIX.1-2001, POSIX.1-2008
.B EEXIST
for this condition.
.TP
.I path
refers to a directory on a read-only filesystem.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH BUGS
and
.BR sched_get_priority_min ().
POSIX.1 requires
-.\" POSIX.1-2001, POSIX.1-2008 (XBD 2.8.4)
a spread of at least 32 between the maximum and the minimum values for
.B SCHED_FIFO
and
.I policy
does not identify a defined scheduling policy.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
file exposes the quantum as a millisecond value, whose default is 100.
Writing 0 to this file resets the quantum to the default value.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SS Linux
.I pid
could not be found.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
.BR sched_* (2)
system calls.)
.SH STANDARDS
-POSIX.1-2008 (but see BUGS below).
+POSIX.1-2024 (but see BUGS below).
.P
.B SCHED_BATCH
and
.BR sched_yield ()
always succeeds.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001 (but optional).
POSIX.1-2008.
.BI " struct timeval *_Nullable restrict " timeout );
.P
.BI "void FD_CLR(int " fd ", fd_set *" set );
-.BI "int FD_ISSET(int " fd ", fd_set *" set );
+.BI "int FD_ISSET(int " fd ", const fd_set *" set );
.BI "void FD_SET(int " fd ", fd_set *" set );
.BI "void FD_ZERO(fd_set *" set );
.P
and loop, just as with
.BR EINTR .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR select ()
.\" commit a5f4db877177d2a3d7ae62a7bac3a5a27e083d7f
in Linux 4.6.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVr4 documents more error conditions EINVAL and EOVERFLOW.
.RB ( SEMMNS ),
would be exceeded.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, POSIX.1-2001.
.\" SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN,
the implementation dependent maximum value for
.IR semval .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH VERSIONS
Linux 2.5.52 (backported into Linux 2.4.22),
glibc 2.3.3.
.\" across architectures, but socklen_t is always 32 bits,
.\" as (at least with GCC) is int.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
.B MSG_CONFIRM
is a Linux extension.
and
.BR setresgid (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
For details, see
.BR nptl (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.P
.BR setpgid ()
.TQ
.BR getpgrp "() (no args)"
-.TQ
-.BR setpgrp "() (no args)"
-POSIX.1-2008 (but see HISTORY).
+POSIX.1-2024.
.TP
-.BR setpgrp "() (2 args)"
+.BR setpgrp ()
.TQ
.BR getpgrp "() (1 arg)"
None.
.TP
.BR setpgrp "() (no args)"
POSIX.1-2001.
-POSIX.1-2008 marks it as obsolete.
+Obsoleted in POSIX.1-2008.
+Removed in POSIX.1-2024.
.TP
.BR setpgrp "() (2 args)"
.TQ
For details, see
.BR nptl (7).
.SH STANDARDS
-None.
+POSIX.1-2024.
.SH HISTORY
+POSIX.1-2024.
Linux 2.1.44,
glibc 2.3.2.
HP-UX, FreeBSD.
POSIX.1 makes no specification about the effect of these calls
on the saved set-user-ID and saved set-group-ID.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD (first appeared in 4.2BSD).
.P
.BR setsid ()
fails if the calling process is already a process group leader.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.SH NOTES
For details, see
.BR nptl (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.P
This feature is not available on other UNIX implementations;
portable applications should avoid relying on it.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVr4 documents additional error conditions EINVAL,
in
.BR proc (5).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
.B SHM_HUGETLB
and
.I char\ *
into
.IR "void\ *" .
+.P
+POSIX.1-2024
+changed the error code from
+.I (void\ *)\ \-1
+to
+.BR SHM_FAILED .
.SH NOTES
After a
.BR fork (2),
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.4BSD
(first appeared in 4.2BSD).
.BR rt_sigaction ()
when the kernel provides it.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVr4 does not document the EINTR condition.
T} Thread safety MT-Safe
.TE
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
.B SS_AUTODISARM
is a Linux extension.
signal handler is invoked; use that interface instead of
.BR signal ().
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.P
.I set
points to memory which is not a valid part of the process address space.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SS C library/kernel differences
when the kernel provides it.
.\"
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
The call was interrupted by a signal;
.BR signal (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SS C library/kernel differences
when the kernel provides it.
.\"
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
.BR SOCK_CLOFORK ,
but Linux doesn't support it.
.SH STANDARDS
-POSIX.1-2008.
-.P
-.B SOCK_NONBLOCK
-and
-.B SOCK_CLOEXEC
-are Linux-specific.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, 4.4BSD.
+POSIX.1-2001, 4.2BSD.
.P
-.BR socket ()
-appeared in 4.2BSD.
It is generally portable to/from
non-BSD systems supporting clones of the BSD socket layer (including
System\ V variants).
However, already the BSD man page promises: "The protocol
family generally is the same as the address family", and subsequent
standards use AF_* everywhere.
+.TP
+.B SOCK_NONBLOCK
+.TQ
+.B SOCK_CLOEXEC
+POSIX.1-2024.
.SH EXAMPLES
An example of the use of
.BR socket ()
.\" commit: 70b03759e9ecfae400605fa34f3d7154cccbbba3
(since Linux 4.12).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, 4.4BSD.
+POSIX.1-2001, 4.2BSD.
.P
-.BR socketpair ()
-first appeared in 4.2BSD.
It is generally portable to/from
non-BSD systems supporting clones of the BSD socket layer (including
System\ V variants).
-.P
-Since Linux 2.6.27,
-.BR socketpair ()
-supports the
-.B SOCK_NONBLOCK
-and
+.TP
.B SOCK_CLOEXEC
-flags in the
-.I type
-argument, as described in
-.BR socket (2).
+.TQ
+.B SOCK_NONBLOCK
+POSIX.1-2024;
+Linux 2.6.27.
+(See
+.BR socket (2).)
.SH SEE ALSO
.BR pipe (2),
.BR read (2),
.I (1<<31)\-1
bytes.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR stat ()
.I linkpath
is on a read-only filesystem.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR symlink ()
system call, and some previous write failed due to insufficient
storage space.
.SH VERSIONS
-According to the standard specification (e.g., POSIX.1-2001),
+According to the standard specification (i.e., POSIX.1),
.BR sync ()
schedules the writes, but may return before the actual
writing is done.
.SH STANDARDS
.TP
.BR sync ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR syncfs ()
Linux.
is provided in the
.BR vdso (7).
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
-SVr4, 4.3BSD, C89, POSIX.1-2001.
-.\" Under 4.3BSD, this call is obsoleted by
-.\" .BR gettimeofday (2).
+SVr4, 4.3BSD, C89, POSIX.1-2001, V7.
.SH BUGS
Error returns from this system call are indistinguishable from
successful reports that the time is a few seconds
.\" that glibc uses to map user-space timer IDs to kernel timer IDs
.\" The kernel-level timer ID is exposed via siginfo.si_tid.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
.I timerid
is not a valid timer ID.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
.\" FIXME . Austin bug filed, 11 Feb 09
.\" https://www.austingroupbugs.net/view.php?id=95
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
.I new_value.it_value.tv_nsec
is negative or greater than 999,999,999.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
other UNIX implementations require a non-NULL value for
.IR buf .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
SVr4,
for the reasons described in
.BR syscall (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
-4.4BSD, SVr4 (first appeared in 4.2BSD).
+SVr4, 4.2BSD.
.\" POSIX.1-1996 has
.\" .BR ftruncate ().
.\" POSIX.1-2001 also has
SVr4 uses 257, "to support Internet hostnames"
\[em] this is the largest value likely to be encountered in the wild.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD.
.SS C library/kernel differences
.I dirfd
is a file descriptor referring to a file other than a directory.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR unlink ()
.I path
resides on a read-only filesystem.
.SH STANDARDS
-POSIX.1-2008.
+.TP
+.BR utime ()
+None.
+.TP
+.BR utimes ()
+POSIX.1-2024.
.SH HISTORY
.TP
.BR utime ()
SVr4, POSIX.1-2001.
-POSIX.1-2008 marks it as obsolete.
+Obsoleted in POSIX.1-2008.
+Removed in POSIX.1-2024.
.TP
.BR utimes ()
4.3BSD, POSIX.1-2001.
.B EINVAL
in this case.
.SH STANDARDS
-POSIX.1-2008.
-.SH VERSIONS
+POSIX.1-2024.
+.SH HISTORY
.TP
.BR utimensat ()
Linux 2.6.22,
.B WIFSIGNALED
returned true.
.TP
-.BI WCOREDUMP( wstatus )
+.BI WCOREDUMP( wstatus ) " \f[R]// POSIX.1-2024\f[]"
returns true if the child produced a core dump (see
.BR core (5)).
This macro should be employed only if
.B WIFSIGNALED
returned true.
-.IP
-This macro is not specified in POSIX.1-2001 and is not available on
-some UNIX implementations (e.g., AIX, SunOS).
-Therefore, enclose its use inside
-.IR "#ifdef WCOREDUMP ... #endif" .
.TP
-.BI WIFSTOPPED( wstatus )
+.BI WIFSTOPPED( wstatus ) " \f[R]// POSIX.1-2024\f[]"
returns true if the child process was stopped by delivery of a signal;
this is possible only if the call was done using
.B WUNTRACED
.BR getrusage (2)
for details.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.SH NOTES
Other errors may occur, depending on the object connected to
.IR fd .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.\" SVr4 documents additional error
.BR F_DUPFD_CLOFORK ,
but Linux doesn't support it.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.B F_DUPFD
See
.BR fcntl (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.SH CAVEATS
.B O_APPEND
flag on a file that has the append-only attribute set.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.SH BUGS
.B F_GETOWN
.TQ
.B F_SETOWN
-POSIX.1-2008.
-.TP
+.TQ
.B F_GETOWN_EX
.TQ
.B F_SETOWN_EX
-.TQ
+POSIX.1-2024.
+.TP
.B F_GETSIG
.TQ
.B F_SETSIG
.B F_GETOWN_EX
.TQ
.B F_GETOWN_EX
+POSIX.1-2024.
Linux 2.6.32.
.TP
.B F_GETSIG