Mercurial > hg > vamp-plugin-sdk
diff src/vamp-hostsdk/PluginLoader.cpp @ 532:569fc23fa37a
Merge from branch c++11-mutex
author | Chris Cannam |
---|---|
date | Tue, 22 Oct 2019 12:23:53 +0100 |
parents | 762b79b49c31 |
children |
line wrap: on
line diff
--- a/src/vamp-hostsdk/PluginLoader.cpp Wed Aug 14 14:58:04 2019 +0100 +++ b/src/vamp-hostsdk/PluginLoader.cpp Tue Oct 22 12:23:53 2019 +0100 @@ -567,8 +567,18 @@ PluginLoader::Impl::pluginDeleted(PluginDeletionNotifyAdapter *adapter) { void *handle = m_pluginLibraryHandleMap[adapter]; - if (handle) Files::unloadLibrary(handle); + if (!handle) return; + m_pluginLibraryHandleMap.erase(adapter); + + for (auto h: m_pluginLibraryHandleMap) { + if (h.second == handle) { + // still in use + return; + } + } + + Files::unloadLibrary(handle); } PluginLoader::Impl::PluginDeletionNotifyAdapter::PluginDeletionNotifyAdapter(Plugin *plugin,