aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_proc.c')
-rw-r--r--sys/kern/kern_proc.c25
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;
{