From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 128849 invoked by alias); 2 Dec 2019 08:57:33 -0000 Mailing-List: contact cygwin-cvs-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-cvs-owner@cygwin.com Received: (qmail 128815 invoked by uid 9078); 2 Dec 2019 08:57:33 -0000 Date: Mon, 02 Dec 2019 08:57:00 -0000 Message-ID: <20191202085733.128813.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: /proc/[PID]/stat to pull process priority correctly X-Act-Checkin: newlib-cygwin X-Git-Author: Anton Lavrentiev via cygwin-patches X-Git-Refname: refs/heads/master X-Git-Oldrev: c63c29e76e7511c43972c400002f93872885a330 X-Git-Newrev: 8574f8a1e4b02a4b47e2434111c4e2c382a9f046 X-SW-Source: 2019-q4/txt/msg00032.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8574f8a1e4b02a4b47e2434111c4e2c382a9f046 commit 8574f8a1e4b02a4b47e2434111c4e2c382a9f046 Author: Anton Lavrentiev via cygwin-patches Date: Sat Nov 30 22:58:14 2019 -0500 Cygwin: /proc/[PID]/stat to pull process priority correctly Fix to prior commit 5fa9a0e7 to address https://cygwin.com/ml/cygwin/2019-08/msg00082.html Diff: --- winsup/cygwin/fhandler_process.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc index 9527fea..6fc3476 100644 --- a/winsup/cygwin/fhandler_process.cc +++ b/winsup/cygwin/fhandler_process.cc @@ -1076,6 +1076,7 @@ format_process_stat (void *data, char *&destbuf) unsigned long fault_count = 0UL, vmsize = 0UL, vmrss = 0UL, vmmaxrss = 0UL; uint64_t utime = 0ULL, stime = 0ULL, start_time = 0ULL; + int nice = 0; if (p->process_state & PID_EXITED) strcpy (cmd, ""); @@ -1138,6 +1139,7 @@ format_process_stat (void *data, char *&destbuf) if (!NT_SUCCESS (status)) debug_printf ("NtQueryInformationProcess(ProcessQuotaLimits): " "status %y", status); + nice = winprio_to_nice (GetPriorityClass (hProcess)); CloseHandle (hProcess); } status = NtQuerySystemInformation (SystemTimeOfDayInformation, @@ -1157,7 +1159,6 @@ format_process_stat (void *data, char *&destbuf) vmsize = vmc.PagefileUsage; vmrss = vmc.WorkingSetSize / page_size; vmmaxrss = ql.MaximumWorkingSetSize / page_size; - int nice = winprio_to_nice(GetPriorityClass(hProcess)); destbuf = (char *) crealloc_abort (destbuf, strlen (cmd) + 320); return __small_sprintf (destbuf, "%d (%s) %c " @@ -1169,7 +1170,7 @@ format_process_stat (void *data, char *&destbuf) p->pid, cmd, state, p->ppid, p->pgid, p->sid, p->ctty, -1, 0, fault_count, fault_count, 0, 0, utime, stime, - utime, stime, NZERO + nice, nice, 0, 0, + utime, stime, NZERO + nice, nice, 0, 0, start_time, vmsize, vmrss, vmmaxrss );