| plan 9 kernel history: overview | file list | diff list |
1991/1216/power/trap.c (diff list | history)
| 1991/1214/sys/src/9/power/trap.c:375,387 – 1991/1216/sys/src/9/power/trap.c:375,387 (short | long | prev | next) | ||
| 1990/0227 | return; | |
| 1991/1114 | s = spllo(); | |
| 1991/1110 |
| |
| 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)){ if(u->note[0].flag == NDebug) pprint("suicide: %s\n", u->note[0].msg); Die: | |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1990/0227 | pexit(u->note[0].msg, u->note[0].flag!=NDebug); } if(!u->notified){ | |
| 1991/1214/sys/src/9/power/trap.c:392,398 – 1991/1216/sys/src/9/power/trap.c:392,398 | ||
| 1990/0227 | sp -= sizeof(Ureg); | |
| 1991/0705 | if(waserror()){ pprint("suicide: trap in notify\n"); | |
| 1991/0722 |
| |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1991/0705 | pexit("Suicide", 0); } validaddr((ulong)u->notify, 1, 0); | |
| 1991/1214/sys/src/9/power/trap.c:413,419 – 1991/1216/sys/src/9/power/trap.c:413,419 | ||
| 1991/0717 | memmove(&u->lastnote, &u->note[0], sizeof(Note)); | |
| 1991/0318 | memmove(&u->note[0], &u->note[1], u->nnote*sizeof(Note)); | |
| 1990/0227 | } | |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1991/1114 | splx(s); | |
| 1990/0227 | } | |
| 1991/1214/sys/src/9/power/trap.c:431,439 – 1991/1216/sys/src/9/power/trap.c:431,439 | ||
| 1991/0814 | Die: | |
| 1991/0503 | pexit("Suicide", 0); } | |
| 1990/0227 |
| |
| 1991/1216 | qlock(&u->p->debug); | |
| 1990/0619 | if(!u->notified){ | |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1991/0814 | pprint("call to noted() when not notified\n"); goto Die; | |
| 1990/0619 | } | |
| 1991/1214/sys/src/9/power/trap.c:443,449 – 1991/1216/sys/src/9/power/trap.c:443,449 | ||
| 1991/0717 | case NCONT: | |
| 1991/0814 | if(waserror()){ pprint("suicide: trap in noted\n"); | |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1991/0814 | goto Die; } validaddr(nur->pc, 1, 0); | |
| 1991/1214/sys/src/9/power/trap.c:450,456 – 1991/1216/sys/src/9/power/trap.c:450,456 | ||
| 1991/0814 | validaddr(nur->usp, BY2WD, 0); poperror(); | |
| 1991/0717 | splhi(); | |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1991/0717 | rfnote(urp); break; /* never returns */ | |
| 1991/1214/sys/src/9/power/trap.c:463,469 – 1991/1216/sys/src/9/power/trap.c:463,469 | ||
| 1991/0718 | case NDFLT: | |
| 1991/0717 | if(u->lastnote.flag == NDebug) pprint("suicide: %s\n", u->lastnote.msg); | |
| 1991/1216 | qunlock(&u->p->debug); | |
| 1991/0717 | pexit(u->lastnote.msg, u->lastnote.flag!=NDebug); } | |
| 1990/0227 | } | |