Use the system's sigset_t if present.
authorBruno Haible <bruno@clisp.org>
Tue, 17 Oct 2006 12:43:12 +0000 (12:43 +0000)
committerBruno Haible <bruno@clisp.org>
Tue, 17 Oct 2006 12:43:12 +0000 (12:43 +0000)
ChangeLog
lib/sigprocmask.h
m4/signalblocking.m4

index c7b6e8d..0724447 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-16  Bruno Haible  <bruno@clisp.org>
+
+       * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
+       * lib/sigprocmask.h: Include <sys/types.h>.
+       (sigset_t): Use the system's definition if present.
+
 2006-10-17  Eric Blake  <ebb9@byu.net>
 
        * lib/xvasprintf.c (includes): Assume config.h.
index f88351f..d31c365 100644 (file)
@@ -20,6 +20,9 @@
 
 #if ! HAVE_POSIX_SIGNALBLOCKING
 
+/* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
+# include <sys/types.h>
+
 # include "verify.h"
 
 /* Maximum signal number + 1.  */
@@ -31,7 +34,9 @@
 verify (NSIG <= 32);
 
 /* A set or mask of signals.  */
+# if !HAVE_SIGSET_T
 typedef unsigned int sigset_t;
+# endif
 
 /* Test whether a given signal is contained in a signal set.  */
 extern int sigismember (const sigset_t *set, int sig);
index bb120f5..921225c 100644 (file)
@@ -1,4 +1,4 @@
-# signalblocking.m4 serial 2 (gettext-0.15.1)
+# signalblocking.m4 serial 3 (gettext-0.15.1)
 dnl Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,16 @@ AC_DEFUN([gl_SIGNALBLOCKING],
   fi
 ])
 
-# Prerequisites of lib/sigprocmask.c.
+# Prerequisites of lib/sigprocmask.h and lib/sigprocmask.c.
 AC_DEFUN([gl_PREREQ_SIGPROCMASK], [
+  AC_CHECK_TYPES([sigset_t],
+    [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no],
+    [#include <signal.h>
+/* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
+#include <sys/types.h>])
+  if test $gl_cv_type_sigset_t = yes; then
+    AC_DEFUN([HAVE_SIGSET_T],
+      [Define to 1 if you lack the sigprocmask function but have the sigset_t type.])
+  fi
   AC_CHECK_FUNCS_ONCE(raise)
 ])