Skip to contentSkip to conversation

New: small clarification clock_getres HISTORY section

Bug 218452 [email protected] 1 participant 2 messages Feb 2, 2024 – Mar 4, 2024 Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#0 lore raw

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: [email protected]
Reporter: [email protected]
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

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#1 lore raw

[Bug 218452] small clarification clock_getres HISTORY section

https://bugzilla.kernel.org/show_bug.cgi?id=218452

Alejandro Colomar ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|---                         |CODE_FIX

--- Comment #1 from Alejandro Colomar ([email protected]) --- Thanks for the report! I'll push the following commit tomorrow.

commit 00dbc94dd2e0024c3d146ce990307ef048a93a72 (HEAD -> contrib)

Author: Alejandro Colomar <alx (at) kernel (dot) org>
Date:   Mon Mar 4 13:02:29 2024 +0100

clock_getres.2: HISTORY: Clarify that POSIX.1-2008 only makes mandatory the
functions

    The different clocks are still optional.

    Closes: <https://bugzilla.kernel.org/show_bug.cgi?id=218452>
    Fixes: 4131356cdab8 ("man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY:

Reorganize sections")
Reported-by: Enrique Garcia <cquike (at) arcor (dot) de>
Signed-off-by: Alejandro Colomar <alx (at) kernel (dot) org>

man2/clock_getres.2 +2 -1
index 8457f6148..9c98d12e9 100644
@@ -377,6 +377,8 @@ .SH HISTORY
 On POSIX systems on which these functions are available, the symbol
 .B _POSIX_TIMERS
 is defined in \fI<unistd.h>\fP to a value greater than 0.
+POSIX.1-2008 makes these functions mandatory.
+.P
 The symbols
 .BR _POSIX_MONOTONIC_CLOCK ,
 .BR _POSIX_CPUTIME ,
@@ -388,7 +390,6 @@ .SH HISTORY
 are available.
 (See also
 .BR sysconf (3).)
-POSIX.1-2008 makes these APIs mandatory.
 .\"
 .SS Historical note for SMP systems
 Before Linux added kernel support for
Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.