Don't look for pthread_mutexattr_setrobust_np
authorKen Raeburn <raeburn@mit.edu>
Tue, 16 May 2006 02:56:59 +0000 (02:56 +0000)
committerKen Raeburn <raeburn@mit.edu>
Tue, 16 May 2006 02:56:59 +0000 (02:56 +0000)
Apparently Red Hat's Fedora Core 5 defines it but doesn't declare it,
so we'd have to declare it before testing the address.  While it was
once useful for checking whether the pthread code had been loaded, I
think the other tests done now are more effective and this isn't
needed any more.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18012 dc483132-0cff-0310-8789-dd5450dbe970

src/aclocal.m4
src/include/k5-thread.h
src/util/support/threads.c

index f3711c1836b79316a9412cae1476fff272b38ab1..20f215424236f2d8fd2af93a95555990014a9da2 100644 (file)
@@ -219,7 +219,7 @@ dnl We want to know where these routines live, so on systems with weak
 dnl reference support we can figure out whether or not the pthread library
 dnl has been linked in.
 dnl If we don't add any libraries for thread support, don't bother.
-AC_CHECK_FUNCS(pthread_once pthread_mutexattr_setrobust_np pthread_rwlock_init)
+AC_CHECK_FUNCS(pthread_once pthread_rwlock_init)
 old_CC="$CC"
 test "$PTHREAD_CC" != "" && test "$ac_cv_c_compiler_gnu" = no && CC=$PTHREAD_CC
 old_CFLAGS="$CFLAGS"
@@ -229,8 +229,6 @@ AC_SUBST(PTHREAD_CFLAGS)
 old_LIBS="$LIBS"
 LIBS="$PTHREAD_LIBS $LIBS"
 AC_MSG_NOTICE(rechecking with PTHREAD_... options)
-AC_CHECK_LIB(c, pthread_mutexattr_setrobust_np,
-  [AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP_IN_THREAD_LIB,1,[Define if pthread_mutexattr_setrobust_np is provided in the thread library.])])
 AC_CHECK_LIB(c, pthread_rwlock_init,
   [AC_DEFINE(HAVE_PTHREAD_RWLOCK_INIT_IN_THREAD_LIB,1,[Define if pthread_rwlock_init is provided in the thread library.])])
 LIBS="$old_LIBS"
index 5373f836ade3dbffa5b4b8edf7b3aae171db492a..13c2391fb26e0e83c5ec58c8231af4ef306886de 100644 (file)
@@ -388,9 +388,13 @@ typedef k5_os_nothread_mutex k5_os_mutex;
 
    Linux: Stub mutex routines exist, but pthread_once does not.
 
-   Solaris: In libc there's a pthread_once that doesn't seem
-   to do anything.  Bleah.  But pthread_mutexattr_setrobust_np
-   is defined only in libpthread.
+   Solaris: In libc there's a pthread_once that doesn't seem to do
+   anything.  Bleah.  But pthread_mutexattr_setrobust_np is defined
+   only in libpthread.  However, some version of GNU libc (Red Hat's
+   Fedora Core 5, reportedly) seems to have that function, but no
+   declaration, so we'd have to declare it in order to test for its
+   address.  We now have tests to see if pthread_once actually works,
+   so stick with that for now.
 
    IRIX 6.5 stub pthread support in libc is really annoying.  The
    pthread_mutex_lock function returns ENOSYS for a program not linked
@@ -414,9 +418,6 @@ typedef k5_os_nothread_mutex k5_os_mutex;
 # pragma weak pthread_mutex_init
 # pragma weak pthread_self
 # pragma weak pthread_equal
-# ifdef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP_IN_THREAD_LIB
-#  pragma weak pthread_mutexattr_setrobust_np
-# endif
 extern int krb5int_pthread_loaded(void);
 # define K5_PTHREADS_LOADED    (krb5int_pthread_loaded())
 #else
index 1ac9c61500f809dc2f40723486613eb8e36e59b2..ebc1dafaeafce218aae335e31b34e49ed5670b50 100644 (file)
@@ -144,11 +144,6 @@ int krb5int_pthread_loaded (void)
        || &pthread_mutex_init == 0
        || &pthread_self == 0
        || &pthread_equal == 0
-       /* This catches Solaris 9.  May be redundant with the above
-          tests now.  */
-# ifdef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP_IN_THREAD_LIB
-       || &pthread_mutexattr_setrobust_np == 0
-# endif
        /* Any program that's really multithreaded will have to be
           able to create threads.  */
        || &pthread_create == 0