Compile-time check for clock_nanosleep()
Eric van Gyzen
vangyzen at FreeBSD.org
Wed Jul 5 15:10:33 UTC 2017
On 07/03/2017 15:28, Chris Ross wrote:
>
>> On Jul 3, 2017, at 14:46, Kurt Jaeger <lists at 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
More information about the freebsd-stable
mailing list