From 44aad3ddd3dd8638b7623b53cbca9f59d886ba1d Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Mon, 18 Nov 2019 10:31:53 +0100 Subject: Common 0a50ea0: Set SO_REUSEADDR for TCP sockets --- contrib/Socket.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'contrib/Socket.cpp') diff --git a/contrib/Socket.cpp b/contrib/Socket.cpp index 0c3cbb4..cba2767 100644 --- a/contrib/Socket.cpp +++ b/contrib/Socket.cpp @@ -490,6 +490,11 @@ void TCPSocket::listen(int port, const string& name) continue; } + int reuse_setting = 1; + if (setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &reuse_setting, sizeof(reuse_setting)) == -1) { + throw runtime_error("Can't reuse address"); + } + if (::bind(sfd, rp->ai_addr, rp->ai_addrlen) == 0) { m_sock = sfd; break; -- cgit v1.2.3