summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-08-13 15:30:39 +0200
committerJakub Hrozek <jhrozek@redhat.com>2012-09-07 14:39:01 +0200
commitd6721b3d75135cc5444b0a415a1710501630ea2a (patch)
treea6de483b4131f163ca3b23d84c271534e93edba0 /configure.ac
parentb09c19e3769f27f12dcfc41fb5713bc0d6f492d6 (diff)
downloadsssd-d6721b3d75135cc5444b0a415a1710501630ea2a.tar.gz
sssd-d6721b3d75135cc5444b0a415a1710501630ea2a.tar.xz
sssd-d6721b3d75135cc5444b0a415a1710501630ea2a.zip
Use PTHREAD_MUTEX_ROBUST to avoid deadlock in the client
https://fedorahosted.org/sssd/ticket/1460
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac15
1 files changed, 14 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 70830580d..2cde25174 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,9 +47,22 @@ BUILD_WITH_SHARED_BUILD_DIR
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <pthread.h>]],
[[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;]])],
- [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])],
+ [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])
+ HAVE_PTHREAD=1
+ ],
[AC_MSG_WARN([Pthread library not found! Clients will not be thread safe...])])
+
+AM_CONDITIONAL([HAVE_PTHREAD], [test x"$HAVE_PTHREAD" != "x"])
+
+SAVE_LIBS=$LIBS
+LIBS="$LIBS -lpthread"
+AC_CHECK_FUNCS([ pthread_mutexattr_setrobust \
+ pthread_mutex_consistent \
+ pthread_mutexattr_setrobust_np \
+ pthread_mutex_consistent_np ])
+LIBS=$SAVE_LIBS
+
#Check for PAM headers
AC_CHECK_HEADERS([security/pam_appl.h security/pam_misc.h security/pam_modules.h],
[AC_CHECK_LIB(pam, pam_get_item, [ PAM_LIBS="-lpam" ], [AC_MSG_ERROR([PAM must support pam_get_item])])],