Re: Any idea why timespec* is _KERNEL stuff only?

From: Bruce Evans <bde_at_zeta.org.au>
Date: Wed, 21 Jul 2004 23:37:40 +1000 (EST)
On Wed, 21 Jul 2004, Xin LI wrote:

> Hi, Poul-Henning,
>
> It seems that rev. 1.23 of sys/sys/time.h has constrained timespec* macros
> to be _KERNEL (KERNEL in the old days) only. Is this intended? (NetBSD and

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,

NetBSD and OpenBSD originally only had timeval*(), and FreeBSD unfortunately
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.

> as timespec structure is not _KERNEL protected :-)

The timespec struct is POSIX standard.  POSIX has the correct number of
functions for operating on timespec structs (none).

Bruce
Received on Wed Jul 21 2004 - 11:37:45 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:02 UTC