aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-22 21:35:03 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-22 21:35:03 +0000
commit6b7aeb5c1ecb6c590f5e246520793e4fe7547299 (patch)
tree0eab425211bfc11d7a3ffaba086bd5a35a3a7cf8 /configure.ac
parentc6fe6d8afeb05b15b07e8abbebd278704d9ca533 (diff)
Detect availability of pthread_rwlock_timedwrlock() before using it.
(closes issue #14930) Reported by: tilghman Patches: 20090420__bug14930.diff.txt uploaded by tilghman (license 14) Tested by: mvanbaak, tilghman git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@190092 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac21
1 files changed, 21 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index ad7743422..48fbb72b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -325,6 +325,27 @@ AC_LINK_IFELSE(
AC_MSG_RESULT(no)
)
+AC_MSG_CHECKING(for pthread_rwlock_timedwrlock() in pthread.h)
+saved_LDFLAGS="${LDFLAGS}"
+LDFLAGS="${LDFLAGS} -lpthread"
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <pthread.h>
+ #include <time.h>],
+ [pthread_rwlock_t foo; struct timespec bar; pthread_rwlock_timedwrlock(&foo, &bar)])
+ ],[
+ AC_MSG_RESULT(yes)
+ ac_cv_pthread_rwlock_timedwrlock="yes"
+ ],[
+ AC_MSG_RESULT(no)
+ ac_cv_pthread_rwlock_timedwrlock="no"
+ ]
+)
+LDFLAGS="${saved_LDFLAGS}"
+if test "${ac_cv_pthread_rwlock_timedwrlock}" = "yes"; then
+ AC_DEFINE([HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK], 1, [Define if your system has pthread_rwlock_timedwrlock()])
+fi
+
AC_MSG_CHECKING(for compiler atomic operations)
AC_LINK_IFELSE(
AC_LANG_PROGRAM([], [int foo1; int foo2 = __sync_fetch_and_add(&foo1, 1);]),