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

1992/0108/pc/trap.c (diff list | history)

1992/0104/sys/src/9/pc/trap.c:8,141992/0108/sys/src/9/pc/trap.c:8,13 (short | long | prev | next)
1991/0720    
#include	"errno.h" 
1991/0613    
 
1991/0720    
void	noted(Ureg*, ulong); 
void	notify(Ureg*); 
 
1991/0731    
void	intr0(void), intr1(void), intr2(void), intr3(void); 
void	intr4(void), intr5(void), intr6(void), intr7(void); 
1992/0104/sys/src/9/pc/trap.c:242,2481992/0108/sys/src/9/pc/trap.c:241,247
1991/0801    
	(*ivec[v])(ur); 
1991/0910    
 
1991/0913    
	/* 
1992/0104    
	 *  check user since syscall does it's own notifying 
1992/0108    
	 *  check user since syscall does its own notifying 
1991/0913    
	 */ 
1992/0104    
	if(user && (u->p->procctl || u->nnote)) 
1991/0910    
		notify(ur); 
1992/0104/sys/src/9/pc/trap.c:352,3581992/0108/sys/src/9/pc/trap.c:351,357
1991/0720    
 *  Call user, if necessary, with note. 
 *  Pass user the Ureg struct and the note on his stack. 
 */ 
1991/0710    
void 
1992/0108    
int 
1991/0720    
notify(Ureg *ur) 
1991/0710    
{ 
1991/1218    
	int l; 
1992/0104/sys/src/9/pc/trap.c:361,3681992/0108/sys/src/9/pc/trap.c:360,367
1991/0720    
 
1991/1112    
	if(u->p->procctl) 
		procctl(u->p); 
	if(u->nnote==0) 
1991/0720    
		return; 
1992/0108    
	if(u->nnote == 0) 
		return 0; 
1991/1114    
 
	s = spllo(); 
1991/1216    
	qlock(&u->p->debug); 
1992/0104/sys/src/9/pc/trap.c:414,4191992/0108/sys/src/9/pc/trap.c:413,419
1991/0720    
	} 
1991/1216    
	qunlock(&u->p->debug); 
1991/1114    
	splx(s); 
1992/0108    
	return 1; 
1991/0710    
} 
 
1991/0720    
/* 


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