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