URI:
       thangup.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       thangup.c (546B)
       ---
            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 }