Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Jul 2017 10:10:27 -0500
From:      Eric van Gyzen <vangyzen@FreeBSD.org>
To:        Chris Ross <cross+freebsd@distal.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Compile-time check for clock_nanosleep()
Message-ID:  <1686a27e-b92e-75ba-868a-e4351bfc8af0@FreeBSD.org>
In-Reply-To: <F19A4BAB-4F6B-4BBB-998E-EAB302E8911B@distal.com>
References:  <BC299EA0-EFE3-4F44-BBED-8D0D18C632D4@distal.com> <20170703184610.GH65214@home.opsec.eu> <F19A4BAB-4F6B-4BBB-998E-EAB302E8911B@distal.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/03/2017 15:28, Chris Ross wrote:
> 
>> On Jul 3, 2017, at 14:46, Kurt Jaeger <lists@opsec.eu> wrote:
>>
>> Use __FreeBSD_version from sys/param.h:
>>
>> https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html
> 
>   Thanks.  That looks great.  Also, for my specific case of the addition of clock_nanosleep(), it looks from time.h like I could use "__POSIX_VISIBLE >= 200112”.  Maybe that isn’t safe, since later looking at time.h on 11.0 and on 11.1, the latter has a definition for clock_nanosleep() in that block, but the former does not.

__POSIX_VISIBLE has a different purpose and can't be used for this.  It's part
of a way for the application to request a strict namespace of certain versions
of POSIX, ANSI C, etc.

>   Yeah, digging around it appears that stable/11/sys/sys/param.h at r316498 had __FreeBSD_version at 1100512, and it was raised to 1100513 in revision 318197.  And, clock_nanosleep was MFC’d into 11-stable in-between the two, at revision 317618.  So, not a precise match there, but >= 1100513 should be safe.

Yes, this is exactly what you want.  Actually, what you /really/ want is for the
committer to remember to bump __FreeBSD_version when he added the call, but I
forgot.  :(

Cheers,

Eric



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1686a27e-b92e-75ba-868a-e4351bfc8af0>