Date: 11 Jun 2001 19:33:16 +0200 From: Dag-Erling Smorgrav <des@ofug.org> To: arch@freebsd.org Subject: nextpid -> lastpid Message-ID: <xzp7kyiyl9f.fsf@flood.ping.uio.no>
next in thread | raw e-mail | index | archive | help
--=-=-=
The attached patch renames nextpid to lastpid, since most of the time,
that's what it is: the PID of the most recently started process
(though there is occasionally a very brief window during which it is
the PID of a process that hasn't yet started, but is about to). It
also externalizes it so linprocfs can access it without having to
resort to kernel_sysctlbyname().
DES
--
Dag-Erling Smorgrav - des@ofug.org
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=lastpid.diff
Index: sys/sys/proc.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/proc.h,v
retrieving revision 1.164
diff -u -r1.164 proc.h
--- sys/sys/proc.h 2001/05/25 16:59:10 1.164
+++ sys/sys/proc.h 2001/06/11 17:26:15
@@ -486,6 +486,8 @@
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().
Index: sys/kern/kern_fork.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_fork.c,v
retrieving revision 1.113
diff -u -r1.113 kern_fork.c
--- sys/kern/kern_fork.c 2001/05/25 16:59:06 1.113
+++ sys/kern/kern_fork.c 2001/06/11 17:29:55
@@ -158,12 +158,12 @@
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 @@
/*
* 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 @@
}
/*
- * 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 */
--=-=-=--
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzp7kyiyl9f.fsf>
