Blame


1 056fe1ba 2003-11-23 devnull #include <u.h>
2 056fe1ba 2003-11-23 devnull #include <libc.h>
3 056fe1ba 2003-11-23 devnull #include <venti.h>
4 056fe1ba 2003-11-23 devnull #include "queue.h"
5 056fe1ba 2003-11-23 devnull
6 056fe1ba 2003-11-23 devnull void
7 056fe1ba 2003-11-23 devnull vthangup(VtConn *z)
8 056fe1ba 2003-11-23 devnull {
9 056fe1ba 2003-11-23 devnull qlock(&z->lk);
10 056fe1ba 2003-11-23 devnull z->state = VtStateClosed;
11 056fe1ba 2003-11-23 devnull if(z->infd >= 0)
12 056fe1ba 2003-11-23 devnull close(z->infd);
13 056fe1ba 2003-11-23 devnull if(z->outfd >= 0 && z->outfd != z->infd)
14 056fe1ba 2003-11-23 devnull close(z->outfd);
15 056fe1ba 2003-11-23 devnull z->infd = -1;
16 056fe1ba 2003-11-23 devnull z->outfd = -1;
17 056fe1ba 2003-11-23 devnull if(z->writeq)
18 056fe1ba 2003-11-23 devnull _vtqhangup(z->writeq);
19 056fe1ba 2003-11-23 devnull if(z->readq)
20 056fe1ba 2003-11-23 devnull _vtqhangup(z->readq);
21 056fe1ba 2003-11-23 devnull qunlock(&z->lk);
22 056fe1ba 2003-11-23 devnull }