diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2019-03-12 11:17:11 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2019-03-12 11:17:11 +0100 |
commit | 048f28bfe4a86fde44759ccec34e8ac7de56eebe (patch) | |
tree | b9167833ddac3288a7aa3c24924accd3bf516463 | |
parent | d9f934c9e9ec5588e6c616e9c63dd348995dafa8 (diff) | |
download | cygnal-048f28bfe4a86fde44759ccec34e8ac7de56eebe.tar.gz cygnal-048f28bfe4a86fde44759ccec34e8ac7de56eebe.tar.bz2 cygnal-048f28bfe4a86fde44759ccec34e8ac7de56eebe.zip |
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>
-rw-r--r-- | winsup/cygwin/fhandler_process.cc | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc index 29b8c5934..06325caf1 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 |