| plan 9 kernel history: overview | file list | diff list |
1990/03292/port/stream.c (diff list | history)
| 1990/0322/sys/src/9/port/stream.c:51,57 – 1990/03292/sys/src/9/port/stream.c:51,57 (short | long | prev | next) | ||
| 1990/0227 | typedef struct { int size; | |
| 1990/0312 | Blist; | |
| 1990/0322 |
| |
| 1990/03292 | QLock; /* qlock for sleepers on r */ | |
| 1990/0312 | Rendez r; /* sleep here waiting for blocks */ | |
| 1990/0227 | } Bclass; Bclass bclass[Nclass]={ | |
| 1990/0322/sys/src/9/port/stream.c:123,134 – 1990/03292/sys/src/9/port/stream.c:123,133 | ||
| 1990/0227 | lock(bcp); while(bcp->first == 0){ unlock(bcp); | |
| 1990/0322 |
| |
| 1990/03292 | panic("waiting for blocks\n"); qlock(bcp); | |
| 1990/0322 | tsleep(&bcp->r, isblock, (void *)bcp, 250); | |
| 1990/03292 | qunlock(bcp); | |
| 1990/0227 | lock(bcp); } bp = bcp->first; | |
| 1990/0322/sys/src/9/port/stream.c:628,634 – 1990/03292/sys/src/9/port/stream.c:627,632 | ||
| 1990/0227 | if(qi->open) (*qi->open)(RD(s->devq), s); | |
| 1990/0322/sys/src/9/port/stream.c:682,688 – 1990/03292/sys/src/9/port/stream.c:680,686 | ||
| 1990/0227 | /* * if not open, ignore it */ | |
| 1990/03292 | if(!c->stream) | |
| 1990/0227 | return; /* | |