Reuse socket address

To avoid having to wait for socket timeout when restarting server.
This commit is contained in:
Martin Lund 2024-06-11 15:18:34 +02:00
parent 134038c1ce
commit bed34a0b9a

View file

@ -124,6 +124,7 @@ void socket_configure(void)
struct sockaddr_in6 sockaddr_inet6 = {}; struct sockaddr_in6 sockaddr_inet6 = {};
struct sockaddr *sockaddr_p; struct sockaddr *sockaddr_p;
socklen_t socklen; socklen_t socklen;
int optval;
/* Parse socket string */ /* Parse socket string */
@ -225,6 +226,12 @@ void socket_configure(void)
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)))
{
tio_error_printf("Failed to set socket options (%s)", strerror(errno));
exit(EXIT_FAILURE);
}
/* Bind */ /* Bind */
if (bind(sockfd, sockaddr_p, socklen) < 0) if (bind(sockfd, sockaddr_p, socklen) < 0)
{ {