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>