summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_ktrace.c
diff options
context:
space:
mode:
authorhsu <hsu@FreeBSD.org>1996-03-11 06:05:03 +0000
committerhsu <hsu@FreeBSD.org>1996-03-11 06:05:03 +0000
commit3efcd29606dba0d527ba294cf9b5be8e83b3df89 (patch)
treed9300f117186eb466b438b0f88a94badb260f3bf /sys/kern/kern_ktrace.c
parent633fd1e2eb1963ab5a8b7c666ecd06d0e5ab280a (diff)
downloadFreeBSD-src-3efcd29606dba0d527ba294cf9b5be8e83b3df89.zip
FreeBSD-src-3efcd29606dba0d527ba294cf9b5be8e83b3df89.tar.gz
From Lite2: proc LIST changes.
Reviewed by: david & bde
Diffstat (limited to 'sys/kern/kern_ktrace.c')
-rw-r--r--sys/kern/kern_ktrace.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c
index 1b7601d..c76044e 100644
--- a/sys/kern/kern_ktrace.c
+++ b/sys/kern/kern_ktrace.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)kern_ktrace.c 8.2 (Berkeley) 9/23/93
- * $Id: kern_ktrace.c,v 1.9 1995/12/14 08:31:23 phk Exp $
+ * $Id: kern_ktrace.c,v 1.10 1996/01/03 21:42:04 wollman Exp $
*/
#include "opt_ktrace.h"
@@ -282,7 +282,7 @@ ktrace(curp, uap, retval)
* Clear all uses of the tracefile
*/
if (ops == KTROP_CLEARFILE) {
- for (p = (struct proc *)allproc; p != NULL; p = p->p_next) {
+ for (p = allproc.lh_first; p != 0; p = p->p_list.le_next) {
if (p->p_tracep == vp) {
if (ktrcanset(curp, p)) {
p->p_tracep = NULL;
@@ -314,7 +314,7 @@ ktrace(curp, uap, retval)
error = ESRCH;
goto done;
}
- for (p = pg->pg_mem; p != NULL; p = p->p_pgrpnxt)
+ for (p = pg->pg_members.lh_first; p != 0; p = p->p_pglist.le_next)
if (descend)
ret |= ktrsetchildren(curp, p, ops, facs, vp);
else
@@ -401,20 +401,16 @@ ktrsetchildren(curp, top, ops, facs, vp)
* otherwise do any siblings, and if done with this level,
* follow back up the tree (but not past top).
*/
- if (p->p_cptr)
- p = p->p_cptr;
- else if (p == top)
- return (ret);
- else if (p->p_osptr)
- p = p->p_osptr;
+ if (p->p_children.lh_first)
+ p = p->p_children.lh_first;
else for (;;) {
- p = p->p_pptr;
if (p == top)
return (ret);
- if (p->p_osptr) {
- p = p->p_osptr;
+ if (p->p_sibling.le_next) {
+ p = p->p_sibling.le_next;
break;
}
+ p = p->p_pptr;
}
}
/*NOTREACHED*/
@@ -457,7 +453,7 @@ ktrwrite(vp, kth)
*/
log(LOG_NOTICE, "ktrace write failed, errno %d, tracing stopped\n",
error);
- for (p = (struct proc *)allproc; p != NULL; p = p->p_next) {
+ for (p = allproc.lh_first; p != 0; p = p->p_list.le_next) {
if (p->p_tracep == vp) {
p->p_tracep = NULL;
p->p_traceflag = 0;
OpenPOWER on IntegriCloud