GNU bug report logs -
#7073
no pthread_spinlock_t on Mac OS 10.6.4
Previous Next
Reported by: "Gary V. Vaughan" <gary <at> gnu.org>
Date: Mon, 20 Sep 2010 05:52:01 UTC
Severity: normal
Done: Assaf Gordon <assafgordon <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On 09/20/10 00:14, Gary V. Vaughan wrote:
> lib/pthread.h does have a typedef for pthread_spinlock_t, but it is predicated on not having HAVE_PTHREAD_T defined (which I do):
Ah, OK. Could you try the following patch instead? If you have a
similar problem with (say) pthread_rwlockattr_t, you can treat it just
like pthread_spinlock_t in lib/pthread.in.h and m4/pthread.m4; please
just let us know which types those are. I'd
rather not add compile-time checks for each dinky little pthread type
unless it's known to be needed, as 'configure' takes too long already.
diff --git a/lib/pthread.in.h b/lib/pthread.in.h
index 4dad22a..84cf913 100644
--- a/lib/pthread.in.h
+++ b/lib/pthread.in.h
@@ -40,6 +40,8 @@
typedef int pthread_once_t;
typedef int pthread_rwlock_t;
typedef int pthread_rwlockattr_t;
+#endif
+#ifndef HAVE_PTHREAD_SPINLOCK_T
typedef int pthread_spinlock_t;
#endif
diff --git a/m4/pthread.m4 b/m4/pthread.m4
index 69866cb..a2781eb 100644
--- a/m4/pthread.m4
+++ b/m4/pthread.m4
@@ -6,19 +6,21 @@ dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_PTHREAD_CHECK],
[AC_CHECK_HEADERS_ONCE([pthread.h])
+ gl_keep_pthread_h=$ac_cv_header_pthread_h
+ AC_CHECK_TYPES([pthread_t, pthread_spinlock_t],
+ [],
+ [gl_keep_pthread_h=no])
+ PTHREAD_H='pthread.h'
LIB_PTHREAD=
- PTHREAD_H=
- if test "$ac_cv_header_pthread_h" = yes; then
+ if test "$gl_keep_pthread_h" = yes; then
+ PTHREAD_H=
gl_saved_libs=$LIBS
AC_SEARCH_LIBS([pthread_create], [pthread],
[if test "$ac_cv_search_pthread_create" != "none required"; then
LIB_PTHREAD="$ac_cv_search_pthread_create"
fi])
LIBS="$gl_saved_libs"
- else
- AC_CHECK_TYPES([pthread_t])
- PTHREAD_H='pthread.h'
fi
AC_SUBST([LIB_PTHREAD])
This bug report was last modified 6 years and 201 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.