diff --git a/src/env_universal_common.cpp b/src/env_universal_common.cpp index d509b5f3f..d25d79737 100644 --- a/src/env_universal_common.cpp +++ b/src/env_universal_common.cpp @@ -1574,7 +1574,8 @@ class universal_notifier_named_pipe_t final : public universal_notifier_t { universal_notifier_t::notifier_strategy_t universal_notifier_t::resolve_default_strategy() { #ifdef FISH_NOTIFYD_AVAILABLE return strategy_notifyd; -#elif defined(SIGIO) + // Note: We use POLL_IN to query SIGIO information, without it it is useless. +#elif defined(SIGIO) && defined(POLL_IN) return strategy_sigio; #elif defined(__CYGWIN__) return strategy_shmem_polling; diff --git a/src/signal.cpp b/src/signal.cpp index f3640fba3..6abfde6ed 100644 --- a/src/signal.cpp +++ b/src/signal.cpp @@ -276,6 +276,7 @@ static void fish_signal_handler(int sig, siginfo_t *info, void *context) { // test, to verify that we behave correctly when receiving lots of irrelevant signals. break; +#if defined(SIGIO) && defined(POLL_IN) case SIGIO: // An async FD became readable/writable/etc. if (info->si_code == POLL_IN) { @@ -283,6 +284,7 @@ static void fish_signal_handler(int sig, siginfo_t *info, void *context) { s_signal_pollin_count = s_signal_pollin_count + 1; } break; +#endif } errno = saved_errno; }