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 | d864ce8543216dc93688282f0e8e1df0ffcafa2b (patch) | |
tree | a39026aba4a1f399ab4d919fed0eccb52e11837d | |
parent | Revert "Do not set non-blocking on client sockets" (diff) | |
download | torus-d864ce8543216dc93688282f0e8e1df0ffcafa2b.tar.gz torus-d864ce8543216dc93688282f0e8e1df0ffcafa2b.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 89ba03c..9cae5dd 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); |