diff options
| author | Ture Pålsson <ture@lysator.liu.se> | 2015-09-09 19:18:28 +0200 |
|---|---|---|
| committer | Ture Pålsson <ture@lysator.liu.se> | 2015-09-09 19:18:28 +0200 |
| commit | e2f5f28714de471d98cabe50096a5fdf3aeef0a3 (patch) | |
| tree | 21a14ad02cb9368f40c2962d8a87377225bea488 /src | |
| parent | 759c0bad01193f61aaa0b5f01de71c400c2699fd (diff) | |
| download | PROJ-e2f5f28714de471d98cabe50096a5fdf3aeef0a3.tar.gz PROJ-e2f5f28714de471d98cabe50096a5fdf3aeef0a3.zip | |
Use autoconf for PTHREAD_MUTEX_RECURSIVE (#302)
On FreeBSD 10, PTHREAD_MUTEX_RECURSIVE exists, but as an enum constant,
not a #define macro, so it cannot be detected using #ifdef.
Diffstat (limited to 'src')
| -rw-r--r-- | src/pj_mutex.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/pj_mutex.c b/src/pj_mutex.c index 349537c8..037c4bbb 100644 --- a/src/pj_mutex.c +++ b/src/pj_mutex.c @@ -33,6 +33,8 @@ #define _XOPEN_SOURCE 500 #endif +#include "proj_config.h" + #ifndef _WIN32 #include <projects.h> #else @@ -120,10 +122,10 @@ void pj_acquire_lock() pthread_mutex_lock( &pj_precreated_lock); pthread_mutexattr_init(&mutex_attr); -#ifndef PTHREAD_MUTEX_RECURSIVE - pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_NP); -#else +#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE); +#else + pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_NP); #endif pthread_mutex_init(&pj_core_lock, &mutex_attr); pj_core_lock_created = 1; |
