https://bugzilla.kernel.org/show_bug.cgi?id=218452 Bug ID: 218452 Summary: small clarification clock_getres HISTORY section Product: Documentation Version: unspecified Hardware: All OS: Linux Status: NEW Severity: low Priority: P3 Component: man-pages Assignee: documentation_man-pages@xxxxxxxxxxxxxxxxxxxx Reporter: cquike@xxxxxxxx Regression: No In version 6.04 of the man pages, under the HISTORY section of clock_getres(2) it is mentioned the following: " On POSIX systems on which these functions are available, the symbol _POSIX_TIMERS is defined in <unistd.h> to a value greater than 0. The symbols _POSIX_MONOTONIC_CLOCK, _POSIX_CPUTIME, _POSIX_THREAD_CPUTIME indicate that CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID are available. (See also sysconf(3).) POSIX.1-2008 makes these APIs mandatory. " At first read I got the impression that _POSIX_MONOTONIC_CLOCK, _POSIX_CPUTIME, _POSIX_THREAD_CPUTIME are also mandatory. However only _POSIX_TIMERS is mandatory, while the others are still optional according to the the POSIX online documentation of the last standard ([1], under 2.1.3 POSIX Conformance). I would suggest to change it slightly to make clear that only _POSIX_TIMERS is mandatory in POSIX.1-2008 but _POSIX_MONOTONIC_CLOCK, _POSIX_CPUTIME, _POSIX_THREAD_CPUTIME are not and therefore portable applications cannot rely on those clocks to be available without checking for the corresponding symbols first. [1] The Open Group Base Specifications Issue 7, 2018 edition https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap02.html -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.