quark

quark web server
git clone git://git.suckless.org/quark
Log | Files | Refs | LICENSE

commit b017f90846947a2bcddc7ae2b0fbd9c8252e44a8
parent 70359ae2e9252954684a68f624f0d6218c520be9
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Sun, 30 Nov 2014 14:47:26 +0100

bind: re-use address, setsockopt SO_REUSEADDR

Diffstat:
Mquark.c | 7++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/quark.c b/quark.c @@ -514,7 +514,7 @@ invalid_request: void serve(int fd) { - int result; + int result, optval; struct timeval tv; socklen_t salen; struct sockaddr sa; @@ -541,6 +541,11 @@ serve(int fd) host, sizeof host); break; } + /* bind: re-use address */ + optval = 1; + if (setsockopt(req.fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) < 0) + logerrmsg("error\tsetsockopt SO_REUSEADDR failed: %s\n", + strerror(errno)); /* If we haven't received any data within this period, close the * socket to avoid spamming the process table */