Well, because it doesn't work without it. Reproducible: Always
$ grep -r signalfd mpd-0.19.9/ mpd-0.19.9/src/event/SignalMonitor.cxx: * were blocked for our signalfd(). Without this, our child processes mpd-0.19.9/src/system/SignalFD.cxx:#include <sys/signalfd.h> mpd-0.19.9/src/system/SignalFD.cxx: fd = ::signalfd(fd, &mask, SFD_NONBLOCK|SFD_CLOEXEC); mpd-0.19.9/src/system/SignalFD.cxx: FatalSystemError("signalfd() failed"); mpd-0.19.9/src/system/SignalFD.cxx: signalfd_siginfo info; mpd-0.19.9/src/system/SignalFD.hxx: * A class that wraps signalfd(). mpd-0.19.9/src/system/SignalFD.hxx: * Create the signalfd or update its mask. mpd-0.19.9/configure:enable_signalfd mpd-0.19.9/configure: --enable-signalfd use the function "signalfd" (default: auto) mpd-0.19.9/configure: # Check whether --enable-signalfd was given. mpd-0.19.9/configure:if test "${enable_signalfd+set}" = set; then : mpd-0.19.9/configure: enableval=$enable_signalfd; test xenable_signalfd = xyes && mpd-0.19.9/configure: ac_fn_c_check_func "$LINENO" "signalfd" "ac_cv_func_signalfd" mpd-0.19.9/configure:if test "x$ac_cv_func_signalfd" = xyes; then : mpd-0.19.9/configure.ac: MPD_OPTIONAL_FUNC(signalfd, signalfd, USE_SIGNALFD) mpd-0.19.9/config.h.in:/* Define to use signalfd */
Fixed with new USE flags eventfd and signalfd in 0.19.10.