aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/top
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2011-07-18 20:57:43 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2011-07-18 20:57:43 +0000
commitc618a5222e79253859f619c1962e84931ae54921 (patch)
treea815f9f926933fa44a9cf0a66415bd5429115718 /usr.bin/top
parent8bd9dc088ea834738fb438463e280eb5d47bddf8 (diff)
downloadsrc-c618a5222e79253859f619c1962e84931ae54921.tar.gz
src-c618a5222e79253859f619c1962e84931ae54921.zip
Constantly print the command name and if set include the thread
name in per-thread mode. Discussed with: jhb Obtained from: Ed Maste at Sandvine Incorporated Sponsored by: Sandvine Incorporated MFC after: 1 week Approved by: re (kib)
Notes
Notes: svn path=/head/; revision=224202
Diffstat (limited to 'usr.bin/top')
-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 94feb9a6d055..5e53d5b36ed8 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);
}
}