summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/top/machine.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c
index 94feb9a..5e53d5b 100644
--- a/usr.bin/top/machine.c
+++ b/usr.bin/top/machine.c
@@ -834,7 +834,8 @@ format_next_process(caddr_t handle, char *(*get_userid)(int), int flags)
if (!(flags & FMT_SHOWARGS)) {
if (ps.thread && pp->ki_flag & P_HADTHREADS &&
pp->ki_tdname[0]) {
- snprintf(cmdbuf, cmdlengthdelta, "{%s}", pp->ki_tdname);
+ snprintf(cmdbuf, cmdlengthdelta, "%s{%s}", pp->ki_comm,
+ pp->ki_tdname);
} else {
snprintf(cmdbuf, cmdlengthdelta, "%s", pp->ki_comm);
}
@@ -846,7 +847,7 @@ format_next_process(caddr_t handle, char *(*get_userid)(int), int flags)
if (ps.thread && pp->ki_flag & P_HADTHREADS &&
pp->ki_tdname[0]) {
snprintf(cmdbuf, cmdlengthdelta,
- "{%s}", pp->ki_tdname);
+ "[%s{%s}]", pp->ki_comm, pp->ki_tdname);
} else {
snprintf(cmdbuf, cmdlengthdelta,
"[%s]", pp->ki_comm);
@@ -890,12 +891,23 @@ format_next_process(caddr_t handle, char *(*get_userid)(int), int flags)
dst--;
*dst = '\0';
- if (strcmp(cmd, pp->ki_comm) != 0 )
- snprintf(cmdbuf, cmdlengthdelta,
- "%s (%s)",argbuf, pp->ki_comm);
- else
- strlcpy(cmdbuf, argbuf, cmdlengthdelta);
-
+ if (strcmp(cmd, pp->ki_comm) != 0 ) {
+ if (ps.thread && pp->ki_flag & P_HADTHREADS &&
+ pp->ki_tdname[0])
+ snprintf(cmdbuf, cmdlengthdelta,
+ "%s (%s){%s}", argbuf, pp->ki_comm,
+ pp->ki_tdname);
+ else
+ snprintf(cmdbuf, cmdlengthdelta,
+ "%s (%s)", argbuf, pp->ki_comm);
+ } else {
+ if (ps.thread && pp->ki_flag & P_HADTHREADS &&
+ pp->ki_tdname[0])
+ snprintf(cmdbuf, cmdlengthdelta,
+ "%s{%s}", argbuf, pp->ki_tdname);
+ else
+ strlcpy(cmdbuf, argbuf, cmdlengthdelta);
+ }
free(argbuf);
}
}
OpenPOWER on IntegriCloud