aboutsummaryrefslogtreecommitdiff
path: root/X11/xtrans/Xtranssock.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-03-31 18:04:51 +0200
committermarha <marha@users.sourceforge.net>2014-03-31 18:04:51 +0200
commitedb5b380994125bf33929ef7dc5a3c456dfbe93b (patch)
treed5bb36474f380ce6c15d9f1b46e8f794cc6e8f9f /X11/xtrans/Xtranssock.c
parent6469a282ad06dfa53f3b9d9e9789f21b76de9ab7 (diff)
downloadvcxsrv-edb5b380994125bf33929ef7dc5a3c456dfbe93b.tar.gz
vcxsrv-edb5b380994125bf33929ef7dc5a3c456dfbe93b.tar.bz2
vcxsrv-edb5b380994125bf33929ef7dc5a3c456dfbe93b.zip
libxtrans mesa git update 31 Mar 2014
libxtrans commit a57a7f62242e1ea972b81414741729bf3dbae0a4 mesa commit d681b22ed77274a805c6c8e81925c18eeb57a968
Diffstat (limited to 'X11/xtrans/Xtranssock.c')
-rw-r--r--X11/xtrans/Xtranssock.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/X11/xtrans/Xtranssock.c b/X11/xtrans/Xtranssock.c
index fdf1dd774..6cde146cd 100644
--- a/X11/xtrans/Xtranssock.c
+++ b/X11/xtrans/Xtranssock.c
@@ -445,6 +445,27 @@ TRANS(SocketOpen) (int i, int type)
}
#endif
+ /*
+ * Some systems provide a really small default buffer size for
+ * UNIX sockets. Bump it up a bit such that large transfers don't
+ * proceed at glacial speed.
+ */
+#ifdef SO_SNDBUF
+ if (Sockettrans2devtab[i].family == AF_UNIX)
+ {
+ SOCKLEN_T len = sizeof (int);
+ int val;
+
+ if (getsockopt (ciptr->fd, SOL_SOCKET, SO_SNDBUF,
+ (char *) &val, &len) == 0 && val < 64 * 1024)
+ {
+ val = 64 * 1024;
+ setsockopt (ciptr->fd, SOL_SOCKET, SO_SNDBUF,
+ (char *) &val, sizeof (int));
+ }
+ }
+#endif
+
return ciptr;
}