pthread_sigmask: Rely on module 'threadlib'.
authorBruno Haible <bruno@clisp.org>
Tue, 12 Jul 2011 12:02:11 +0000 (14:02 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 12 Jul 2011 12:02:11 +0000 (14:02 +0200)
* modules/pthread_sigmask (Depends-on): Add threadlib.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
is defined.

ChangeLog
m4/pthread_sigmask.m4
modules/pthread_sigmask

index 1a30ae8..465e8d0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2011-07-12  Bruno Haible  <bruno@clisp.org>
 
+       pthread_sigmask: Rely on module 'threadlib'.
+       * modules/pthread_sigmask (Depends-on): Add threadlib.
+       * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
+       is defined.
+
+2011-07-12  Bruno Haible  <bruno@clisp.org>
+
        regex: Depend on module 'strcase'.
        * modules/regex (Depends-on): Add strcase, for strcasecmp().
 
index c73e7e6..3803988 100644 (file)
@@ -1,4 +1,4 @@
-# pthread_sigmask.m4 serial 9
+# pthread_sigmask.m4 serial 10
 dnl Copyright (C) 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,
@@ -6,70 +6,56 @@ dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
 [
+  AC_REQUIRE([gl_THREADLIB])
+
   AC_CHECK_FUNCS_ONCE([pthread_sigmask])
   LIB_PTHREAD_SIGMASK=
-  m4_ifdef([gl_THREADLIB], [
-    AC_REQUIRE([gl_THREADLIB])
-    if test "$gl_threads_api" = posix; then
-      if test $ac_cv_func_pthread_sigmask = yes; then
-        dnl pthread_sigmask is available without -lpthread.
-        :
-      else
-        if test -n "$LIBMULTITHREAD"; then
-          AC_CACHE_CHECK([for pthread_sigmask in $LIBMULTITHREAD],
-            [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD],
-            [gl_save_LIBS="$LIBS"
-             LIBS="$LIBS $LIBMULTITHREAD"
-             AC_LINK_IFELSE(
-               [AC_LANG_PROGRAM(
-                  [[#include <pthread.h>
-                    #include <signal.h>
-                  ]],
-                  [[return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0);]])
-               ],
-               [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes],
-               [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no])
-             LIBS="$gl_save_LIBS"
-            ])
-          if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then
-            dnl pthread_sigmask is available with -lpthread.
-            LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD"
-          else
-            dnl pthread_sigmask is not available at all.
-            HAVE_PTHREAD_SIGMASK=0
-          fi
+  if test "$gl_threads_api" = posix; then
+    if test $ac_cv_func_pthread_sigmask = yes; then
+      dnl pthread_sigmask is available without -lpthread.
+      :
+    else
+      if test -n "$LIBMULTITHREAD"; then
+        AC_CACHE_CHECK([for pthread_sigmask in $LIBMULTITHREAD],
+          [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD],
+          [gl_save_LIBS="$LIBS"
+           LIBS="$LIBS $LIBMULTITHREAD"
+           AC_LINK_IFELSE(
+             [AC_LANG_PROGRAM(
+                [[#include <pthread.h>
+                  #include <signal.h>
+                ]],
+                [[return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0);]])
+             ],
+             [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes],
+             [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no])
+           LIBS="$gl_save_LIBS"
+          ])
+        if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then
+          dnl pthread_sigmask is available with -lpthread.
+          LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD"
         else
           dnl pthread_sigmask is not available at all.
           HAVE_PTHREAD_SIGMASK=0
         fi
-      fi
-    else
-      dnl pthread_sigmask may exist but does not interoperate with the chosen
-      dnl multithreading facility.
-      dnl If "$gl_threads_api" = pth, we could use the function pth_sigmask,
-      dnl but it is equivalent to sigprocmask, so we choose to emulate
-      dnl pthread_sigmask with sigprocmask also in this case. This yields fewer
-      dnl link dependencies.
-      if test $ac_cv_func_pthread_sigmask = yes; then
-        REPLACE_PTHREAD_SIGMASK=1
       else
+        dnl pthread_sigmask is not available at all.
         HAVE_PTHREAD_SIGMASK=0
       fi
     fi
-  ] ,[
-    dnl gl_THREADLIB is not in use.  Assume the application wants
-    dnl POSIX semantics.
-    if test $ac_cv_func_pthread_sigmask != yes; then
-      gl_save_LIBS=$LIBS
-      AC_SEARCH_LIBS([pthread_sigmask], [pthread c_r])
-      LIBS=$gl_save_LIBS
-      if test "$ac_cv_search_pthread_sigmask" = no; then
-        HAVE_PTHREAD_SIGMASK=0
-      elif test "$ac_cv_search_pthread_sigmask" != 'none required'; then
-        LIB_PTHREAD_SIGMASK=$ac_cv_search_pthread_sigmask
-      fi
+  else
+    dnl pthread_sigmask may exist but does not interoperate with the chosen
+    dnl multithreading facility.
+    dnl If "$gl_threads_api" = pth, we could use the function pth_sigmask,
+    dnl but it is equivalent to sigprocmask, so we choose to emulate
+    dnl pthread_sigmask with sigprocmask also in this case. This yields fewer
+    dnl link dependencies.
+    if test $ac_cv_func_pthread_sigmask = yes; then
+      REPLACE_PTHREAD_SIGMASK=1
+    else
+      HAVE_PTHREAD_SIGMASK=0
     fi
-  ])
+  fi
   AC_SUBST([LIB_PTHREAD_SIGMASK])
   dnl We don't need a variable LTLIB_PTHREAD_SIGMASK, because when
   dnl "$gl_threads_api" = posix, $LTLIBMULTITHREAD and $LIBMULTITHREAD are the
index 9e26e13..b9a8f96 100644 (file)
@@ -7,6 +7,7 @@ m4/pthread_sigmask.m4
 
 Depends-on:
 signal
+threadlib
 sigprocmask     [test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1]
 
 configure.ac: