mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 11:40:44 +08:00
dnn: prevent unloading of InferenceEngine plugins
This commit is contained in:
parent
16d8e9e0c8
commit
6670e6b0bb
@ -563,11 +563,45 @@ static std::map<std::string, InferenceEngine::InferenceEnginePluginPtr>& getShar
|
||||
return sharedPlugins;
|
||||
}
|
||||
#else
|
||||
InferenceEngine::Core& getCore()
|
||||
static bool init_IE_plugins()
|
||||
{
|
||||
// load and hold IE plugins
|
||||
static InferenceEngine::Core* init_core = new InferenceEngine::Core(); // 'delete' is never called
|
||||
(void)init_core->GetAvailableDevices();
|
||||
return true;
|
||||
}
|
||||
static InferenceEngine::Core& create_IE_Core_instance()
|
||||
{
|
||||
static InferenceEngine::Core core;
|
||||
return core;
|
||||
}
|
||||
static InferenceEngine::Core& create_IE_Core_pointer()
|
||||
{
|
||||
// load and hold IE plugins
|
||||
static InferenceEngine::Core* core = new InferenceEngine::Core(); // 'delete' is never called
|
||||
return *core;
|
||||
}
|
||||
InferenceEngine::Core& getCore()
|
||||
{
|
||||
// to make happy memory leak tools use:
|
||||
// - OPENCV_DNN_INFERENCE_ENGINE_HOLD_PLUGINS=0
|
||||
// - OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND=0
|
||||
static bool param_DNN_INFERENCE_ENGINE_HOLD_PLUGINS = utils::getConfigurationParameterBool("OPENCV_DNN_INFERENCE_ENGINE_HOLD_PLUGINS", true);
|
||||
static bool init_IE_plugins_ = param_DNN_INFERENCE_ENGINE_HOLD_PLUGINS && init_IE_plugins(); CV_UNUSED(init_IE_plugins_);
|
||||
|
||||
static bool param_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND =
|
||||
utils::getConfigurationParameterBool("OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND",
|
||||
#ifdef _WIN32
|
||||
true
|
||||
#else
|
||||
false
|
||||
#endif
|
||||
);
|
||||
static InferenceEngine::Core& core = param_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND
|
||||
? create_IE_Core_pointer()
|
||||
: create_IE_Core_instance();
|
||||
return core;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !defined(OPENCV_DNN_IE_VPU_TYPE_DEFAULT)
|
||||
|
Loading…
Reference in New Issue
Block a user