| plan 9 kernel history: overview | file list | diff list |
1992/0627/port/stlapd.c (diff list | history)
| 1992/0622/sys/src/9/port/stlapd.c:75,80 – 1992/0627/sys/src/9/port/stlapd.c:75,81 (short | long | prev | next) | ||
| 1992/0622 | { | |
| 1992/0609 | QLock; /* access, state change */ Rendez; /* waiting for state change */ | |
| 1992/0627 | int klocked;/* locked by kernel proc */ | |
| 1992/0609 | int state; int flags; Queue * rq; | |
| 1992/0622/sys/src/9/port/stlapd.c:723,734 – 1992/0627/sys/src/9/port/stlapd.c:724,737 | ||
| 1992/0609 | lapdkproc(void *arg) { Lapd *lp = (Lapd *)arg; | |
| 1992/0627 | lp->klocked = 0; | |
| 1992/0609 | lp->kstarted = 1; if(waserror()){ | |
| 1992/0627 | if(lp->klocked) | |
| 1992/0609 | qunlock(lp); | |
| 1992/0627 | lp->klocked = 0; | |
| 1992/0609 | print("lapdkproc %d error\n", lp-lapd); lp->kstarted = 0; wakeup(lp); | |
| 1992/0622/sys/src/9/port/stlapd.c:739,750 – 1992/0627/sys/src/9/port/stlapd.c:742,751 | ||
| 1992/0609 | if(!lp->t200 || NOW < lp->t200) continue; qlock(lp); | |
| 1992/0627 | lp->klocked = 1; | |
| 1992/0609 | if(lp->flags & Hungup){ qunlock(lp); | |
| 1992/0627 | lp->klocked = 0; | |
| 1992/0609 | break; } switch(lp->state){ | |
| 1992/0622/sys/src/9/port/stlapd.c:762,769 – 1992/0627/sys/src/9/port/stlapd.c:763,769 | ||
| 1992/0609 | break; } qunlock(lp); | |
| 1992/0627 | lp->klocked = 0; | |
| 1992/0609 | } lp->kstarted = 0; wakeup(lp); | |