Rename nextpid to lastpid and externalize it.

This commit is contained in:
Dag-Erling Smørgrav 2001-06-11 21:54:19 +00:00
parent 33ea028f0f
commit 8f7e4eb568
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=78112
2 changed files with 9 additions and 7 deletions

View File

@ -158,12 +158,12 @@ rfork(p, uap)
int nprocs = 1; /* process 0 */
static int nextpid = 0;
SYSCTL_INT(_kern, OID_AUTO, lastpid, CTLFLAG_RD, &nextpid, 0,
int lastpid = 0;
SYSCTL_INT(_kern, OID_AUTO, lastpid, CTLFLAG_RD, &lastpid, 0,
"Last used PID");
/*
* Random component to nextpid generation. We mix in a random factor to make
* Random component to lastpid generation. We mix in a random factor to make
* it a little harder to predict. We sanity check the modulus value to avoid
* doing it in critical paths. Don't let it be too small or we pointlessly
* waste randomness entropy, and don't let it be impossibly large. Using a
@ -302,13 +302,13 @@ fork1(p1, flags, procp)
/*
* Find an unused process ID. We remember a range of unused IDs
* ready to use (from nextpid+1 through pidchecked-1).
* ready to use (from lastpid+1 through pidchecked-1).
*
* If RFHIGHPID is set (used during system boot), do not allocate
* low-numbered pids.
*/
sx_xlock(&allproc_lock);
trypid = nextpid + 1;
trypid = lastpid + 1;
if (flags & RFHIGHPID) {
if (trypid < 10) {
trypid = 10;
@ -365,12 +365,12 @@ fork1(p1, flags, procp)
}
/*
* RFHIGHPID does not mess with the nextpid counter during boot.
* RFHIGHPID does not mess with the lastpid counter during boot.
*/
if (flags & RFHIGHPID)
pidchecked = 0;
else
nextpid = trypid;
lastpid = trypid;
p2 = newproc;
p2->p_stat = SIDL; /* protect against others */

View File

@ -486,6 +486,8 @@ extern struct proc *updateproc; /* Process slot for syncer (sic). */
extern struct vm_zone *proc_zone;
extern int nextpid;
/*
* XXX macros for scheduler. Shouldn't be here, but currently needed for
* bounding the dubious p_estcpu inheritance in wait1().