From e54040d5408070a071c0a98390e06ecfd9f5ef10 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Sun, 12 Jul 2020 11:53:46 +0000 Subject: [PATCH] core: use lazy on-demand initialization for param_traceEnable --- modules/core/src/trace.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/core/src/trace.cpp b/modules/core/src/trace.cpp index 4245ab2080..c316737b13 100644 --- a/modules/core/src/trace.cpp +++ b/modules/core/src/trace.cpp @@ -72,9 +72,13 @@ static int64 getTimestamp() return (int64)((t - g_zero_timestamp) * tick_to_ns); } -// TODO lazy configuration flags -static bool param_traceEnable = utils::getConfigurationParameterBool("OPENCV_TRACE", false); +static bool getParameterTraceEnable() +{ + static bool param_traceEnable = utils::getConfigurationParameterBool("OPENCV_TRACE", false); + return param_traceEnable; +} +// TODO lazy configuration flags static int param_maxRegionDepthOpenCV = (int)utils::getConfigurationParameterSizeT("OPENCV_TRACE_DEPTH_OPENCV", 1); static int param_maxRegionChildrenOpenCV = (int)utils::getConfigurationParameterSizeT("OPENCV_TRACE_MAX_CHILDREN_OPENCV", 1000); static int param_maxRegionChildren = (int)utils::getConfigurationParameterSizeT("OPENCV_TRACE_MAX_CHILDREN", 10000); @@ -841,7 +845,7 @@ TraceManager::TraceManager() CV_LOG("TraceManager ctor: " << (void*)this); CV_LOG("TraceManager configure()"); - activated = param_traceEnable; + activated = getParameterTraceEnable(); if (activated) trace_storage.reset(new SyncTraceStorage(std::string(param_traceLocation) + ".txt"));