bug 529005: detect child process shutdowns vs. crashes, and expose this information to IPDL actors in a new |ActorDestroy(why)| interface. also ensure that subprotocol actors are notified of shutdown and cleaned up properly. r=bsmedberg r=bent

This commit is contained in:
Chris Jones
2009-12-03 02:16:28 -06:00
parent 18ab400406
commit 2a7a132a2b
36 changed files with 1143 additions and 206 deletions

View File

@@ -473,9 +473,12 @@ PluginModuleParent::NP_Shutdown(NPError* error)
{
_MOZ_LOG(__FUNCTION__);
// FIXME/cjones: should all sub-actors be dead by now?
bool ok = CallNP_Shutdown(error);
// if NP_Shutdown() is nested within another RPC call, this will
// break things. but lord help us if we're doing that anyway; the
// plugin dso will have been unloaded on the other side by the
// CallNP_Shutdown() message
Close();
return ok ? NS_OK : NS_ERROR_FAILURE;