diff --git a/src/server/common/server_base.cpp b/src/server/common/server_base.cpp index 0656963aea7..b1f62e7771b 100644 --- a/src/server/common/server_base.cpp +++ b/src/server/common/server_base.cpp @@ -136,7 +136,6 @@ void server_base::serve(boost::asio::yield_context yield, boost::asio::ip::tcp:: setsockopt(socket->native_handle(), SOL_TCP, TCP_KEEPIDLE, &timeout, sizeof(timeout)); setsockopt(socket->native_handle(), SOL_TCP, TCP_KEEPCNT, &cnt, sizeof(cnt)); setsockopt(socket->native_handle(), SOL_TCP, TCP_KEEPINTVL, &interval, sizeof(interval)); - fcntl(socket->native_handle(), F_SETFD, FD_CLOEXEC); #endif #if defined(__APPLE__) && defined(__MACH__) setsockopt(socket->native_handle(), IPPROTO_TCP, TCP_KEEPALIVE, &timeout, sizeof(timeout)); @@ -144,6 +143,10 @@ void server_base::serve(boost::asio::yield_context yield, boost::asio::ip::tcp:: } #endif +#ifdef __linux__ + fcntl(socket->native_handle(), F_SETFD, FD_CLOEXEC); +#endif + DBG_SERVER << client_address(socket) << "\tnew connection tentatively accepted\n"; uint32_t protocol_version;