diff options
author | 2018-04-16 22:31:28 -0400 | |
---|---|---|
committer | 2018-04-16 22:31:28 -0400 | |
commit | 683d649d778f82b9d764fafdba4ee9627d3769d2 (patch) | |
tree | 78d4de0d51d256a56204182b23cd6f1fcf057d19 | |
parent | ef2cec4d93d19cc04a80e50fceaa864c106c6460 (diff) | |
parent | 55fcef04efd44321ceae02d68a3c18fbf90f5ad9 (diff) |
Merge pull request #3464 from sschnelle/reuseaddr
Set SO_REUSEADDR in posixsocket
-rw-r--r-- | src/osd/modules/file/posixsocket.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/osd/modules/file/posixsocket.cpp b/src/osd/modules/file/posixsocket.cpp index d6655e4cf15..edb95816077 100644 --- a/src/osd/modules/file/posixsocket.cpp +++ b/src/osd/modules/file/posixsocket.cpp @@ -176,6 +176,14 @@ osd_file::error posix_open_socket(std::string const &path, std::uint32_t openfla return errno_to_file_error(err); } + if (::setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<const char *>(&flag), sizeof(flag)) < 0) + { + int const err = errno; + ::close(sock); + return errno_to_file_error(err); + } + + // listening socket support if (openflags & OPEN_FLAG_CREATE) { |