view m4/sigaction.m4 @ 10229:29502a2dd08a

New module sigaction, for mingw. * modules/sigaction: New module... * modules/sigaction-tests: ...and its test. * m4/sigaction.m4: New file. * lib/sigaction.c: Likewise. * tests/test-sigaction.c: Likewise. * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables. * modules/signal (Makefile.am): Likewise. * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when needed. * doc/posix-headers/signal.texi (signal.h): Mention provided types. * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention that sigaction is preferable. * doc/posix-functions/sigaction.texi (sigaction): Mention new module. * MODULES.html.sh (Support for systems lacking POSIX:2001): Add sigaction. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Sat, 21 Jun 2008 14:32:55 -0600
parents
children 5c92e27f02d2
line wrap: on
line source

# sigaction.m4 serial 1
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,
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
    HAVE_SIGACTION=0
    AC_SUBST([HAVE_SIGACTION])
    gl_PREREQ_SIGACTION
  fi
])

# Prerequisites of the part of lib/signal.in.h and of lib/sigprocmask.c.
AC_DEFUN([gl_PREREQ_SIGACTION],
[
  AC_REQUIRE([AC_C_RESTRICT])
  AC_REQUIRE([AC_TYPE_UID_T])
  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
  AC_CHECK_FUNCS_ONCE([sigaltstack siginterrupt])
  AC_CHECK_TYPES([siginfo_t], [], [], [[
#include <signal.h>
  ]])
  if test $ac_cv_type_siginfo_t = no; then
    HAVE_SIGINFO_T=0
    AC_SUBST([HAVE_SIGINFO_T])
  fi
])