X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/blobdiff_plain/f8f949a80341354cf772b58119c0e58c1fbcddae..5b0d3e5eb36fe261cdbf8fadcaa5598a7a1d6fd2:/bin/ps/print.c diff --git a/bin/ps/print.c b/bin/ps/print.c index a74508aba0..d5e582c404 100644 --- a/bin/ps/print.c +++ b/bin/ps/print.c @@ -32,7 +32,7 @@ * * @(#)print.c 8.6 (Berkeley) 4/16/94 * $FreeBSD: src/bin/ps/print.c,v 1.36.2.4 2002/11/30 13:00:14 tjr Exp $ - * $DragonFly: src/bin/ps/print.c,v 1.31 2007/02/18 16:15:23 corecode Exp $ + * $DragonFly: src/bin/ps/print.c,v 1.34 2008/11/10 14:56:33 swildner Exp $ */ #include @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -182,12 +183,16 @@ state(const KINFO *k, const struct varent *vent) case SACTIVE: switch (KI_LWP(k, stat)) { case LSSLEEP: - if (KI_LWP(k, flags) & LWP_SINTR) /* interruptable (long) */ + if (KI_LWP(k, flags) & LWP_SINTR) { + /* interruptable wait short/long */ *cp = KI_LWP(k, slptime) >= MAXSLP ? 'I' : 'S'; + } else if (KI_LWP(k, tdflags) & TDF_SINTR) - *cp = 'S'; + *cp = 'S'; /* interruptable lwkt wait */ + else if (KI_PROC(k, paddr)) + *cp = 'D'; /* uninterruptable wait */ else - *cp = 'D'; + *cp = 'B'; /* uninterruptable lwkt wait */ break; case LSRUN: @@ -384,15 +389,12 @@ lstarted(const KINFO *k, const struct varent *vent) void wchan(const KINFO *k, const struct varent *vent) { - if (KI_LWP(k, wchan)) { - if (*KI_LWP(k, wmesg) != '\0') - printf("%-*.*s", vent->width, vent->width, - KI_LWP(k, wmesg)); - else - printf("%-*lx", vent->width, - (long)KI_LWP(k, wchan)); - } else + if (*KI_LWP(k, wmesg)) { + printf("%-*.*s", vent->width, vent->width, + KI_LWP(k, wmesg)); + } else { printf("%-*s", vent->width, "-"); + } } #ifndef pgtok @@ -402,7 +404,7 @@ wchan(const KINFO *k, const struct varent *vent) void vsize(const KINFO *k, const struct varent *vent) { - printf("%*d", vent->width, (KI_PROC(k, vm_map_size)/1024)); + printf("%*ju", vent->width, (uintmax_t)(KI_PROC(k, vm_map_size)/1024)); } void