diff options
| author | Julian Elischer <julian@FreeBSD.org> | 2002-06-30 20:13:53 +0000 |
|---|---|---|
| committer | Julian Elischer <julian@FreeBSD.org> | 2002-06-30 20:13:53 +0000 |
| commit | 58551c0393c92886f15107408978b2b53fb1809d (patch) | |
| tree | a2480ba957b360b418b35b1c09fabe99851c8f86 /lib/libkvm/kvm_proc.c | |
| parent | eb538bfd646c00d23ec714b9a00ca3fa85a7e6f3 (diff) | |
Notes
Diffstat (limited to 'lib/libkvm/kvm_proc.c')
| -rw-r--r-- | lib/libkvm/kvm_proc.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/libkvm/kvm_proc.c b/lib/libkvm/kvm_proc.c index 91e521693264..d0e6517bf8f7 100644 --- a/lib/libkvm/kvm_proc.c +++ b/lib/libkvm/kvm_proc.c @@ -130,11 +130,14 @@ kvm_proclist(kd, what, arg, p, bp, maxcnt) _kvm_err(kd, kd->program, "can't read proc at %x", p); return (-1); } - if (KREAD(kd, (u_long)TAILQ_FIRST(&proc.p_threads), - &mainthread)) { - _kvm_err(kd, kd->program, "can't read thread at %x", - TAILQ_FIRST(&proc.p_threads)); - return (-1); + if (proc.p_state != PRS_ZOMBIE) { + if (KREAD(kd, (u_long)TAILQ_FIRST(&proc.p_threads), + &mainthread)) { + _kvm_err(kd, kd->program, + "can't read thread at %x", + TAILQ_FIRST(&proc.p_threads)); + return (-1); + } } if (KREAD(kd, (u_long)proc.p_ucred, &ucred) == 0) { kp->ki_ruid = ucred.cr_ruid; @@ -268,7 +271,7 @@ kvm_proclist(kd, what, arg, p, bp, maxcnt) nopgrp: kp->ki_tdev = NODEV; } - if ((proc.p_state != PRS_ZOMBIE) && mainthread.td_wmesg) /* XXXKSE */ + if ((proc.p_state != PRS_ZOMBIE) && mainthread.td_wmesg) (void)kvm_read(kd, (u_long)mainthread.td_wmesg, kp->ki_wmesg, WMESGLEN); @@ -308,7 +311,7 @@ nopgrp: kp->ki_comm[MAXCOMLEN] = 0; } if ((proc.p_state != PRS_ZOMBIE) && - mainthread.td_blocked != 0) { + (mainthread.td_blocked != 0)) { kp->ki_kiflag |= KI_MTXBLOCK; if (mainthread.td_mtxname) (void)kvm_read(kd, |
