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

1991/1114/gnot/trap.c (diff list | history)

1991/1113/sys/src/9/gnot/trap.c:147,1531991/1114/sys/src/9/gnot/trap.c:147,153 (short | long | prev | next)
1990/03091    
void 
notify(Ureg *ur) 
{ 
	ulong sp; 
1991/1114    
	ulong s, sp; 
1990/03091    
 
1991/1112    
	if(u->p->procctl) 
		procctl(u->p); 
1991/1113/sys/src/9/gnot/trap.c:154,1591991/1114/sys/src/9/gnot/trap.c:154,160
1991/1112    
	if(u->nnote==0) 
1990/03091    
		return; 
1991/1112    
 
1991/1114    
	s = spllo(); 
1991/1112    
	lock(&u->p->debug); 
1991/0727    
	u->p->notepending = 0; 
1990/03091    
	if(u->note[0].flag!=NUser && (u->notified || u->notify==0)){ 
1991/1113/sys/src/9/gnot/trap.c:195,2001991/1114/sys/src/9/gnot/trap.c:196,202
1991/0318    
		memmove(&u->note[0], &u->note[1], u->nnote*sizeof(Note)); 
1990/03091    
	} 
	unlock(&u->p->debug); 
1991/1114    
	splx(s); 
1990/03091    
} 
 
/* 
1991/1113/sys/src/9/gnot/trap.c:315,3211991/1114/sys/src/9/gnot/trap.c:317,324
1991/0705    
 
	if(r0 == NOTED)		/* ugly hack */ 
1991/0717    
		noted(aur, *(ulong*)(sp+BY2WD));	/* doesn't return */ 
1991/1112    
	if(u->p->procctl || (u->nnote && r0!=FORK)){ 
1991/1114    
	splhi(); 
	if(r0!=FORK && (u->p->procctl || u->nnote)){ 
1990/03091    
		ur->r0 = ret; 
		notify(ur); 
	} 


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