From 3a1c328cd55f427a74f16cda8513bedb7c153fd8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?= Date: Sun, 28 Aug 2022 02:48:11 +0100 Subject: [PATCH] maint: be defensive in avoiding gnulib's poll module * src/tail.c (check_output_alive): Add a guard that would trigger on most platforms, to detect if we're using the gnulib poll module. That's currently problematic in the way it emulates poll() using select() and would cause issues on macOS and AIX at least as poll() is replaced there. --- src/tail.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/tail.c b/src/tail.c index 3ae6baf523..6c7d59faf9 100644 --- a/src/tail.c +++ b/src/tail.c @@ -352,6 +352,13 @@ check_output_alive (void) if (! monitor_output) return; + /* Check we've not enabled gnulib's poll module + as that will emulate poll() in a way not + currently compatible with tail's usage. */ +#if defined HAVE_POLL +# error "gnulib's poll() replacement is currently incompatible" +#endif + /* poll(2) is needed on AIX (where 'select' gives a readable event immediately) and Solaris (where 'select' never gave a readable event). Also use poll(2) on systems we know work -- 2.47.2