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

Revisions №59872

branch: master 「№59872」
Commited by: Rocco Moretti
GitHub commit link: 「174064d29df073f7」 「№2668」
Difference from previous tested commit:  code diff
Commit date: 2017-11-16 12:42:02

Merge pull request #2668 from RosettaCommons/roccomoretti/first_use_tracer_2 Change how we do `thread_local` tracers Having a large number of static thread_local Tracer objects causes issues with stack usage with multithreading. This PR separates the static portion of Tracers from the main, thread_local, part (now called TracerImpl), and adds a behind-the-scenes construct-on-first-use linkage between the two. **What does this mean for the average Rosetta Developer?** Not much. I attempted to make this invisible to normal Tracer use. The only change for most people is now you need to omit the THREAD_LOCAL from the Tracer definition. (You'll likely you'll get a compiler error if you forget, and there's also an integration test to check.)