# HG changeset patch # User Daiki Ueno # Date 1368236455 -32400 # Node ID c2f3bfaf5fce0b7cf8b98fd49022e210d8f909bb # Parent 21bdea0c916ed756db4e8dfe4eea2c94e3dd4eac lock: work around pthread recursive mutexes bug in Mac OS X 10.6 * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the compilation target is Mac OS X 10.6. Problem reported by parafin and Andoni Morales in and . diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2013-05-11 Daiki Ueno + + lock: work around pthread recursive mutexes bug in Mac OS X 10.6 + * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the + compilation target is Mac OS X 10.6. + Problem reported by parafin and Andoni Morales in + and + . + 2013-05-11 Paul Eggert mkdir-p: remove assumptions about umask and mode diff --git a/m4/lock.m4 b/m4/lock.m4 --- a/m4/lock.m4 +++ b/m4/lock.m4 @@ -24,6 +24,9 @@ [[ #if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." +#elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \ + && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070) +error "No, in Mac OS X < 10.7 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x;