diff --git a/helio b/helio index a2fffa313..d03ea0cae 160000 --- a/helio +++ b/helio @@ -1 +1 @@ -Subproject commit a2fffa3132683fa61f53f9e80caa57e4f714f0bc +Subproject commit d03ea0cae7d21de11391d2146e46f31457c7cef2 diff --git a/src/facade/dragonfly_listener.cc b/src/facade/dragonfly_listener.cc index 081bdb0e8..bf6c95ad8 100644 --- a/src/facade/dragonfly_listener.cc +++ b/src/facade/dragonfly_listener.cc @@ -158,7 +158,18 @@ error_code Listener::ConfigureServerSocket(int fd) { } bool success = ConfigureKeepAlive(fd, kInterval); - LOG_IF(WARNING, !success) << "Could not configure keep alive " << detail::SafeErrorMessage(errno); + if (!success) { + int myerr = errno; + + int socket_type; + socklen_t length = sizeof(socket_type); + + // Ignore the error on UDS. + if (getsockopt(fd, SOL_SOCKET, SO_DOMAIN, &socket_type, &length) != 0 || + socket_type != AF_UNIX) { + LOG(WARNING) << "Could not configure keep alive " << detail::SafeErrorMessage(myerr); + } + } return error_code{}; }