[Spice-devel] [spice-server v3 6/6] build-sys: Add configure check for TCP_KEEPIDLE
Frediano Ziglio
fziglio at redhat.com
Thu Mar 30 17:39:19 UTC 2017
>
> 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 | 5 +++++
> server/net-utils.c | 2 ++
> 2 files changed, 7 insertions(+)
>
> diff --git a/configure.ac b/configure.ac
> index f04585f..e5f30a0 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -50,6 +50,11 @@ 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_FUNC_ALLOCA
>
Why not putting the AC_DEFINE where the have_tcp_keepidle assign is?
> 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 c316945..34feca0 100644
> --- a/server/net-utils.c
> +++ b/server/net-utils.c
> @@ -53,12 +53,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;
> }
Works in both way
Acked-by: Frediano Ziglio <fziglio at redhat.com>
Frediano
More information about the Spice-devel
mailing list