diff options
Diffstat (limited to 'sys/kern/kern_proc.c')
| -rw-r--r-- | sys/kern/kern_proc.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 3dc511da238a..e1f84a331dff 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)kern_proc.c 7.16 (Berkeley) 6/28/91 - * $Id: kern_proc.c,v 1.2 1993/10/16 15:24:23 rgrimes Exp $ + * $Id: kern_proc.c,v 1.4 1993/12/19 00:51:28 wollman Exp $ */ #include "param.h" @@ -49,9 +49,17 @@ #include "ioctl.h" #include "tty.h" +struct prochd qs[NQS]; /* as good a place as any... */ +struct proc *zombproc; +struct proc *allproc; + +static void pgdelete(struct pgrp *); +static void orphanpg(struct pgrp *); + /* * Is p an inferior of the current process? */ +int inferior(p) register struct proc *p; { @@ -66,8 +74,7 @@ inferior(p) * Locate a process by number */ struct proc * -pfind(pid) - register pid; +pfind(int pid) { register struct proc *p = pidhash[PIDHASH(pid)]; @@ -81,8 +88,7 @@ pfind(pid) * Locate a process group by number */ struct pgrp * -pgfind(pgid) - register pid_t pgid; +pgfind(pid_t pgid) { register struct pgrp *pgrp = pgrphash[PIDHASH(pgid)]; @@ -95,9 +101,11 @@ pgfind(pgid) /* * Move p to a new or existing process group (and session) */ +void enterpgrp(p, pgid, mksess) register struct proc *p; pid_t pgid; + int mksess; { register struct pgrp *pgrp = pgfind(pgid); register struct proc **pp; @@ -186,6 +194,7 @@ done: /* * remove process from process group */ +void leavepgrp(p) register struct proc *p; { @@ -206,6 +215,7 @@ done: /* * delete a process group */ +static void pgdelete(pgrp) register struct pgrp *pgrp; { @@ -226,8 +236,6 @@ done: FREE(pgrp, M_PGRP); } -static orphanpg(); - /* * Adjust pgrp jobc counters when specified process changes process group. * We count the number of processes in each process group that "qualify" @@ -238,6 +246,7 @@ static orphanpg(); * entering == 0 => p is leaving specified group. * entering == 1 => p is entering specified group. */ +void fixjobc(p, pgrp, entering) register struct proc *p; register struct pgrp *pgrp; @@ -277,7 +286,7 @@ fixjobc(p, pgrp, entering) * if there are any stopped processes in the group, * hang-up all process in that group. */ -static +static void orphanpg(pg) struct pgrp *pg; { |
