plan 9 kernel history: overview | file list | diff list

1992/1208/port/proc.c (diff list | history)

1992/1206/sys/src/9/port/proc.c:495,5081992/1208/sys/src/9/port/proc.c:495,508 (short | long | prev | next)
Only free a single broken process in freebroken. (BUG: != should be ==.)
rsc Mon Mar 20 17:45:27 2006
1992/1206    
	int b; 
 
	qlock(&broken); 
	for(b=0; b < NBROKEN; b++) { 
		if(broken.p[b] != p) 
			continue; 
                 
		broken.n--; 
		memmove(&broken.p[b], &broken.p[b+1], sizeof(Proc*)*(NBROKEN-(b+1))); 
		ready(p); 
	} 
1992/1208    
	for(b=0; b < broken.n; b++) 
		if(broken.p[b] != p) { 
			broken.n--; 
			memmove(&broken.p[b], &broken.p[b+1], 
					sizeof(Proc*)*(NBROKEN-(b+1))); 
			ready(p); 
			break; 
		} 
1992/1206    
	qunlock(&broken); 
} 
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)