]> git.sur5r.net Git - openldap/commitdiff
Better check for pthread_rwlock_destroy()
authorHoward Chu <hyc@openldap.org>
Thu, 11 Jan 2007 00:54:45 +0000 (00:54 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 11 Jan 2007 00:54:45 +0000 (00:54 +0000)
configure.in

index d225ea99440d81e6cccbc203af6f8bb79ec546c4..6d001d23a797c450ec8195b1c1d9b3cf816b8870 100644 (file)
@@ -1326,7 +1326,22 @@ dnl                      [ol_cv_pthread_lpthread_lexc])
                        fi
 
                        dnl Check functions for compatibility
-                       AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
+                       AC_CHECK_FUNCS(pthread_kill)
+
+                       dnl Check for pthread_rwlock_destroy with <pthread.h>
+                       dnl as pthread_rwlock_t may not be defined.
+                       AC_CACHE_CHECK([for pthread_rwlock_destroy with <pthread.h>],
+                               [ol_cv_func_pthread_rwlock_destroy], [
+                               dnl save the flags
+                               AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include <pthread.h>
+pthread_rwlock_t rwlock;
+]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
+                       ])
+                       if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
+                               AC_DEFINE(HAVE_PTHREAD_RWLOCK_DESTROY,1,
+                                       [define if you have pthread_rwlock_destroy function])],
+                       fi
 
                        dnl Check for pthread_detach with <pthread.h> inclusion
                        dnl as it's symbol may have been mangled.