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

1998/0512/pc/trap.c (diff list | history)

1998/0401/sys/src/9/pc/trap.c:140,1451998/0512/sys/src/9/pc/trap.c:140,153 (short | long | prev | next)
Debugging: check for stack overflow. Bug fix: don't schedule if active.exiting.
rsc Fri Mar 4 12:44:25 2005
1997/0327    
		up->dbgreg = ureg; 
1997/1101    
	} 
1991/1112    
 
1998/0512    
{ 
ulong x, y; 
 
x = (ulong)&(m->stack[512]); 
y = (ulong)&mach; 
if(y < x) panic("trap: kstack %lux %lux", m->stack, y); 
} 
 
1997/0327    
	v = ureg->trap; 
	if(ctl = irqctl[v]){ 
1997/1101    
		if(ctl->isintr){ 
1998/0401/sys/src/9/pc/trap.c:158,1651998/0512/sys/src/9/pc/trap.c:166,175
1998/0401    
 
		/* preemptive scheduling */ 
		if(ctl->isintr && v != VectorTIMER && v != VectorCLOCK) 
			if(up && up->state == Running && anyhigher()) 
				sched(); 
1998/0512    
		if(up && up->state == Running) 
		if(anyhigher()) 
		if(!active.exiting) 
			sched(); 
1991/0731    
	} 
1997/0327    
	else if(v <= 16 && user){ 
		spllo(); 


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