Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
seo young Joung
opencv
Commits
4de7015c
Commit
4de7015c
authored
5 years ago
by
Alexander Alekhin
Browse files
Options
Download
Email Patches
Plain Diff
dnn: prevent unloading of InferenceEngine plugins
parent
d42d34e2
4.2.0-openvino
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
modules/dnn/src/op_inf_engine.cpp
+35
-1
modules/dnn/src/op_inf_engine.cpp
with
35 additions
and
1 deletion
+35
-1
modules/dnn/src/op_inf_engine.cpp
View file @
4de7015c
...
...
@@ -564,11 +564,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)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help