This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] winsup/cygwin/times.cc (times): follow Linux and allow for a NULL buf argument


On 9/15/2019 12:28 PM, Achim Gratz wrote:
> 
> Adresses a problem reported on the Cygwin list.
> 
> ---
>   winsup/cygwin/times.cc | 17 +++++++++++------
>   1 file changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc
> index 8908d44f1..909cae1f1 100644
> --- a/winsup/cygwin/times.cc
> +++ b/winsup/cygwin/times.cc
> @@ -72,12 +72,17 @@ times (struct tms *buf)
>         /* ticks is in in 100ns, convert to clock ticks. */
>         tc = (clock_t) (ticks.QuadPart * CLOCKS_PER_SEC / NS100PERSEC);
>   
> -      buf->tms_stime = __to_clock_t (&kut.KernelTime, 0);
> -      buf->tms_utime = __to_clock_t (&kut.UserTime, 0);
> -      timeval_to_filetime (&myself->rusage_children.ru_stime, &kut.KernelTime);
> -      buf->tms_cstime = __to_clock_t (&kut.KernelTime, 1);
> -      timeval_to_filetime (&myself->rusage_children.ru_utime, &kut.UserTime);
> -      buf->tms_cutime = __to_clock_t (&kut.UserTime, 1);
> +      /* Linux allows a NULL buf and just returns tc in that case, so
> +	 mimic that */
> +      if (buf)
> +	{
> +	  buf->tms_stime = __to_clock_t (&kut.KernelTime, 0);
> +	  buf->tms_utime = __to_clock_t (&kut.UserTime, 0);
> +	  timeval_to_filetime (&myself->rusage_children.ru_stime, &kut.KernelTime);
> +	  buf->tms_cstime = __to_clock_t (&kut.KernelTime, 1);
> +	  timeval_to_filetime (&myself->rusage_children.ru_utime, &kut.UserTime);
> +	  buf->tms_cutime = __to_clock_t (&kut.UserTime, 1);
> +	}
>       }
>     __except (EFAULT)
>       {

Pushed, with a slight tweak to the commit message.  Thanks.

Ken


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]