DAMN BERKELEY.
diff --git a/src/lib9/announce.c b/src/lib9/announce.c
index 8fdf1d4..f125b71 100644
--- a/src/lib9/announce.c
+++ b/src/lib9/announce.c
@@ -4,6 +4,7 @@
 
 #include <sys/socket.h>
 #include <netinet/in.h>
+#include <netinet/tcp.h>
 #include <sys/un.h>
 #include <errno.h>
 
@@ -119,7 +120,7 @@
 int
 p9listen(char *dir, char *newdir)
 {
-	int fd;
+	int fd, one;
 
 	if((fd = _p9netfd(dir)) < 0){
 		werrstr("bad 'directory' in listen: %s", dir);
@@ -129,6 +130,9 @@
 	if((fd = accept(fd, nil, nil)) < 0)
 		return -1;
 
+	one = 1;
+	setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&one, sizeof one);
+
 	putfd(newdir, fd);
 	return fd;
 }