diff options
author | andreykproductengine <andreykproductengine@lindenlab.com> | 2019-07-01 17:28:58 +0300 |
---|---|---|
committer | andreykproductengine <andreykproductengine@lindenlab.com> | 2019-07-01 17:28:58 +0300 |
commit | 23591b8ab7917a239daa055dc862728fa8a911de (patch) | |
tree | cad4df5b106d898a42d1053ef7c4f74fe679a86c /indra/llplugin/llpluginprocesschild.cpp | |
parent | 8bf2fb06218f24f95a7ff53df33b647b4ec088fc (diff) |
SL-3704 Plugin exit issues
Diffstat (limited to 'indra/llplugin/llpluginprocesschild.cpp')
-rw-r--r-- | indra/llplugin/llpluginprocesschild.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp index e24d222cb6..8fb3054eac 100644 --- a/indra/llplugin/llpluginprocesschild.cpp +++ b/indra/llplugin/llpluginprocesschild.cpp @@ -33,7 +33,7 @@ #include "llpluginmessagepipe.h" #include "llpluginmessageclasses.h" -static const F32 GOODBYE_SECONDS = 20.0f; +static const F32 GOODBYE_SECONDS = 12.0f; // Do not set it to be bigger than mPluginLockupTimeout or parent will kill LLPluginProcessChild static const F32 HEARTBEAT_SECONDS = 1.0f; static const F32 PLUGIN_IDLE_SECONDS = 1.0f / 100.0f; // Each call to idle will give the plugin this much time. @@ -218,6 +218,11 @@ void LLPluginProcessChild::idle(void) if (mWaitGoodbye.hasExpired()) { LL_WARNS() << "Wait for goodbye expired. Advancing to UNLOADED" << LL_ENDL; + if (mInstance != NULL) + { + // Something went wrong, at least make sure plugin will terminate + sendMessageToPlugin(LLPluginMessage("base", "force_exit")); + } setState(STATE_UNLOADED); } break; |