bind: re-use address, setsockopt SO_REUSEADDR

This commit is contained in:
Hiltjo Posthuma 2014-11-30 14:47:26 +01:00 committed by FRIGN
parent 70359ae2e9
commit b017f90846

View file

@ -514,7 +514,7 @@ invalid_request:
void void
serve(int fd) serve(int fd)
{ {
int result; int result, optval;
struct timeval tv; struct timeval tv;
socklen_t salen; socklen_t salen;
struct sockaddr sa; struct sockaddr sa;
@ -541,6 +541,11 @@ serve(int fd)
host, sizeof host); host, sizeof host);
break; 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 /* If we haven't received any data within this period, close the
* socket to avoid spamming the process table */ * socket to avoid spamming the process table */