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)
This commit is contained in:
bz 2011-07-18 20:57:43 +00:00
parent dd1a1f9dcc
commit b0d9421761

View File

@ -834,7 +834,8 @@ format_next_process(caddr_t handle, char *(*get_userid)(int), int flags)
if (!(flags & FMT_SHOWARGS)) { if (!(flags & FMT_SHOWARGS)) {
if (ps.thread && pp->ki_flag & P_HADTHREADS && if (ps.thread && pp->ki_flag & P_HADTHREADS &&
pp->ki_tdname[0]) { pp->ki_tdname[0]) {
snprintf(cmdbuf, cmdlengthdelta, "{%s}", pp->ki_tdname); snprintf(cmdbuf, cmdlengthdelta, "%s{%s}", pp->ki_comm,
pp->ki_tdname);
} else { } else {
snprintf(cmdbuf, cmdlengthdelta, "%s", pp->ki_comm); 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 && if (ps.thread && pp->ki_flag & P_HADTHREADS &&
pp->ki_tdname[0]) { pp->ki_tdname[0]) {
snprintf(cmdbuf, cmdlengthdelta, snprintf(cmdbuf, cmdlengthdelta,
"{%s}", pp->ki_tdname); "[%s{%s}]", pp->ki_comm, pp->ki_tdname);
} else { } else {
snprintf(cmdbuf, cmdlengthdelta, snprintf(cmdbuf, cmdlengthdelta,
"[%s]", pp->ki_comm); "[%s]", pp->ki_comm);
@ -890,12 +891,23 @@ format_next_process(caddr_t handle, char *(*get_userid)(int), int flags)
dst--; dst--;
*dst = '\0'; *dst = '\0';
if (strcmp(cmd, pp->ki_comm) != 0 ) if (strcmp(cmd, pp->ki_comm) != 0 ) {
snprintf(cmdbuf, cmdlengthdelta, if (ps.thread && pp->ki_flag & P_HADTHREADS &&
"%s (%s)",argbuf, pp->ki_comm); pp->ki_tdname[0])
else snprintf(cmdbuf, cmdlengthdelta,
strlcpy(cmdbuf, argbuf, 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); free(argbuf);
} }
} }