| plan 9 kernel history: overview | file list | diff list |
1990/1210/port/sturp.c (diff list | history)
| 1990/1206/sys/src/9/port/sturp.c:206,212 – 1990/1210/sys/src/9/port/sturp.c:206,215 (short | long | prev | next) | ||
|
Created.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1990/0509 | * if 2 minutes elapse, give it up | |
| 1990/0227 | */ | |
| 1990/0312 | up->state |= CLOSING; | |
| 1990/0509 |
| |
| 1990/1210 | if(!waserror()){ tsleep(&up->r, isflushed, up, 2*60*1000); poperror(); } | |
| 1990/0312 | up->state |= HUNGUP; | |
| 1990/0509 | qlock(&up->xmit); | |
| 1990/1206/sys/src/9/port/sturp.c:944,958 – 1990/1210/sys/src/9/port/sturp.c:947,969 | ||
| 1990/0312 | for(;;){ | |
| 1990/1206 | for(up = urp; up < eup; up++){ if(up->state==0 || (up->state&HUNGUP)) | |
| 1990/1210 | continue; | |
| 1990/1206 | if(!canqlock(up)) continue; | |
| 1990/1210 | if(waserror()){ qunlock(up); continue; } if(up->state==0 || (up->state&HUNGUP)){ qunlock(up); poperror(); continue; } | |
| 1990/1206 | if(up->iseq!=(up->lastecho&7) && !QFULL(up->rq->next)) sendack(up); output(up); qunlock(up); | |
| 1990/1210 | poperror(); | |
| 1990/1004 | } | |
| 1990/1206 | tsleep(&urpkr, return0, 0, 1000); | |
| 1990/0725 | } | |