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

1991/1218/power/trap.c (diff list | history)

1991/1216/sys/src/9/power/trap.c:152,1581991/1218/sys/src/9/power/trap.c:152,158 (short | long | prev | next)
1990/0227    
			if(ecode == FPEXC) 
1990/1110    
				sprint(buf, "sys: fp: %s FCR31 %lux", fpexcname(x), x); 
1990/0227    
			else 
1991/0705    
				sprint(buf, "sys: %s pc=0x%lux", excname[ecode], ur->pc); 
1991/1218    
				sprint(buf, "sys: trap: %s", excname[ecode]); 
1991/0425    
 
1990/0227    
			postnote(u->p, 1, buf, NDebug); 
		}else{ 
1991/1216/sys/src/9/power/trap.c:367,3881991/1218/sys/src/9/power/trap.c:367,397
1990/0227    
void 
notify(Ureg *ur) 
{ 
1991/1218    
	int l; 
1991/1114    
	ulong s, sp; 
1991/1218    
	Note *n; 
1990/0227    
 
1991/1110    
	if(u->p->procctl) 
		procctl(u->p); 
	if(u->nnote == 0) 
1991/1218    
	if(u->nnote==0) 
1990/0227    
		return; 
1991/1114    
 
	s = spllo(); 
1991/1216    
	qlock(&u->p->debug); 
1991/0727    
	u->p->notepending = 0; 
1990/0227    
	if(u->note[0].flag!=NUser && (u->notified || u->notify==0)){ 
1991/1218    
	n = &u->note[0]; 
	if(strncmp(n->msg, "sys:", 4) == 0){ 
		l = strlen(n->msg); 
		if(l > ERRLEN-15)	/* " pc=0x12345678\0" */ 
			l = ERRLEN-15; 
		sprint(n->msg+l, " pc=0x%.8lux", ur->pc); 
	} 
	if(n->flag!=NUser && (u->notified || u->notify==0)){ 
1990/0227    
		if(u->note[0].flag == NDebug) 
			pprint("suicide: %s\n", u->note[0].msg); 
1991/1218    
			pprint("suicide: %s\n", n->msg); 
1990/0227    
    Die: 
1991/1216    
		qunlock(&u->p->debug); 
1990/0227    
		pexit(u->note[0].msg, u->note[0].flag!=NDebug); 
1991/1218    
		pexit(n->msg, n->flag!=NDebug); 
1990/0227    
	} 
	if(!u->notified){ 
		if(!u->notify) 


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