From owner-p4-projects Wed May 29 12:36:54 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A06637B409; Wed, 29 May 2002 12:36:27 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 99DC637B403 for ; Wed, 29 May 2002 12:36:22 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g4TJaMK79460 for perforce@freebsd.org; Wed, 29 May 2002 12:36:22 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Wed, 29 May 2002 12:36:22 -0700 (PDT) Message-Id: <200205291936.g4TJaMK79460@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer Subject: PERFORCE change 12090 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=12090 Change 12090 by julian@julian_ref on 2002/05/29 12:35:49 Patch (with duct tape) a bit of the worst libkvm broken-ness. Affected files ... ... //depot/projects/kse/lib/libkvm/kvm_proc.c#12 edit ... //depot/projects/kse/sys/sys/proc.h#102 edit Differences ... ==== //depot/projects/kse/lib/libkvm/kvm_proc.c#12 (text+ko) ==== @@ -325,10 +325,24 @@ kp->ki_estcpu = proc.p_ksegrp.kg_estcpu; /* XXXKSE */ kp->ki_slptime = proc.p_kse.ke_slptime; /* XXXKSE */ kp->ki_swtime = proc.p_swtime; - kp->ki_flag = proc.p_flag; + kp->ki_flag = proc.p_flag; /* WILDLY INNACURATE XXXKSE */ kp->ki_sflag = proc.p_sflag; kp->ki_wchan = mainthread.td_wchan; /* XXXKSE */ kp->ki_traceflag = proc.p_traceflag; + if (proc.p_state == PRS_NORMAL) { /* XXXKSE very aproximate */ + if ((mainthread.td_state == TDS_RUN) || + (mainthread.td_state == TDS_RUNNING) { + kp->ki_stat = SRUN; + } else if (mainthread.td_state == TDS_SLEEP) { + kp->ki_stat = SSLEEP; + } else if (P_SHOULDSTOP(&proc)) { + kp->ki_stat = SSTOP; + } + } else (proc.p_state == PRS_ZOMBIE) { + kp->ki_stat = SZOMB; + } else { + kp->ki_stat = SIDL; + } kp->ki_stat = proc.p_state; kp->ki_pri.pri_class = proc.p_ksegrp.kg_pri_class; /* XXXKSE */ kp->ki_pri.pri_user = proc.p_ksegrp.kg_user_pri; /* XXXKSE */ ==== //depot/projects/kse/sys/sys/proc.h#102 (text+ko) ==== @@ -523,9 +523,6 @@ #define P_KTHREAD 0x00004 /* Kernel thread. (*)*/ #define P_NOLOAD 0x00008 /* Ignore during load avg calculations. */ #define P_PPWAIT 0x00010 /* Parent is waiting for child to exec/exit. */ -/*#define P_SPARE 0x00020 *//* SPARE */ -/*#define P_SPARE 0x00040 *//* SPARE */ -/*#define P_SPARE 0x00080 *//* SPARE */ #define P_SUGID 0x00100 /* Had set id privileges since last exec. */ #define P_SYSTEM 0x00200 /* System proc: no sigs, stats or swapping. */ #define P_WAITED 0x01000 /* Someone is waiting for us */ @@ -560,6 +557,14 @@ #define PS_SWAPPING 0x00200 /* Process is being swapped. */ #define PS_NEEDSIGCHK 0x02000 /* Process may need signal delivery. */ +#ifndef _KERNEL /* Only usable by libkvm for legacy apps */ +#define SIDL 1 /* Process being created by fork. */ +#define SRUN 2 /* Currently runnable. */ +#define SSLEEP 3 /* Sleeping on an address. */ +#define SSTOP 4 /* Process debugging or suspension. */ +#define SZOMB 5 /* Awaiting collection by parent. */ +#endif + #define P_MAGIC 0xbeefface #ifdef _KERNEL To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message