Separate plugin unloading into an eviction step, which disconnects the plugin from Core.

Note: this also ensures that library action callbacks are balanced (i.e., we do not notify
libraries are being dropped if they were never notified as being added).
This commit is contained in:
David Anderson
2015-10-31 17:25:59 -07:00
parent 82ff7d5af7
commit 7cc911ae58
2 changed files with 32 additions and 27 deletions
+3
View File
@@ -248,6 +248,7 @@ private:
PluginStatus m_status;
bool m_WaitingToUnload;
bool m_AddedLibraries;
// Statuses that are set during failure.
bool m_SilentFailure;
@@ -461,6 +462,8 @@ private:
bool ScheduleUnload(CPlugin *plugin);
void UnloadPluginImpl(CPlugin *plugin);
void Purge(CPlugin *plugin);
public:
inline IdentityToken_t *GetIdentity()
{