2
0
Fork 0
mirror of https://github.com/fish-shell/fish-shell synced 2025-02-13 04:33:33 +00:00

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 
This commit is contained in:
Fabian Homborg 2021-03-03 22:18:01 +01:00
parent 0a3fec5e8b
commit 791b42f065

View file

@ -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()) {