]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libventi/hangup.c
audiohda: fix syntax error
[plan9front.git] / sys / src / libventi / hangup.c
1 #include <u.h>
2 #ifdef PLAN9PORT
3 #include <sys/socket.h>
4 #endif
5 #include <libc.h>
6 #include <venti.h>
7 #include "queue.h"
8
9 void
10 vthangup(VtConn *z)
11 {
12         qlock(&z->lk);
13         z->state = VtStateClosed;
14 #ifdef PLAN9PORT
15         /* try to make the read in vtrecvproc fail */
16         shutdown(SHUT_WR, z->infd);
17         shutdown(SHUT_WR, z->outfd);
18 #endif
19         if(z->infd >= 0)
20                 close(z->infd);
21         if(z->outfd >= 0 && z->outfd != z->infd)
22                 close(z->outfd);
23         z->infd = -1;
24         z->outfd = -1;
25         if(z->writeq)
26                 _vtqhangup(z->writeq);
27         if(z->readq)
28                 _vtqhangup(z->readq);
29         qunlock(&z->lk);
30 }
31