[newlib-cygwin] Cygwin: proc: Fix loadavg calculation

Takashi Yano tyan0@sourceware.org
Sun Sep 6 11:16:30 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=6a2f4b101c295c61a28ab705d5e0a11d3e1e5742

commit 6a2f4b101c295c61a28ab705d5e0a11d3e1e5742
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date:   Fri Sep 4 10:10:53 2026 +0900

    Cygwin: proc: Fix loadavg calculation
    
    Previously, format_proc_loadavg() wrongly passed an argument `i` to
    get_process_state(). This should be windows process ID (pids[i]->
    dwProcessId). This patch fix that.
    
    Fixes: 9ca65531e0ed ("* fhandler_proc.cc (format_proc_loadavg): Add running/total processes as fourth component of output.")
    Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
    Reviewed-by: Mark Geisert <mark@maxrnd.com>

Diff:
---
 winsup/cygwin/fhandler/proc.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/winsup/cygwin/fhandler/proc.cc b/winsup/cygwin/fhandler/proc.cc
index f1cd468fc..af3cfdb16 100644
--- a/winsup/cygwin/fhandler/proc.cc
+++ b/winsup/cygwin/fhandler/proc.cc
@@ -442,7 +442,7 @@ format_proc_loadavg (void *, char *&destbuf)
   winpids pids ((DWORD) 0);
 
   for (unsigned i = 0; i < pids.npids; i++)
-    switch (get_process_state (i)) {
+    switch (get_process_state (pids[i]->dwProcessId)) {
       case 'O':
       case 'R':
 	running++;


More information about the Cygwin-cvs mailing list