X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fsigaction.m4;h=3a3ed9f24db57916ab3a32aabe8b8b44b04ca1c8;hb=22d7496bac7d391faff10755b17889ecd2f604d4;hp=2f1a4cd8bb69c130916916932f881f0c3be6fe2e;hpb=cfb3906f210bec09f48f5d48511b72064153311a;p=gnulib.git diff --git a/m4/sigaction.m4 b/m4/sigaction.m4 index 2f1a4cd8b..3a3ed9f24 100644 --- a/m4/sigaction.m4 +++ b/m4/sigaction.m4 @@ -1,4 +1,4 @@ -# sigaction.m4 serial 1 +# sigaction.m4 serial 5 dnl Copyright (C) 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,29 +7,39 @@ dnl with or without modifications, as long as this notice is preserved. # Determine if sigaction interface is present. AC_DEFUN([gl_SIGACTION], [ - dnl Due to autoconf conventions, we can't tell if HAVE_SIGACTION - dnl means we have the type or means we have the function. We assume - dnl that all implementations either have both or neither. - AC_REPLACE_FUNCS([sigaction]) - if test $ac_cv_func_sigaction = no ; then + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([sigaction]) + if test $ac_cv_func_sigaction = yes; then + AC_CHECK_MEMBERS([struct sigaction.sa_sigaction], , , + [[#include ]]) + if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then + HAVE_STRUCT_SIGACTION_SA_SIGACTION=0 + fi + else HAVE_SIGACTION=0 - AC_SUBST([HAVE_SIGACTION]) + AC_LIBOBJ([sigaction]) gl_PREREQ_SIGACTION fi ]) -# Prerequisites of the part of lib/signal.in.h and of lib/sigprocmask.c. +# Prerequisites of the part of lib/signal.in.h and of lib/sigaction.c. AC_DEFUN([gl_PREREQ_SIGACTION], [ + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_UID_T]) - AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_REQUIRE([gl_PREREQ_SIG_HANDLER_H]) AC_CHECK_FUNCS_ONCE([sigaltstack siginterrupt]) AC_CHECK_TYPES([siginfo_t], [], [], [[ #include ]]) if test $ac_cv_type_siginfo_t = no; then HAVE_SIGINFO_T=0 - AC_SUBST([HAVE_SIGINFO_T]) fi ]) + +# Prerequisites of lib/sig-handler.h. +AC_DEFUN([gl_PREREQ_SIG_HANDLER_H], +[ + AC_REQUIRE([AC_C_INLINE]) +])