X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fsigaction.m4;h=b365e2651e1b606660b304179883e46868129d35;hb=7d7ec7650cd840f005ddd6dd886dd1036802fd63;hp=869c8168dee931dbb31d7d230d9db92b5a5f3e6d;hpb=50fe845c936e712ce3de7ee20eed51c033ae43a7;p=gnulib.git diff --git a/m4/sigaction.m4 b/m4/sigaction.m4 index 869c8168d..b365e2651 100644 --- a/m4/sigaction.m4 +++ b/m4/sigaction.m4 @@ -1,5 +1,5 @@ -# sigaction.m4 serial 2 -dnl Copyright (C) 2008 Free Software Foundation, Inc. +# sigaction.m4 serial 6 +dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,14 +7,16 @@ 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]) - gl_PREREQ_SIGACTION fi ]) @@ -24,13 +26,18 @@ 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_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 - gl_PREREQ_SIG_HANDLER_H +]) + +# Prerequisites of lib/sig-handler.h. +AC_DEFUN([gl_PREREQ_SIG_HANDLER_H], +[ + AC_REQUIRE([AC_C_INLINE]) ])