From f43dd8a9dac8f68acf552f84e33b76858dca052d Mon Sep 17 00:00:00 2001 From: Oliver Kowalke Date: Sat, 3 Oct 2015 09:06:06 +0200 Subject: [PATCH] comments --- src/execution_context.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/execution_context.cpp b/src/execution_context.cpp index d98c73b..80bff36 100644 --- a/src/execution_context.cpp +++ b/src/execution_context.cpp @@ -24,8 +24,10 @@ thread_local detail::activation_record::ptr_t detail::activation_record::current_rec; +// zero-initialization thread_local static std::size_t counter; +// schwarz counter activation_record_initializer::activation_record_initializer() { if ( 0 == counter++) { activation_record::current_rec.reset( new activation_record() ); @@ -42,6 +44,7 @@ activation_record_initializer::~activation_record_initializer() { execution_context execution_context::current() noexcept { + // initialized the first time control passes; per thread thread_local static detail::activation_record_initializer initializer; return execution_context(); }