「view this page in B3 βῆτα server」

Revisions №59480

branch: master 「№59480」
Commited by: Rocco Moretti
GitHub commit link: 「9608ce8d1469f2d4」 「№2263」
Difference from previous tested commit:  code diff
Commit date: 2017-05-16 14:28:51

Merge pull request #2263 from RosettaCommons/roccomoretti/tracer_threaded_init_fiasco Attempt to fix static initialization order fiasco in threaded basic::Tracer Seth Cooper pointed out on the FoldIt mailing list that there's a potential static initialization order fiasco issue with tracer_static_data_mutex -- It's used by the constructors of static objects (Tracers) in different translation units, and it isn't well defined by the C++ standard if the mutex will be valid when the Tracer constructor runs. It's a simple enough fix to convert this to a construct-on-first-use style access, which should solve the fiasco in a threadsafe manner for C++11.

...