From owner-p4-projects Wed May 29 12:52:55 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C15B37B401; Wed, 29 May 2002 12:52:15 -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 0B9EB37B412 for ; Wed, 29 May 2002 12:51:47 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g4TJplr81442 for perforce@freebsd.org; Wed, 29 May 2002 12:51:47 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Wed, 29 May 2002 12:51:47 -0700 (PDT) Message-Id: <200205291951.g4TJplr81442@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer Subject: PERFORCE change 12095 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=12095 Change 12095 by julian@julian_ref on 2002/05/29 12:51:08 Report process status as if we were an old-type process (no threads) Need a new API/ABI for threaded processes. Affected files ... ... //depot/projects/kse/sys/kern/kern_proc.c#61 edit ... //depot/projects/kse/sys/sys/proc.h#103 edit Differences ... ==== //depot/projects/kse/sys/kern/kern_proc.c#61 (text+ko) ==== @@ -726,7 +726,26 @@ sizeof(kp->ki_mtxname) - 1); } } - kp->ki_stat = p->p_state; /* XXXKSE Doesn't MAP */ + + if (p->p_state == PRS_NORMAL) { /* XXXKSE very aproximate */ + if ((td->td_state == TDS_RUN) || + (td->td_state == TDS_RUNNING) { + kp->ki_stat = SRUN; + } else if (td->td_state == TDS_SLEEP) { + kp->ki_stat = SSLEEP; + } else if (P_SHOULDSTOP(p)) { + kp->ki_stat = SSTOP; + } else if (td->td_state == TDS_MTX) { + kp->ki_stat = SMTX; + } else { + kp->ki_stat = SWAIT; + } + } else (p->p_state == PRS_ZOMBIE) { + kp->ki_stat = SZOMB; + } else { + kp->ki_stat = SIDL; + } + kp->ki_sflag = p->p_sflag; kp->ki_swtime = p->p_swtime; kp->ki_traceflag = p->p_traceflag; ==== //depot/projects/kse/sys/sys/proc.h#103 (text+ko) ==== @@ -563,6 +563,8 @@ #define SSLEEP 3 /* Sleeping on an address. */ #define SSTOP 4 /* Process debugging or suspension. */ #define SZOMB 5 /* Awaiting collection by parent. */ +#define SWAIT 6 /* Waiting for interrupt. */ +#define SMTX 7 /* Blocked on a mutex. */ #endif #define P_MAGIC 0xbeefface To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message