diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 4fb0fdd7ffe..16ea67d6644 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $Id: init_main.c,v 1.38 1996/02/23 19:44:10 peter Exp $ + * $Id: init_main.c,v 1.39 1996/03/02 18:24:05 peter Exp $ */ #include "opt_rlimit.h" @@ -325,14 +325,20 @@ proc0_init(dummy) p = &proc0; curproc = p; /* XXX redundant*/ + /* + * Initialize process and pgrp structures. + */ + procinit(); + /* * Create process 0 (the swapper). */ - allproc = (volatile struct proc *)p; - p->p_prev = (struct proc **)&allproc; + LIST_INSERT_HEAD(&allproc, p, p_list); p->p_pgrp = &pgrp0; - pgrphash[0] = &pgrp0; - pgrp0.pg_mem = p; + LIST_INSERT_HEAD(PGRPHASH(0), &pgrp0, pg_hash); + LIST_INIT(&pgrp0.pg_members); + LIST_INSERT_HEAD(&pgrp0.pg_members, p, p_pglist); + pgrp0.pg_session = &session0; session0.s_count = 1; session0.s_leader = p; @@ -403,10 +409,8 @@ proc0_init(dummy) p->p_sigacts = &p->p_addr->u_sigacts; /* - * Initialize per uid information structure and charge - * root for one process. + * Charge root for one process. */ - usrinfoinit(); (void)chgproccnt(0, 1); } SYSINIT(p0init, SI_SUB_INTRINSIC, SI_ORDER_FIRST, proc0_init, NULL)