SL-3704 Plugin exit issues
parent
8bf2fb0621
commit
23591b8ab7
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -246,6 +246,7 @@ void MediaPluginCEF::onRequestExitCallback()
|
|||
LLPluginMessage message("base", "goodbye");
|
||||
sendMessage(message);
|
||||
|
||||
// Will trigger delete on next staticReceiveMessage()
|
||||
mDeleteMe = true;
|
||||
}
|
||||
|
||||
|
|
@ -442,9 +443,13 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
|
|||
}
|
||||
else if (message_name == "cleanup")
|
||||
{
|
||||
mVolumeCatcher.setVolume(0);
|
||||
mVolumeCatcher.setVolume(0); // Hack: masks CEF exit issues
|
||||
mCEFLib->requestExit();
|
||||
}
|
||||
else if (message_name == "force_exit")
|
||||
{
|
||||
mDeleteMe = true;
|
||||
}
|
||||
else if (message_name == "shm_added")
|
||||
{
|
||||
SharedSegmentInfo info;
|
||||
|
|
|
|||
|
|
@ -128,6 +128,10 @@ void mediaPluginExample::receiveMessage(const char* message_string)
|
|||
|
||||
mDeleteMe = true;
|
||||
}
|
||||
else if (message_name == "force_exit")
|
||||
{
|
||||
mDeleteMe = true;
|
||||
}
|
||||
else if (message_name == "shm_added")
|
||||
{
|
||||
SharedSegmentInfo info;
|
||||
|
|
|
|||
|
|
@ -495,6 +495,10 @@ void MediaPluginLibVLC::receiveMessage(const char* message_string)
|
|||
{
|
||||
resetVLC();
|
||||
}
|
||||
else if (message_name == "force_exit")
|
||||
{
|
||||
mDeleteMe = true;
|
||||
}
|
||||
else if (message_name == "shm_added")
|
||||
{
|
||||
SharedSegmentInfo info;
|
||||
|
|
|
|||
Loading…
Reference in New Issue