cvs commit: src/sys/kern kern_exit.c
Bruce Evans
bde at FreeBSD.org
Mon Jun 21 07:49:51 PDT 2004
bde 2004-06-21 14:49:50 UTC
FreeBSD src repository
Modified files:
sys/kern kern_exit.c
Log:
(1) Removed the bogus condition "p->p_pid != 1" on calling sched_exit()
from exit1(). sched_exit() must be called unconditionally from exit1().
It was called almost unconditionally because the only exits on system
shutdown if at all.
(2) Removed the comment that presumed to know what sched_exit() does.
sched_exit() does different things for the ULE case. The call became
essential when it started doing load average stuff, but its caller
should not know that.
(3) Didn't fix bugs caused by bitrot in the condition. The condition was
last correct in rev.1.208 when it was in wait1(). There p was spelled
curthread->td_proc and was for the waiting parent; now p is for the
exiting child. The condition was to avoid lowering init's priority.
It should be in sched_exit() itself. Lowering of priorities is broken
in other ways in at least the 4BSD scheduler, and doing it for init
causes less noticeable problems than doing it for for shells.
Noticed by: julian (1)
Revision Changes Path
1.238 +1 -7 src/sys/kern/kern_exit.c
More information about the cvs-src
mailing list