socsvn commit: r238832 - soc2012/rudot/sys/kern
rudot at FreeBSD.org
rudot at FreeBSD.org
Mon Jul 2 19:56:56 UTC 2012
Author: rudot
Date: Mon Jul 2 19:56:53 2012
New Revision: 238832
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238832
Log:
fixed hanging of make buildworld - proper handling of zombies
Modified:
soc2012/rudot/sys/kern/kern_racct.c
Modified: soc2012/rudot/sys/kern/kern_racct.c
==============================================================================
--- soc2012/rudot/sys/kern/kern_racct.c Mon Jul 2 18:35:08 2012 (r238831)
+++ soc2012/rudot/sys/kern/kern_racct.c Mon Jul 2 19:56:53 2012 (r238832)
@@ -973,13 +973,14 @@
for (;;) {
sx_slock(&allproc_lock);
- FOREACH_PROC_IN_SYSTEM(p) {
+ LIST_FOREACH(p, &zombproc, p_list) {
PROC_LOCK(p);
- if (p->p_state == PRS_ZOMBIE) {
- pct = racct_getpcpu(p);
- racct_set(p, RACCT_PCTCPU, pct);
- }
+ racct_set(p, RACCT_PCTCPU, 0);
+ PROC_UNLOCK(p);
+ }
+ FOREACH_PROC_IN_SYSTEM(p) {
+ PROC_LOCK(p);
if (p->p_state != PRS_NORMAL) {
PROC_UNLOCK(p);
continue;
More information about the svn-soc-all
mailing list