projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make sure that the pseudo_set isn't empty.
[unix-history]
/
sys
/
kern
/
kern_proc.c
diff --git
a/sys/kern/kern_proc.c
b/sys/kern/kern_proc.c
index
8b0403c
..
4b408ee
100644
(file)
--- a/
sys/kern/kern_proc.c
+++ b/
sys/kern/kern_proc.c
@@
-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"
@@
-48,9
+49,17
@@
#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;
{