Branch
Hash :
9d429ac1
Author :
Date :
2025-08-19T19:29:03
doc: Update for glibc 2.42. * doc/glibc-functions/pthread_gettid_np.texi: New file. * doc/gnulib.texi (Glibc pthread.h): Include it. * doc/posix-headers/*.texi: Update. * doc/posix-functions/*.texi: Likewise.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
@node utmpx.h
@section @file{utmpx.h}
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/utmpx.h.html}
Gnulib module: ---
Portability problems fixed by Gnulib:
@itemize
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
This header file is missing on some platforms:
FreeBSD 8.4, OpenBSD 7.2, Minix 3.1.8, mingw, MSVC 14, Android 13.0.
@item
While some platforms have the @code{struct utmpx} field @code{ut_user},
older platforms have the field @code{ut_name}.
@item
The @code{struct utmpx} field @code{ut_exit} does not exist on some platforms:
macOS, FreeBSD, AIX, Cygwin.
@item
The @code{struct utmpx} field @code{ut_session} does not exist
on some platforms:
macOS, FreeBSD, AIX, HP-UX, Cygwin.
@item
The @code{struct utmpx} field @code{ut_addr} or @code{ut_addr_v6} or
@code{ut_ss} does not exist on some platforms:
macOS, FreeBSD, AIX, Solaris.
@item
On some platforms, the @code{struct utmpx} field @code{ut_tv} is not
of type @code{struct timeval}. Instead, it is a different
struct with @code{tv_sec} and @code{tv_usec} members that may
have different types than the members of @code{struct timeval}:
glibc 2.42 on platforms where @code{time_t} was historically 32 bits
and where log file formats were not changed when 64-bit @code{time_t}
was introduced.
@item
On some platforms, this API does not support timestamps past the
year 2038:
glibc 2.39 on 32-bit platforms like x86 and ARM where @code{time_t}
was historically 32 bits; later glibc versions support
timestamps up to the year 2106, by changing @code{ut_tv.tv_sec}'s type
to be a 32-bit unsigned integer.
@item
@mindex year2038
@mindex year2038-recommended
On some platforms, this header misbehaves if the @code{year2038} or
@code{year2038-recommended} modules are used and the program is
configured without the @option{--disable-year2038} option.
@mindex readutmp
The @code{readutmp} module works around this problem:
glibc 2.38 on 32-bit platforms like x86 and ARM where @code{time_t}
was historically 32 bits.
@xref{Avoiding the year 2038 problem}.
@end itemize