Never reuse AUTO_OID values.

Approved by:	Alfred Perlstein <bright@wintelcom.net>
This commit is contained in:
Kirk McKusick 2001-01-24 04:35:13 +00:00
parent 54bd3c0306
commit 5ed57d323b

View File

@ -114,13 +114,11 @@ void sysctl_register_oid(struct sysctl_oid *oidp)
* 100 to leave space for pre-assigned oid numbers. * 100 to leave space for pre-assigned oid numbers.
*/ */
if (oidp->oid_number == OID_AUTO) { if (oidp->oid_number == OID_AUTO) {
/* First, find the highest oid in the parent list >99 */ static int newoid = 100;
n = 99;
SLIST_FOREACH(p, parent, oid_link) { oidp->oid_number = newoid++;
if (p->oid_number > n) if (newoid == 0x7fffffff)
n = p->oid_number; panic("out of oids");
}
oidp->oid_number = n + 1;
} }
/* /*