Permalink
Browse files

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

  • Loading branch information...
1 parent 90fccfe commit 150c9f819ad188ed91dec24a47a3c30daf25d17b 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
@@ -101,7 +101,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,
@@ -152,7 +153,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 150c9f8

Please sign in to comment.