Page MenuHomeFreeBSD

D34751.id104834.diff
No OneTemporary

D34751.id104834.diff

Index: lib/libc/gen/time.3
===================================================================
--- lib/libc/gen/time.3
+++ lib/libc/gen/time.3
@@ -32,7 +32,7 @@
.\" @(#)time.3 8.1 (Berkeley) 6/4/93
.\" $FreeBSD$
.\"
-.Dd March 4, 2022
+.Dd April 10, 2022
.Dt TIME 3
.Os
.Sh NAME
@@ -49,7 +49,7 @@
.Fn time
function
returns the value of time in seconds since 0 hours, 0 minutes,
-0 seconds, January 1, 1970, Coordinated Universal Time.
+0 seconds, January 1, 1970, Coordinated Universal Time (UTC).
If an error occurs,
.Fn time
returns the value
@@ -73,12 +73,54 @@
The
.Nm
function conforms to
-.St -p1003.1-2001 .
+.St -p1003.1-2008 .
.Sh HISTORY
-A
+The
+.Fn time
+system call first appeared in
+.At v1 .
+Through the
+.At v3 ,
+it returned 60 Hz ticks since an epoch that changed occasionally, because it
+was a 32-bit value that overflowed in a little over 2 years.
+.Pp
+In
+.At v4
+the granularity of the return value was reduced to whole seconds,
+delaying the aforementioned overflow until 2038.
+.Pp
+.At v7
+introduced the
+.Fn ftime
+system call, which returned time at a millisecond level,
+though retained the
+.Fn gtime
+system call (exposed as
+.Fn time
+in userland).
+.Fn time
+could have been implemented as a wrapper around
+.Fn ftime ,
+but that wasn't done.
+.Pp
+.Bx 4.1c
+implemented a higher-precision time function
+.Fn gettimeofday
+to replace
+.Fn ftime
+and reimplemented
+.Fn time
+in terms of that.
+.Pp
+Since
+.Fx 9
+the implementation of
.Fn time
-function appeared in
-.At v6 .
+uses
+.Fn clock_gettime "CLOCK_SECOND"
+instead of
+.Fn gettimeofday
+for performance reasons.
.Sh BUGS
Neither
.St -isoC-99
@@ -92,8 +134,7 @@
the valid time value \-1 (representing the last UTC second of 1969)
from the error return value.
.Pp
-Systems conforming to earlier versions of the C and
-.Tn POSIX
+Systems conforming to earlier versions of the C and POSIX
standards (including older versions of
.Fx )
did not set

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 10, 4:33 AM (11 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15739423
Default Alt Text
D34751.id104834.diff (1 KB)

Event Timeline