commit f451a02a8c3c0bc6b41dac5e9e6ad49dd1c9529c Author: Joseph Myers Date: Mon May 12 14:56:07 2025 +0000 Document all CLOCK_* values The manual documents CLOCK_REALTIME and CLOCK_MONOTONIC but not other CLOCK_* values. Add documentation of the POSIX clocks CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID, along with a reference to the Linux man pages for the semantics of the Linux-specific clocks supported (as with some other functionality coming direct from the Linux kernel where the man pages can be considered the main documentation). Note: CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE are also defined in the toplevel bits/time.h, as used for Hurd. Nevertheless, I see no sign that the Hurd code in glibc actually has any support for those clocks, so I think it is correct to document them as Linux-specific (and to refer only to the Linux man pages for their semantics). Reviewed-by: Carlos O'Donell diff --git a/manual/time.texi b/manual/time.texi index c0e645b15ce44788..8e072c7e375a750e 100644 --- a/manual/time.texi +++ b/manual/time.texi @@ -528,7 +528,36 @@ Therefore, @code{CLOCK_MONOTONIC} cannot be used to measure absolute time, only elapsed time. @end deftypevr -Systems may support more than just these two POSIX clocks. +The following clocks are defined by POSIX, but may not be supported by +all POSIX systems: + +@deftypevr Macro clockid_t CLOCK_PROCESS_CPUTIME_ID +@standards{POSIX.1, time.h} +This POSIX clock measures the amount of CPU time used by the calling +process. +@end deftypevr + +@deftypevr Macro clockid_t CLOCK_THREAD_CPUTIME_ID +@standards{POSIX.1, time.h} +This POSIX clock measures the amount of CPU time used by the calling +thread. +@end deftypevr + +The following clocks are Linux extensions: + +@deftypevr Macro clockid_t CLOCK_MONOTONIC_RAW +@deftypevrx Macro clockid_t CLOCK_REALTIME_COARSE +@deftypevrx Macro clockid_t CLOCK_MONOTONIC_COARSE +@deftypevrx Macro clockid_t CLOCK_BOOTTIME +@deftypevrx Macro clockid_t CLOCK_REALTIME_ALARM +@deftypevrx Macro clockid_t CLOCK_BOOTTIME_ALARM +@deftypevrx Macro clockid_t CLOCK_TAI +@standards{Linux, time.h} +For details of these clocks, see the manual page +@manpageurl{clock_gettime,2}. +@end deftypevr + +Systems may support additional clocks beyond those listed here. @deftypefun int clock_gettime (clockid_t @var{clock}, struct timespec *@var{ts}) @standards{POSIX.1, time.h}