mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-26 10:43:47 +08:00
ifdef SIGIO handling
This relies on POLL_IN which apparently isn't a thing on OpenBSD
This commit is contained in:
parent
289bce2f25
commit
e949b1de02
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user