| 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,158 – 1991/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 |
| |
| 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,388 – 1991/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); | |
| 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 |
| |
| 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) | |
| 1991/1218 | pprint("suicide: %s\n", n->msg); | |
| 1990/0227 | Die: | |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1990/0227 |
| |
| 1991/1218 | pexit(n->msg, n->flag!=NDebug); | |
| 1990/0227 | } if(!u->notified){ if(!u->notify) | |