# HG changeset patch # User Chris Cannam # Date 1568021017 -3600 # Node ID 762b79b49c312300fb0a7b3c778f8650ea042e3f # Parent e0ff22b3c888c17b9fd78ad22832a4e429262f91 Don't even ask to unload library if another plugin is loaded from it diff -r e0ff22b3c888 -r 762b79b49c31 src/vamp-hostsdk/PluginLoader.cpp --- a/src/vamp-hostsdk/PluginLoader.cpp Fri Aug 16 10:18:37 2019 +0100 +++ b/src/vamp-hostsdk/PluginLoader.cpp Mon Sep 09 10:23:37 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,