make sure that the pseudo_set isn't empty.
[unix-history] / sys / kern / kern_proc.c
index 8b0403c..4b408ee 100644 (file)
@@ -30,7 +30,8 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     @(#)kern_proc.c 7.16 (Berkeley) 6/28/91
+ *     from: @(#)kern_proc.c   7.16 (Berkeley) 6/28/91
+ *     $Id: kern_proc.c,v 1.3 1993/11/25 01:33:03 wollman Exp $
  */
 
 #include "param.h"
  */
 
 #include "param.h"
 #include "ioctl.h"
 #include "tty.h"
 
 #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?
  */
 /*
  * Is p an inferior of the current process?
  */
+int
 inferior(p)
        register struct proc *p;
 {
 inferior(p)
        register struct proc *p;
 {
@@ -65,8 +74,7 @@ inferior(p)
  * Locate a process by number
  */
 struct proc *
  * Locate a process by number
  */
 struct proc *
-pfind(pid)
-       register pid;
+pfind(int pid)
 {
        register struct proc *p = pidhash[PIDHASH(pid)];
 
 {
        register struct proc *p = pidhash[PIDHASH(pid)];
 
@@ -80,8 +88,7 @@ pfind(pid)
  * Locate a process group by number
  */
 struct pgrp *
  * 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)];
 
 {
        register struct pgrp *pgrp = pgrphash[PIDHASH(pgid)];
 
@@ -94,9 +101,11 @@ pgfind(pgid)
 /*
  * Move p to a new or existing process group (and session)
  */
 /*
  * Move p to a new or existing process group (and session)
  */
+void
 enterpgrp(p, pgid, mksess)
        register struct proc *p;
        pid_t pgid;
 enterpgrp(p, pgid, mksess)
        register struct proc *p;
        pid_t pgid;
+       int mksess;
 {
        register struct pgrp *pgrp = pgfind(pgid);
        register struct proc **pp;
 {
        register struct pgrp *pgrp = pgfind(pgid);
        register struct proc **pp;
@@ -185,6 +194,7 @@ done:
 /*
  * remove process from process group
  */
 /*
  * remove process from process group
  */
+void
 leavepgrp(p)
        register struct proc *p;
 {
 leavepgrp(p)
        register struct proc *p;
 {
@@ -205,6 +215,7 @@ done:
 /*
  * delete a process group
  */
 /*
  * delete a process group
  */
+static void
 pgdelete(pgrp)
        register struct pgrp *pgrp;
 {
 pgdelete(pgrp)
        register struct pgrp *pgrp;
 {
@@ -225,8 +236,6 @@ done:
        FREE(pgrp, M_PGRP);
 }
 
        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"
 /*
  * Adjust pgrp jobc counters when specified process changes process group.
  * We count the number of processes in each process group that "qualify"
@@ -237,6 +246,7 @@ static orphanpg();
  * entering == 0 => p is leaving specified group.
  * entering == 1 => p is entering specified group.
  */
  * 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;
 fixjobc(p, pgrp, entering)
        register struct proc *p;
        register struct pgrp *pgrp;
@@ -276,7 +286,7 @@ fixjobc(p, pgrp, entering)
  * if there are any stopped processes in the group,
  * hang-up all process in that group.
  */
  * if there are any stopped processes in the group,
  * hang-up all process in that group.
  */
-static
+static void
 orphanpg(pg)
        struct pgrp *pg;
 {
 orphanpg(pg)
        struct pgrp *pg;
 {