On Wed, Feb 28, 2018 at 09:56:14AM -0600, Scott Cheloha wrote:
> 
> One last thing: in ERRORS, the phrasing varies when we do a cross
> reference.  It's usually something like
> 
> [...] may fail and set errno for any of the errors specified for [...]
> 
> but then you have a mix of "library routines," "routines," and nothing
> qualifying the cross reference(s).  The cross references here are system
> calls, so can I just omit "library routines," or "routines," entirely?
> 

yes.

> ^ This and the fixes attached.
> 

ok by me.

jmc

> --
> Scott Cheloha
> 
> Index: lib/libc/gen/times.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/times.c,v
> retrieving revision 1.7
> diff -u -p -r1.7 times.c
> --- lib/libc/gen/times.c      2 Nov 2015 17:02:37 -0000       1.7
> +++ lib/libc/gen/times.c      28 Feb 2018 15:53:00 -0000
> @@ -28,9 +28,9 @@
>   * SUCH DAMAGE.
>   */
>  
> -#include <sys/time.h>
>  #include <sys/times.h>
>  #include <sys/resource.h>
> +#include <time.h>
>  
>  /*
>   * Convert usec to clock ticks; could do (usec * CLK_TCK) / 1000000,
> @@ -42,7 +42,7 @@ clock_t
>  times(struct tms *tp)
>  {
>       struct rusage ru;
> -     struct timeval t;
> +     struct timespec ts;
>  
>       if (getrusage(RUSAGE_SELF, &ru) < 0)
>               return ((clock_t)-1);
> @@ -52,7 +52,7 @@ times(struct tms *tp)
>               return ((clock_t)-1);
>       tp->tms_cutime = CONVTCK(ru.ru_utime);
>       tp->tms_cstime = CONVTCK(ru.ru_stime);
> -     if (gettimeofday(&t, NULL))
> +     if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1)
>               return ((clock_t)-1);
> -     return ((clock_t)(CONVTCK(t)));
> +     return (ts.tv_sec * CLK_TCK + ts.tv_nsec / (1000000000 / CLK_TCK));
>  }
> Index: lib/libc/gen/times.3
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/times.3,v
> retrieving revision 1.14
> diff -u -p -r1.14 times.3
> --- lib/libc/gen/times.3      17 Jul 2013 05:42:11 -0000      1.14
> +++ lib/libc/gen/times.3      28 Feb 2018 15:53:00 -0000
> @@ -40,20 +40,14 @@
>  .Sh DESCRIPTION
>  .Bf -symbolic
>  This interface is obsoleted by
> -.Xr getrusage 2
> +.Xr clock_gettime 2
>  and
> -.Xr gettimeofday 2 .
> +.Xr getrusage 2 .
>  .Ef
>  .Pp
>  The
>  .Fn times
> -function returns the value of time in
> -.Dv CLK_TCK Ns s
> -of a second since
> -0 hours, 0 minutes, 0 seconds, January 1, 1970, Coordinated Universal
> -Time (UTC).
> -.Pp
> -It also fills in the structure pointed to by
> +function fills in the structure pointed to by
>  .Fa tp
>  with time-accounting information.
>  .Pp
> @@ -105,27 +99,32 @@ and
>  elements of the parent when one of the
>  .Xr wait 2
>  functions returns the process ID of the terminated child to the parent.
> -If an error occurs,
> +.Sh RETURN VALUES
> +Upon successful completion,
>  .Fn times
> -returns the value
> -.Li "(clock_t)-1" ,
> -and sets
> +returns the value of real time,
> +in
> +.Dv CLK_TCK Ns s
> +of a second,
> +elapsed since an arbitrary point in the past.
> +Otherwise a value of
> +.Li "(clock_t)-1"
> +is returned and the global variable
>  .Va errno
> -to indicate the error.
> +is set to indicate the error.
>  .Sh ERRORS
>  The
>  .Fn times
> -function may fail and set the global variable
> +function may fail and set
>  .Va errno
> -for any of the errors specified for the library
> -routines
> -.Xr getrusage 2
> +for any of the errors specified for
> +.Xr clock_gettime 2
>  and
> -.Xr gettimeofday 2 .
> +.Xr getrusage 2 .
>  .Sh SEE ALSO
>  .Xr time 1 ,
> +.Xr clock_gettime 2 ,
>  .Xr getrusage 2 ,
> -.Xr gettimeofday 2 ,
>  .Xr wait 2
>  .Sh STANDARDS
>  The

Reply via email to