Date: Wed, 21 Jul 2004 23:14:01 +0800 From: Xin LI <delphij@frontfree.net> To: Bruce Evans <bde@zeta.org.au> Cc: current@freebsd.org Subject: Re: Any idea why timespec* is _KERNEL stuff only? Message-ID: <20040721151401.GA2458@frontfree.net> In-Reply-To: <20040721232310.Y2587@epsplex.bde.org> References: <20040721113211.GA1899@frontfree.net> <20040721232310.Y2587@epsplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--9amGYk9869ThD9tj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, Bruce On Wed, Jul 21, 2004 at 11:37:40PM +1000, Bruce Evans wrote: > On Wed, 21 Jul 2004, Xin LI wrote: >=20 > > Hi, Poul-Henning, > > > > It seems that rev. 1.23 of sys/sys/time.h has constrained timespec* mac= ros > > to be _KERNEL (KERNEL in the old days) only. Is this intended? (NetBSD = and >=20 > Yes, this is intended. The timeval and timespec interfaces are optimized > for handling times in code that can't use 64-bit integers or floating > point (mainly in 20 year old kernels). New interfaces to manipulate them > should not be added 20 years after the interfaces should have been > deprecated. > > > OpenBSD don't expect _KERNEL for these macros, e.g. timespeccmp, and I > > personally think that these macros will be better for more generic use, >=20 > NetBSD and OpenBSD originally only had timeval*(), and FreeBSD unfortunat= ely > had to add them to be compatible. timespec*() seem to be even less needed > in userland than timeval*(), since no ports are broken by not having them. >=20 > > as timespec structure is not _KERNEL protected :-) >=20 > The timespec struct is POSIX standard. POSIX has the correct number of > functions for operating on timespec structs (none). Thanks for the information, Bruce! So this means I should use bintime instead of timespec if it is found in code? For the exact problem I went into: it's OpenBSD's cron which makes use of timespec (because of fstat). I think a _KERNEL || __BSD_VISIBLE might be helpful -- While it is possible to use bintime to represent what can be done with a timespeccmp macro. Cheers, --=20 Xin LI <delphij frontfree net> http://www.delphij.net/ See complete headers for GPG key and other information. --9amGYk9869ThD9tj Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFA/og5OfuToMruuMARAtxOAJ9ECSsiSmizfpStEGqlEUXH40EFiACfXuSe 05C9NccCIE45jgc1VWpuUWg= =77mn -----END PGP SIGNATURE----- --9amGYk9869ThD9tj--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040721151401.GA2458>