diff options
author | June McEnroe <june@causal.agency> | 2018-07-25 15:38:41 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-07-25 15:38:41 -0400 |
commit | c1bebac5eda29e99dd31359293c4b36fe1b91a93 (patch) | |
tree | aebe38e62ebbd919f85026cc44ca0a957e8353e8 | |
parent | Revert "Do not set non-blocking on client sockets" (diff) | |
download | torus-c1bebac5eda29e99dd31359293c4b36fe1b91a93.tar.gz torus-c1bebac5eda29e99dd31359293c4b36fe1b91a93.zip |
Set client sockets SNDBUF to twice tile size
On Darwin and FreeBSD, this is already the default buffer size, but on (32-bit?) NetBSD, it's only 4K.
-rw-r--r-- | server.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/server.c b/server.c index b2b651b..a6807e8 100644 --- a/server.c +++ b/server.c @@ -356,6 +356,10 @@ int main() { error = setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on)); if (error) err(EX_IOERR, "setsockopt"); + int size = 2 * sizeof(struct Tile); + error = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &size, sizeof(size)); + if (error) err(EX_IOERR, "setsockopt"); + struct Client *client = clientAdd(fd); EV_SET(&event, fd, EVFILT_READ, EV_ADD, 0, 0, client); |