[newlib-cygwin] Cygwin: proc: return more useful cmdline
Corinna Vinschen
corinna@sourceware.org
Tue Mar 12 10:47:00 GMT 2019
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=048f28bfe4a86fde44759ccec34e8ac7de56eebe
commit 048f28bfe4a86fde44759ccec34e8ac7de56eebe
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Tue Mar 12 11:17:11 2019 +0100
Cygwin: proc: return more useful cmdline
Creating /proc/<PID>/cmdline requires permissions to communicate
with the target process via its signal pipe. If that fails, the
output is "<defunct>" which doesn't make sense most of the time.
Rather, call format_process_exename in this case to get more useful
process name info, albeit not the full cmdline.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/fhandler_process.cc | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc
index 29b8c59..06325ca 100644
--- a/winsup/cygwin/fhandler_process.cc
+++ b/winsup/cygwin/fhandler_process.cc
@@ -519,12 +519,9 @@ format_process_cmdline (void *data, char *&destbuf)
destbuf = NULL;
}
destbuf = p ? p->cmdline (fs) : NULL;
- if (!destbuf || !*destbuf)
- {
- destbuf = cstrdup ("<defunct>");
- fs = strlen (destbuf) + 1;
- }
- return fs;
+ if (destbuf && *destbuf)
+ return fs;
+ return format_process_exename (data, destbuf);
}
static off_t
More information about the Cygwin-cvs
mailing list