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] default ps -W process start time to system boot time when inaccessible, 0, -1


Hi Brian,

On Mar 22 21:45, Brian Inglis wrote:
> 
> diff --git a/winsup/utils/ps.cc b/winsup/utils/ps.cc
> index 4fce3e0b3..c81805ab6 100644
> --- a/winsup/utils/ps.cc
> +++ b/winsup/utils/ps.cc
> @@ -337,6 +337,17 @@ main (int argc, char *argv[])
>  		p->start_time = to_time_t (&ct);
>  	      CloseHandle (h);
>  	    }
> +	  if (!h || 0 == p->start_time || -1 == p->start_time)

          if (!h || !p->start_time)

should be sufficient.  cygwin_internal(CW_GETPINFO_FULL) memsets the
struct returned to all 0 before filling it with available data.

> +	    {
> +	      SYSTEM_TIMEOFDAY_INFORMATION stodi;
> +	      status = NtQuerySystemInformation (SystemTimeOfDayInformation,
> +					(PVOID) &stodi, sizeof stodi, NULL);
> +	      if (!NT_SUCCESS (status))
> +		fprintf (stderr,
> +			"NtQuerySystemInformation(SystemTimeOfDayInformation), "
> +					"status %08x", status);
> +	      p->start_time = to_time_t ((FILETIME*)&stodi.BootTime);
> +	    }
>  	}
>  
>        char uname[128];
> -- 
> 2.17.0

Wouldn't it make sense to fetch SystemTimeOfDayInformation only once
and then just set p->start_time above?


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer

Attachment: signature.asc
Description: PGP signature


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