=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/top/machine.c,v retrieving revision 1.83 retrieving revision 1.84 diff -c -r1.83 -r1.84 *** src/usr.bin/top/machine.c 2015/01/19 18:01:13 1.83 --- src/usr.bin/top/machine.c 2015/05/06 07:53:29 1.84 *************** *** 1,4 **** ! /* $OpenBSD: machine.c,v 1.83 2015/01/19 18:01:13 millert Exp $ */ /*- * Copyright (c) 1994 Thorsten Lockert --- 1,4 ---- ! /* $OpenBSD: machine.c,v 1.84 2015/05/06 07:53:29 mpi Exp $ */ /*- * Copyright (c) 1994 Thorsten Lockert *************** *** 222,234 **** } char * ! format_header(char *uname_field) { char *ptr; ptr = header + UNAME_START; ! while (*uname_field != '\0') ! *ptr++ = *uname_field++; return (header); } --- 222,240 ---- } char * ! format_header(char *second_field, int show_threads) { + char *field_name, *thread_field = " TID"; char *ptr; + if (show_threads) + field_name = thread_field; + else + field_name = second_field; + ptr = header + UNAME_START; ! while (*field_name != '\0') ! *ptr++ = *field_name++; return (header); } *************** *** 489,501 **** } char * ! format_next_process(caddr_t handle, char *(*get_userid)(uid_t), pid_t *pid) { char *p_wait; struct kinfo_proc *pp; struct handle *hp; int cputime; double pct; /* find and remember the next proc structure */ hp = (struct handle *) handle; --- 495,509 ---- } char * ! format_next_process(caddr_t handle, char *(*get_userid)(uid_t), pid_t *pid, ! int show_threads) { char *p_wait; struct kinfo_proc *pp; struct handle *hp; int cputime; double pct; + char buf[16]; /* find and remember the next proc structure */ hp = (struct handle *) handle; *************** *** 512,520 **** else p_wait = "-"; /* format this entry */ ! snprintf(fmt, sizeof fmt, Proc_format, ! pp->p_pid, (*get_userid)(pp->p_ruid), pp->p_priority - PZERO, pp->p_nice - NZERO, format_k(pagetok(PROCSIZE(pp))), format_k(pagetok(pp->p_vm_rssize)), --- 520,532 ---- else p_wait = "-"; + if (show_threads) + snprintf(buf, sizeof(buf), "%8d", pp->p_tid); + else + snprintf(buf, sizeof(buf), "%s", (*get_userid)(pp->p_ruid)); + /* format this entry */ ! snprintf(fmt, sizeof(fmt), Proc_format, pp->p_pid, buf, pp->p_priority - PZERO, pp->p_nice - NZERO, format_k(pagetok(PROCSIZE(pp))), format_k(pagetok(pp->p_vm_rssize)),