From 20219ea96694d6163d1e5902345c310431619911 Mon Sep 17 00:00:00 2001 From: dt Date: Sat, 22 May 1999 20:10:31 +0000 Subject: Don't call calcru() on a swapped-out process. calcru() access p_stats, which is in U-area. --- sys/kern/tty.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'sys/kern/tty.c') diff --git a/sys/kern/tty.c b/sys/kern/tty.c index 8b946cf..e9de97b 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.c 8.8 (Berkeley) 1/21/94 - * $Id: tty.c,v 1.117 1999/05/06 18:12:47 peter Exp $ + * $Id: tty.c,v 1.118 1999/05/08 06:39:42 phk Exp $ */ /*- @@ -2260,15 +2260,18 @@ ttyinfo(tp) pick->p_stat == SRUN ? "running" : pick->p_wmesg ? pick->p_wmesg : "iowait"); - calcru(pick, &utime, &stime, NULL); + if (pick->p_flag & P_INMEM) { + calcru(pick, &utime, &stime, NULL); - /* Print user time. */ - ttyprintf(tp, "%ld.%02ldu ", - utime.tv_sec, utime.tv_usec / 10000); + /* Print user time. */ + ttyprintf(tp, "%ld.%02ldu ", + utime.tv_sec, utime.tv_usec / 10000); - /* Print system time. */ - ttyprintf(tp, "%ld.%02lds ", - stime.tv_sec, stime.tv_usec / 10000); + /* Print system time. */ + ttyprintf(tp, "%ld.%02lds ", + stime.tv_sec, stime.tv_usec / 10000); + } else + ttyprintf(tp, "?.??u ?.??s "); /* Print percentage cpu, resident set size. */ tmp = (pick->p_pctcpu * 10000 + FSCALE / 2) >> FSHIFT; -- cgit v1.1