From 474e11f0b26079cc490dfedce40bd25fcaabb32c Mon Sep 17 00:00:00 2001 From: Frank Warmerdam Date: Wed, 23 Sep 2009 18:58:15 +0000 Subject: fix up lock support on windows, enable by default, make public api git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1625 4e78687f-474d-0410-85f9-8d5e500ac6b2 --- src/pj_mutex.c | 18 +++++++++++++----- src/proj_api.h | 3 +++ src/projects.h | 3 --- 3 files changed, 16 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/pj_mutex.c b/src/pj_mutex.c index 54a44d0e..b3e4e8ee 100644 --- a/src/pj_mutex.c +++ b/src/pj_mutex.c @@ -27,14 +27,22 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ -#include +#include +#ifndef _WIN32 PJ_CVSID("$Id: pj_transform.c 1504 2009-01-06 02:11:57Z warmerdam $"); +#endif + +#ifdef _WIN32 +# define MUTEX_win32 +#endif #if !defined(MUTEX_stub) && !defined(MUTEX_pthread) && !defined(MUTEX_win32) # define MUTEX_stub #endif +static void pj_init_lock(); + /************************************************************************/ /* ==================================================================== */ /* stub mutex implementation */ @@ -74,7 +82,7 @@ void pj_cleanup_lock() /* pj_init_lock() */ /************************************************************************/ -void pj_init_lock() +static void pj_init_lock() { } @@ -126,7 +134,7 @@ void pj_cleanup_lock() /* pj_init_lock() */ /************************************************************************/ -void pj_init_lock() +static void pj_init_lock() { } @@ -189,12 +197,12 @@ void pj_cleanup_lock() /* pj_init_lock() */ /************************************************************************/ -void pj_init_lock() +static void pj_init_lock() { if( mutex_lock == NULL ) mutex_lock = CreateMutex( NULL, TRUE, NULL ); } -#endif // def MUTEX_pthread +#endif // def MUTEX_win32 diff --git a/src/proj_api.h b/src/proj_api.h index 66cdd9d8..f0efcbe5 100644 --- a/src/proj_api.h +++ b/src/proj_api.h @@ -96,6 +96,9 @@ void pj_dalloc(void *); char *pj_strerrno(int); int *pj_get_errno_ref(void); const char *pj_get_release(void); +void pj_acquire_lock(void); +void pj_release_lock(void); +void pj_cleanup_lock(void); #ifdef __cplusplus } diff --git a/src/projects.h b/src/projects.h index 60693e53..822a53cc 100644 --- a/src/projects.h +++ b/src/projects.h @@ -404,9 +404,6 @@ PJ_GRIDINFO *pj_gridinfo_init( const char * ); int pj_gridinfo_load( PJ_GRIDINFO * ); void pj_gridinfo_free( PJ_GRIDINFO * ); -void pj_acquire_lock(void); -void pj_release_lock(void); - void *proj_mdist_ini(double); double proj_mdist(double, double, double, const void *); double proj_inv_mdist(double, const void *); -- cgit v1.2.3