summaryrefslogtreecommitdiff
path: root/implementation/plugin/src/plugin_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/plugin/src/plugin_manager.cpp')
-rw-r--r--implementation/plugin/src/plugin_manager.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/implementation/plugin/src/plugin_manager.cpp b/implementation/plugin/src/plugin_manager.cpp
index e922fd6..3b9b3f7 100644
--- a/implementation/plugin/src/plugin_manager.cpp
+++ b/implementation/plugin/src/plugin_manager.cpp
@@ -62,7 +62,7 @@ void plugin_manager::load_plugins() {
}
}
- std::lock_guard<std::mutex> its_lock_start_stop(plugins_mutex_);
+ std::lock_guard<std::recursive_mutex> its_lock_start_stop(plugins_mutex_);
// Load plug-in info from libraries parsed before
for (auto plugin_name : plugins) {
void* handle = load_library(plugin_name);
@@ -105,7 +105,7 @@ void plugin_manager::load_plugins() {
}
std::shared_ptr<plugin> plugin_manager::get_plugin(plugin_type_e _type, std::string _name) {
- std::lock_guard<std::mutex> its_lock_start_stop(plugins_mutex_);
+ std::lock_guard<std::recursive_mutex> its_lock_start_stop(plugins_mutex_);
auto its_type = plugins_.find(_type);
if (its_type != plugins_.end()) {
auto its_name = its_type->second.find(_name);
@@ -142,7 +142,7 @@ std::shared_ptr<plugin> plugin_manager::load_plugin(const std::string _library,
}
bool plugin_manager::unload_plugin(plugin_type_e _type) {
- std::lock_guard<std::mutex> its_lock_start_stop(plugins_mutex_);
+ std::lock_guard<std::recursive_mutex> its_lock_start_stop(plugins_mutex_);
const auto found_handle = handles_.find(_type);
if (found_handle != handles_.end()) {
for (auto its_name : found_handle->second) {