Commit Diff


commit - c5eb686096c8e5fef13230867ea7ce494b0376d7
commit + bd2e802053c8fc6babf4c2bb6e33912f1c0aee9d
blob - 8fdf1d40c610b4826f04830e3b618a2c488f3809
blob + f125b7125f57bee1ce130f2edd70de6dbf84bbab
--- src/lib9/announce.c
+++ 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 @@ Success:
 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 @@ p9listen(char *dir, char *newdir)
 	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;
 }