From e297475f0d05b3c8cfbc5cee90add7d7a37c6a02 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Wed, 2 Jun 2021 18:07:46 +0200 Subject: Cleanup: add proj/internal/mutex.hpp as compat layer for mingw32 for std::mutex --- src/transformations/vgridshift.cpp | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) (limited to 'src/transformations/vgridshift.cpp') diff --git a/src/transformations/vgridshift.cpp b/src/transformations/vgridshift.cpp index 7b234517..527fe1e8 100644 --- a/src/transformations/vgridshift.cpp +++ b/src/transformations/vgridshift.cpp @@ -6,32 +6,15 @@ #include #include "proj_internal.h" +#include "proj/internal/mutex.hpp" #include "grids.hpp" PROJ_HEAD(vgridshift, "Vertical grid shift"); -using namespace NS_PROJ; - - -#ifdef __MINGW32__ -// mingw32-win32 doesn't implement std::mutex -namespace { -class MyMutex { - public: - // cppcheck-suppress functionStatic - void lock() { pj_acquire_lock(); } - // cppcheck-suppress functionStatic - void unlock() { pj_release_lock(); } -}; -} -#else -#include -#define MyMutex std::mutex -#endif - -static MyMutex gMutex{}; +static NS_PROJ::mutex gMutex{}; static std::set gKnownGrids{}; +using namespace NS_PROJ; namespace { // anonymous namespace struct vgridshiftData { @@ -251,7 +234,6 @@ PJ *TRANSFORMATION(vgridshift,0) { } void pj_clear_vgridshift_knowngrids_cache() { - gMutex.lock(); + NS_PROJ::lock_guard lock(gMutex); gKnownGrids.clear(); - gMutex.unlock(); } -- cgit v1.2.3