aboutsummaryrefslogtreecommitdiff
path: root/src/libventi/hangup.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2006-10-19 21:58:59 +0000
committerrsc <devnull@localhost>2006-10-19 21:58:59 +0000
commit6fc7da3c529ca7c610e8172f5b02980c75597dd5 (patch)
tree6e06f1a96414ceb59a8016fb257b46b6f87f9a1c /src/libventi/hangup.c
parent067d852abe242ee1d267bcc0d652cd6bb31b7e17 (diff)
downloadplan9port-6fc7da3c529ca7c610e8172f5b02980c75597dd5.tar.gz
plan9port-6fc7da3c529ca7c610e8172f5b02980c75597dd5.tar.bz2
plan9port-6fc7da3c529ca7c610e8172f5b02980c75597dd5.zip
Fix a handful of small one-time memory leaks in vbackup,
and one per-package memory leak (in writethread).
Diffstat (limited to 'src/libventi/hangup.c')
-rw-r--r--src/libventi/hangup.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libventi/hangup.c b/src/libventi/hangup.c
index 5a992e73..23075864 100644
--- a/src/libventi/hangup.c
+++ b/src/libventi/hangup.c
@@ -1,4 +1,5 @@
#include <u.h>
+#include <sys/socket.h>
#include <libc.h>
#include <venti.h>
#include "queue.h"
@@ -8,6 +9,9 @@ vthangup(VtConn *z)
{
qlock(&z->lk);
z->state = VtStateClosed;
+ /* try to make the read in vtsendproc fail */
+ shutdown(SHUT_WR, z->infd);
+ shutdown(SHUT_WR, z->outfd);
if(z->infd >= 0)
close(z->infd);
if(z->outfd >= 0 && z->outfd != z->infd)
@@ -20,3 +24,4 @@ vthangup(VtConn *z)
_vtqhangup(z->readq);
qunlock(&z->lk);
}
+