On Wed, Jun 25, 2025 at 05:33:29PM -0800, Junio C Hamano wrote: > Carlo Marcelo Arenas Belón <carenas@xxxxxxxxx> writes: > > > On Wed, Jun 25, 2025 at 09:07:15AM -0800, Junio C Hamano wrote: > >> "Carlo Marcelo Arenas Belón via GitGitGadget" > >> <gitgitgadget@xxxxxxxxx> writes: > >> > >> > +# Define USE_NON_POSIX_SIGNAL if don't have support for SA_RESTART or > >> > +# prefer using ANSI C signal() over POSIX sigaction() > >> > + > >> > +AC_CACHE_CHECK([whether SA_RESTART is supported], [ac_cv_siginterrupt], [ > >> > + AC_COMPILE_IFELSE( > >> > + [AC_LANG_PROGRAM([#include <signal.h>], [[ > >> > + #ifdef SA_RESTART > >> > + #endif > >> > + siginterrupt(SIGCHLD, 1) > >> > >> This is curious. What is this #ifdef/#endif doing that does not > >> have anything in it? > > > > It checks that `SA_RESTART` is defined in `signal.h`, which should > > fail at least in QNX, NonStop and Windows. > > The above roughly expands to > > #include <signal.h> > int main(void) > { > #ifdef SA_RESTART > #endif > siginterrupt(SIGCHLD, 1); > return 0; > } > > Are you saying that a preprocessor macro SA_RESTART, which may or > may not be defined, when asked by "#ifdef", causes what is left in > the preprocessed source change in any meaningful way to cause the > compilation to fail? Lack of judgement on my part; I apologize and will correct it. Carlo