Re: gettimeofday((void *)-1, NULL) implicates core dump on recent FreeBSD 11-CURRENT

From: Garrett Wollman <wollman_at_hergotha.csail.mit.edu>
Date: Wed, 8 Jul 2015 17:36:37 -0400 (EDT)
In article <559D8E55.9050600_at_FreeBSD.org> avg_at_freebsd.org writes:
>I am not suggesting this but if our man pages used all capitals to signify
>important auxiliary verbs then the ERRORS sections would read as
>	The following error codes MAY be set in errno:
>Perhaps in that case it would be more clear how 'MAY' differs from 'SHOULD' and
>'MUST'.
>Of course, the manual pages seem to be too sloppy in this respect.

No, it's just the standard meaning of "may" as defined in the POSIX
standard.  ISO standards in general use "shall" for mandatory behavior
and "may" for optional behavior.  (For every occurrence of the word
"shall" in the POSIX standard, there should be a conformance test[1];
"may" covers behavior where implementations are allowed to differ with
no conformance distinction being made.)  In the specific case of
library interfaces, "may fail and set the following code in errno" is
slightly more restrictive: the implementation is required to raise
that error if the associated condition is detected, but it is not
required to detect that condition even if it is present, and it may
indicate some other error condition that is present and detectable.

-GAWollman

[1] Technically, this applies only to "shall" where the subject is the
implementation.  POSIX also includes "shall" requirements on
applications, which obviously can't be tested.
Received on Wed Jul 08 2015 - 19:36:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:58 UTC