summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rw-r--r--bin/ps/ps.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/bin/ps/ps.c b/bin/ps/ps.c
index d65d24c45a6..b791ee356b0 100644
--- a/bin/ps/ps.c
+++ b/bin/ps/ps.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ps.c,v 1.28 2002/06/08 22:41:46 art Exp $ */
+/* $OpenBSD: ps.c,v 1.29 2002/06/09 05:46:44 art Exp $ */
/* $NetBSD: ps.c,v 1.15 1995/05/18 20:33:25 mycroft Exp $ */
/*-
@@ -44,7 +44,7 @@ static char copyright[] =
#if 0
static char sccsid[] = "@(#)ps.c 8.4 (Berkeley) 4/2/94";
#else
-static char rcsid[] = "$OpenBSD: ps.c,v 1.28 2002/06/08 22:41:46 art Exp $";
+static char rcsid[] = "$OpenBSD: ps.c,v 1.29 2002/06/09 05:46:44 art Exp $";
#endif
#endif /* not lint */
@@ -415,20 +415,12 @@ saveuser(ki)
struct usave *usp;
usp = &ki->ki_u;
- if (kd != NULL && kvm_read(kd, (u_long)&KI_PROC(ki)->p_addr->u_stats,
- &pstats, sizeof(pstats)) == sizeof(pstats)) {
- /*
- * The u-area might be swapped out, and we can't get
- * at it because we have a crashdump and no swap.
- * If it's here fill in these fields, otherwise, just
- * leave them 0.
- */
- usp->u_start = pstats.p_start;
- usp->u_ru = pstats.p_ru;
- usp->u_cru = pstats.p_cru;
- usp->u_valid = 1;
- } else
- usp->u_valid = 0;
+ usp->u_valid = KI_EPROC(ki)->e_pstats_valid;
+ if (!usp->u_valid)
+ return;
+ usp->u_start = KI_EPROC(ki)->e_pstats.p_start;
+ usp->u_ru = KI_EPROC(ki)->e_pstats.p_ru;
+ usp->u_cru = KI_EPROC(ki)->e_pstats.p_cru;
}
static int