From 791b42f065ba726d8b41379a853afcc4619814fc Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Wed, 3 Mar 2021 22:18:01 +0100 Subject: [PATCH] Disable SIGIO notifier It doesn't work on WSL, Solaris and Archlinux (and presumably that means future versions of other linux distros). In its current state I don't trust it enough to enable it anywhere by default, especially since I'm not aware of an actual issue with the named pipe (other than that the code is ugly). Fixes #7774 --- src/env_universal_common.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/env_universal_common.cpp b/src/env_universal_common.cpp index bdbe8c5ca..2e2cbedb6 100644 --- a/src/env_universal_common.cpp +++ b/src/env_universal_common.cpp @@ -1582,11 +1582,10 @@ universal_notifier_t::notifier_strategy_t universal_notifier_t::resolve_default_ return strategy_notifyd; #elif defined(__CYGWIN__) return strategy_shmem_polling; -#elif defined(SIGIO) && (defined(__APPLE__) || defined(__BSD__) || defined(__linux__)) - // The SIGIO notifier relies on an extremely specific interaction between signal handling and - // O_ASYNC writes, and doesn't excercise codepaths that are particularly well explored on all - // POSIX and POSIX-like systems, so we only explicitly enable it on platforms where it's known - // to work. See discussion in #6585 for examples of breakage. +#elif 0 && defined(SIGIO) && (defined(__APPLE__) || defined(__BSD__) || defined(__linux__)) + // FIXME: The SIGIO notifier relies on an extremely specific interaction between signal handling and + // O_ASYNC writes, and doesn't currently work particularly well, so it's disabled. + // See discussion in #6585 and #7774 for examples of breakage. // // The SIGIO notifier does not yet work on WSL. See #7429 if (is_windows_subsystem_for_linux()) {