This is only available in newer FreeBSD releases (9.1 and later), and will cause build errors or older versions This fixes https://bugs.freedesktop.org/show_bug.cgi?id=99213 --- configure.ac | 10 ++++++++++ server/net-utils.c | 2 ++ 2 files changed, 12 insertions(+) diff --git a/configure.ac b/configure.ac index f04585f..70ce13b 100644 --- a/configure.ac +++ b/configure.ac @@ -50,6 +50,16 @@ AC_C_BIGENDIAN PKG_PROG_PKG_CONFIG AC_CHECK_HEADERS([sys/time.h execinfo.h linux/sockios.h]) +AC_CHECK_DECL([TCP_KEEPIDLE], [have_tcp_keepidle="yes"],, + [#include <netinet/tcp.h>]) +AS_IF([test "x$have_tcp_keepidle" = "xyes"], + [AC_DEFINE([HAVE_TCP_KEEPIDLE],1,[Define to 1 if <netinet/tcp.h> has a TCP_KEEPIDLE definition])], + [AC_CHECK_DECL([TCP_KEEPALIVE], [have_tcp_keepalive="yes"],, + [#include <netinet/tcp.h>])] +) +AS_IF([test "x$have_tcp_keepalive" = "xyes"], + [AC_DEFINE([HAVE_TCP_KEEPALIVE],1,[Define to 1 if <netinet/tcp.h> has a TCP_KEEPALIVE definition])], +) AC_FUNC_ALLOCA SPICE_LT_VERSION=m4_format("%d:%d:%d", SPICE_CURRENT, SPICE_REVISION, SPICE_AGE) diff --git a/server/net-utils.c b/server/net-utils.c index c7a179e..c55dd56 100644 --- a/server/net-utils.c +++ b/server/net-utils.c @@ -46,12 +46,14 @@ bool red_socket_set_keepalive(int fd, bool enable, int timeout) return true; } +#ifdef HAVE_TCP_KEEPIDLE if (setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, &timeout, sizeof(timeout)) == -1) { if (errno != ENOTSUP) { spice_printerr("setsockopt for keepalive timeout failed, %s", strerror(errno)); return false; } } +#endif return true; } -- 2.9.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel