Flush asynchronous queries before OnPluginEnd().

This commit is contained in:
David Anderson 2015-11-01 00:36:20 -07:00
parent c849616003
commit 1f4be9798e
2 changed files with 3 additions and 5 deletions

View File

@ -693,7 +693,7 @@ void DBManager::OnSourceModIdentityDropped(IdentityToken_t *pToken)
s_pAddBlock = NULL; s_pAddBlock = NULL;
} }
void DBManager::OnPluginUnloaded(IPlugin *plugin) void DBManager::OnPluginWillUnload(IPlugin *plugin)
{ {
/* Kill the thread so we can flush everything into the think queue... */ /* Kill the thread so we can flush everything into the think queue... */
KillWorkerThread(); KillWorkerThread();
@ -719,9 +719,7 @@ void DBManager::OnPluginUnloaded(IPlugin *plugin)
} }
} }
for (iter = templist.begin(); for (iter = templist.begin(); iter != templist.end(); iter++)
iter != templist.end();
iter++)
{ {
IDBThreadOperation *op = (*iter); IDBThreadOperation *op = (*iter);
op->RunThinkPart(); op->RunThinkPart();

View File

@ -101,7 +101,7 @@ public: //ke::IRunnable
void Run(); void Run();
void ThreadMain(); void ThreadMain();
public: //IPluginsListener public: //IPluginsListener
void OnPluginUnloaded(IPlugin *plugin); void OnPluginWillUnload(IPlugin *plugin);
public: public:
ConfDbInfo *GetDatabaseConf(const char *name); ConfDbInfo *GetDatabaseConf(const char *name);
IDBDriver *FindOrLoadDriver(const char *name); IDBDriver *FindOrLoadDriver(const char *name);