diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2015-09-10 15:33:49 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2015-09-10 15:33:49 +0200 |
| commit | e13969459eb40384f4922e51b1202dc5fcb338f7 (patch) | |
| tree | cc038c1e76105ffd044fde823eecf9ac9b96f670 | |
| parent | 38d4c6d3a946f041ae6c4e25b96cd4c04d9db13f (diff) | |
| parent | 15dcb68727185958ddedf3ef598dbe456efc9f06 (diff) | |
| download | PROJ-e13969459eb40384f4922e51b1202dc5fcb338f7.tar.gz PROJ-e13969459eb40384f4922e51b1202dc5fcb338f7.zip | |
Merge remote branch 'turepalsson/issue-302'
| -rw-r--r-- | configure.in | 4 | ||||
| -rw-r--r-- | src/pj_mutex.c | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/configure.in b/configure.in index 095a191f..30f7a16d 100644 --- a/configure.in +++ b/configure.in @@ -98,6 +98,10 @@ if test "$with_mutex" = yes -o x"$with_mutex" = x ; then THREAD_LIB="-lpthread" fi AC_CHECK_LIB(pthread,pthread_mutexattr_settype,,,) + AC_CHECK_DECL(PTHREAD_MUTEX_RECURSIVE, + AC_DEFINE(HAVE_PTHREAD_MUTEX_RECURSIVE, [], [Define if your pthreads implementation have PTHREAD_MUTEX_RECURSIVE]), + , + [#include <pthread.h>]) AC_MSG_RESULT([enabled, pthread]) else MUTEX_SETTING=stub diff --git a/src/pj_mutex.c b/src/pj_mutex.c index 349537c8..dc484c69 100644 --- a/src/pj_mutex.c +++ b/src/pj_mutex.c @@ -33,7 +33,9 @@ #define _XOPEN_SOURCE 500 #endif + #ifndef _WIN32 +#include "proj_config.h" #include <projects.h> #else #include <proj_api.h> @@ -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; |
