[Tile-serving] [osm2pgsql] Replace pthread and boost::thread with std::async (#498)

alex85k notifications at github.com
Tue Nov 10 08:30:00 UTC 2015


Checked the cmake scripts and dll dependencies - all seems to be correct, /MD or /MDd flags are used in geos and osm2pgsql  (multi-threaded runtime with thread-safe malloc). Tried older Geos 3.4.2 from git and also geos from https://github.com/mapbox/windows-builds (built without cmake, release build).

C++ geos seems to be not thread-safe, only the C functions have _r variants. Are there any converter objects that we are using together from multiple threads?

I thought it may be cross-thread stack access problems https://software.intel.com/en-us/node/595554 but the stack variables we pass by references seem to be created in same thread we use it: https://github.com/openstreetmap/osm2pgsql/blob/70b27884eabbdf43ccaf71d4a92d1daa5e30556f/output-pgsql.cpp#L309  

Will try to run at work under Intel Inspector. It should tell if there are any thread-related problems left.


---
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/osm2pgsql/pull/498#issuecomment-155357227
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/tile-serving/attachments/20151110/2df48bbc/attachment.html>


More information about the Tile-serving mailing list