On Fri, Jul 30, 2021 at 01:01:21PM -0500, Scott Cheloha wrote:
> Next up, time.3.
> 
> As before, changes by section, with "I don't knows" at the end of the
> change list in each section.
> 

hi. comments inline:

> NAME
> 
> - get "the" time of day.
> 
> SYNOPSIS
> 
> - Not a fan of the "tloc" variable name.  Use "now" as we do in other
>   pages to reinforce the meaning of its contents.
> 
> DESCRIPTION
> 
> - Clean this up.  In particular, format the Epoch date like we do in
>   other pages.  We don't need two paragraphs, either.
> 
> - Mention that we call gettimeofday(2).  Not strictly necessary, but
>   useful for people tracing system calls to know what the library
>   is doing.
> 
> Part of me wants to tell the reader not to use time() to measure
> elapsed time.  Then again, time() is low-res so it isn't misused
> nearly as often as gettimeofday(2).
> 
> I'm also leaning toward omitting the full description of the UTC clock
> and its behavior.  Not completely sure.
> 
> RETURN VALUES
> 
> - There are no relevant error cases, remove them.
> 
>   The underlying system call, gettimeofday(2), will not fail in this
>   context unless the stack is corrupted, which we cannot account for
>   anyway.
> 
> - Just say that time() always succeeds.
> 
> I cribbed this bit from another page to put something in the Return
> Values section, but the return value is already described in the
> Description.
> 
> Maybe we don't need this section at all anymore?
> 
> STANDARDS
> 
> - This section is missing.  Our time() conforms to the latest
>   standard.
> 
> HISTORY
> 
> - Rework this a bit.
> 
> - Note the fate of the historical time() system call.
> 
> Index: time.3
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/time.3,v
> retrieving revision 1.16
> diff -u -p -r1.16 time.3
> --- time.3    29 Jan 2015 01:46:30 -0000      1.16
> +++ time.3    30 Jul 2021 17:59:37 -0000
> @@ -36,52 +36,54 @@
>  .Os
>  .Sh NAME
>  .Nm time
> -.Nd get time of day
> +.Nd get the time of day

i'm honestly unconvinced about this. it makes more sense in normal
english rules, but feels incorrect. for comparison, posix uses

        time - get time

i think in this sense "time of day" is a thing, and does not require an
article. i don;t see a good reason to change it.

>  .Sh SYNOPSIS
>  .In time.h
>  .Ft time_t
> -.Fn time "time_t *tloc"
> +.Fn time "time_t *now"
>  .Sh DESCRIPTION
>  The
>  .Fn time
> -function returns the value of time in seconds since 0 hours, 0 minutes,
> -0 seconds, January 1, 1970, Coordinated Universal Time (UTC).
> +function returns the the number of seconds elapsed since
> +Jan 1 1970 00:00:00 UTC.
> +This value is also written to
> +.Fa now
> +unless
> +.Fa now
> +is
> +.Dv NULL .
>  .Pp
> -A copy of the time value may be saved to the area indicated by the
> -pointer
> -.Fa tloc .
> -If
> -.Fa tloc
> -is a null pointer, no value is stored.
> +This version of
> +.Fn time
> +is implemented with
> +.Xr gettimeofday 2 .
>  .Sh RETURN VALUES
> -Upon successful completion,
> +The
>  .Fn time
> -returns the value of time.
> -Otherwise a value of
> -.Po Fa time_t Pc Ns -1
> -is returned and the global variable
> -.Va errno
> -is set to indicate the error.
> -.Sh ERRORS
> -The following error codes may be set in
> -.Va errno :
> -.Bl -tag -width Er
> -.It Bq Er EFAULT
> -An argument address referenced invalid memory.
> -.El
> +function is always successful,
> +and no return value is reserved to indicate an error.
>  .Sh SEE ALSO
>  .Xr clock_gettime 2 ,
>  .Xr gettimeofday 2 ,
>  .Xr ctime 3
> +.Sh STANDARDS
> +The
> +.Fn time
> +function conforms to
> +.St -p1003.1-2008 .
>  .Sh HISTORY
>  A
>  .Fn time
>  system call first appeared in
> -.At v1
> -and used to return time in sixtieths of a second in 32 bits,
> -which was to guarantee a crisis every 2.26 years.
> -Since
> -.At v6 ,
> -.Fn time
> -scale was changed to seconds, extending the pre-crisis stagnation
> -period up to a total of 68 years.
> +.At v1 .
> +This version counted time in sixtieths of a second with a 32-bit return 
> value,

i think the text should be *that* version

otherwise reads fine.
jmc

> +ensuring an integer overflow crisis every 2.26 years.
> +In
> +.At v6
> +the granularity of the return value was reduced to whole seconds,
> +delaying the aforementioned crisis until 2038.
> +In
> +.Bx 4.1c
> +the function was moved out of the kernel into the C standard library and
> +reimplemented with
> +.Xr gettimeofday 2 .
> 

Reply via email to