Increase the send buffer for UNIX sockets to be at least 64k such that large
sends (for example, XGetImage() replies in the X server) happen at non-glacial speeds. Makes Firefox useable again on web pages with large images. Already pushed upstream. ok matthieu@
This commit is contained in:
parent
1d6e900744
commit
de0199f63b
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user