| plan 9 kernel history: overview | file list | diff list |
1994/0804/port/devpipe.c (diff list | history)
| 1994/0503/sys/src/9/port/devpipe.c:22,28 – 1994/0804/sys/src/9/port/devpipe.c:22,27 (short | long | prev | next) | ||
| 1992/0621 | struct | |
| 1990/1009 | { Lock; | |
| 1992/0621 |
| |
| 1990/1009 | } pipealloc; | |
| 1994/0503/sys/src/9/port/devpipe.c:85,92 – 1994/0804/sys/src/9/port/devpipe.c:84,89 | ||
| 1993/0528 | ||
| 1990/1009 | lock(&pipealloc); | |
| 1992/0621 | p->path = ++pipealloc.path; | |
| 1990/1009 | unlock(&pipealloc); | |
| 1993/0528 | c->qid = (Qid){CHDIR|NETQID(2*p->path, Qdir), 0}; | |
| 1994/0503/sys/src/9/port/devpipe.c:223,229 – 1994/0804/sys/src/9/port/devpipe.c:220,226 | ||
| 1990/0227 | void pipeclose(Chan *c) { | |
| 1992/0621 |
| |
| 1994/0804 | Pipe *p; | |
| 1990/0629 | ||
| 1993/0528 | p = c->aux; qlock(p); | |
| 1994/0503/sys/src/9/port/devpipe.c:236,250 – 1994/0804/sys/src/9/port/devpipe.c:233,247 | ||
| 1993/1111 | case Qdata0: p->qref[0]--; if(p->qref[0] == 0){ | |
| 1994/0804 | qclose(p->q[0]); | |
| 1993/1111 | } break; case Qdata1: p->qref[1]--; if(p->qref[1] == 0){ | |
| 1994/0804 | qclose(p->q[1]); | |
| 1993/1111 | } break; | |
| 1991/0314 | } | |
| 1994/0503/sys/src/9/port/devpipe.c:265,286 – 1994/0804/sys/src/9/port/devpipe.c:262,272 | ||
| 1993/0528 | p->ref--; if(p->ref == 0){ qunlock(p); | |
| 1990/11161 |
| |
| 1992/0621 |
| |
| 1992/0625 |
| |
| 1992/0621 |
| |
| 1990/11161 |
| |
| 1993/0528 | free(p->q[0]); free(p->q[1]); | |
| 1992/0621 | free(p); | |
| 1990/11161 |
| |
| 1993/0528 |
| |
| 1994/0804 | } else qunlock(p); | |
| 1990/0227 | } long | |