[PATCH] default ps -W process start time to system boot time when inaccessible, 0, -1
Corinna Vinschen
corinna-cygwin@cygwin.com
Sat Mar 23 17:04:00 GMT 2019
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20190323/12951463/attachment.sig>
More information about the Cygwin-patches
mailing list