Trust signalfd on illumos, again.
Commit 3ab4fc5d avoided choosing signalfd by default on illumos, because it triggered kernel panics. That was fixed, so we can remove a kludge from our code. Users/packagers can still override the default choice at compile time if desired, and we'll leave the back-branches unchanged so they keep choosing self-pipe by default, but we'll default to signalfd (like we do for Linux) in 17. Fixed kernels should be everywhere by the time 17 ships. The illumos issues were: * https://www.illumos.org/issues/13700 * https://www.illumos.org/issues/14892 Discussion: https://postgr.es/m/CA+hUKG+NK-K_G_i1H3OpDTwYPEsiwQi_jw58PGcW2H+-N2eVCA@mail.gmail.com
This commit is contained in:
parent
01d56eecee
commit
4f49b3f849
@ -86,14 +86,12 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* By default, we use a self-pipe with poll() and a signalfd with epoll(), if
|
* By default, we use a self-pipe with poll() and a signalfd with epoll(), if
|
||||||
* available. We avoid signalfd on illumos for now based on problem reports.
|
* available. For testing the choice can also be manually specified.
|
||||||
* For testing the choice can also be manually specified.
|
|
||||||
*/
|
*/
|
||||||
#if defined(WAIT_USE_POLL) || defined(WAIT_USE_EPOLL)
|
#if defined(WAIT_USE_POLL) || defined(WAIT_USE_EPOLL)
|
||||||
#if defined(WAIT_USE_SELF_PIPE) || defined(WAIT_USE_SIGNALFD)
|
#if defined(WAIT_USE_SELF_PIPE) || defined(WAIT_USE_SIGNALFD)
|
||||||
/* don't overwrite manual choice */
|
/* don't overwrite manual choice */
|
||||||
#elif defined(WAIT_USE_EPOLL) && defined(HAVE_SYS_SIGNALFD_H) && \
|
#elif defined(WAIT_USE_EPOLL) && defined(HAVE_SYS_SIGNALFD_H)
|
||||||
!defined(__illumos__)
|
|
||||||
#define WAIT_USE_SIGNALFD
|
#define WAIT_USE_SIGNALFD
|
||||||
#else
|
#else
|
||||||
#define WAIT_USE_SELF_PIPE
|
#define WAIT_USE_SELF_PIPE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user