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

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

1992/0602/sys/src/9/port/proc.c:106,1141992/0603/sys/src/9/port/proc.c:106,112 (short | long | prev | next)
Change runproc to be always called splhi. (BUG FIX?)
rsc Mon Mar 20 17:14:25 2006
1990/0227    
		} 
		gotolabel(&m->sched); 
	} 
	spllo(); 
	p = runproc(); 
	splhi(); 
	mapstack(p); 
	gotolabel(&p->sched); 
} 
1992/0602/sys/src/9/port/proc.c:147,1531992/0603/sys/src/9/port/proc.c:145,151
1990/0227    
} 
 
/* 
 * Always called spllo 
1992/0603    
 * Always called splhi 
1990/0227    
 */ 
Proc* 
runproc(void) 
1992/0602/sys/src/9/port/proc.c:157,1621992/0603/sys/src/9/port/proc.c:155,161
1990/0227    
	int i; 
 
loop: 
1992/0603    
	spllo(); 
1991/0420    
	while(runhiq.head==0 && runloq.head==0) 
1990/1211    
		for(i=0; i<10; i++)	/* keep out of shared memory for a while */ 
1990/0227    
			; 
1992/0602/sys/src/9/port/proc.c:170,1761992/0603/sys/src/9/port/proc.c:169,174
1991/0420    
	p = rq->head; 
1990/0227    
	if(p==0 || p->mach){	/* p->mach==0 only when process state is saved */ 
1991/0420    
		unlock(&runhiq); 
1990/0227    
		spllo(); 
		goto loop; 
	} 
	if(p->rnext == 0) 
1992/0602/sys/src/9/port/proc.c:181,1871992/0603/sys/src/9/port/proc.c:179,184
1990/0227    
		print("runproc %s %d %s\n", p->text, p->pid, statename[p->state]); 
1991/0420    
	unlock(&runhiq); 
1990/0227    
	p->state = Scheding; 
	spllo(); 
	return p; 
} 
 


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