Permalink
Browse files

avoid mutex locks on pj_transform for proj 4.7 and above - closes #1072

  • Loading branch information...
1 parent c33d534 commit 0748d2beea3d878c3a7f667b2c7efb9ba3f00a5b Dane Springmeyer committed Feb 10, 2012
Showing with 9 additions and 7 deletions.
  1. +4 −2 src/proj_transform.cpp
  2. +5 −5 src/projection.cpp
View
@@ -102,7 +102,8 @@ bool proj_transform::forward (double * x, double * y , double * z, int point_cou
}
do {
-#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 480
+// https://github.com/mapnik/mapnik/issues/1072
+#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 470
mutex::scoped_lock lock(projection::mutex_);
#endif
if (pj_transform( source_.proj_, dest_.proj_, point_count,
@@ -153,7 +154,8 @@ bool proj_transform::backward (double * x, double * y , double * z, int point_co
}
do {
-#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 480
+// https://github.com/mapnik/mapnik/issues/1072
+#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 470
mutex::scoped_lock lock(projection::mutex_);
#endif
View
@@ -34,7 +34,7 @@
namespace mapnik {
-#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 480
+#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 470
boost::mutex projection::mutex_;
#endif
@@ -84,7 +84,7 @@ std::string const& projection::params() const
void projection::forward(double & x, double &y ) const
{
-#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 480
+#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 470
mutex::scoped_lock lock(mutex_);
#endif
projUV p;
@@ -102,7 +102,7 @@ void projection::forward(double & x, double &y ) const
void projection::inverse(double & x,double & y) const
{
-#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 480
+#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 470
mutex::scoped_lock lock(mutex_);
#endif
if (is_geographic_)
@@ -120,7 +120,7 @@ void projection::inverse(double & x,double & y) const
projection::~projection()
{
-#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 480
+#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 470
mutex::scoped_lock lock(mutex_);
#endif
if (proj_) pj_free(proj_);
@@ -131,7 +131,7 @@ projection::~projection()
void projection::init()
{
-#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 480
+#if defined(MAPNIK_THREADSAFE) && PJ_VERSION < 470
mutex::scoped_lock lock(mutex_);
#endif
#if PJ_VERSION >= 480

0 comments on commit 0748d2b

Please sign in to comment.