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-08-27 16:32:01 +0200
commit86b61156743b7ebdc049450a6f88452890fd9a61 (patch)
treeb155c68344e2adda5085047eee3f7dd5e98f6bcc /configure.ac
parentfd2840c15ce480ef017ce880a6ac8b10e22ae9d2 (diff)
downloadsssd-86b61156743b7ebdc049450a6f88452890fd9a61.tar.gz
sssd-86b61156743b7ebdc049450a6f88452890fd9a61.tar.xz
sssd-86b61156743b7ebdc049450a6f88452890fd9a61.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 5bb82a77d..5cd8c723f 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])])],