AsyncTransactionTrackersHolder::~AsyncTransactionTrackersHolder() { if (!mIsTrackersHolderDestroyed) { DestroyAsyncTransactionTrackersHolder(); } MOZ_COUNT_DTOR(AsyncTransactionTrackersHolder); }
void LayerTransactionChild::ActorDestroy(ActorDestroyReason why) { mDestroyed = true; DestroyAsyncTransactionTrackersHolder(); #ifdef MOZ_B2G // Due to poor lifetime management of gralloc (and possibly shmems) we will // crash at some point in the future when we get destroyed due to abnormal // shutdown. Its better just to crash here. On desktop though, we have a chance // of recovering. if (why == AbnormalShutdown) { NS_RUNTIMEABORT("ActorDestroy by IPC channel failure at LayerTransactionChild"); } #endif }
AsyncTransactionTrackersHolder::~AsyncTransactionTrackersHolder() { if (!mIsTrackersHolderDestroyed) { DestroyAsyncTransactionTrackersHolder(); } { if (sHolderLock) { sHolderLock->Lock(); } sTrackersHolders.erase(mSerial); if (sHolderLock) { sHolderLock->Unlock(); } } MOZ_COUNT_DTOR(AsyncTransactionTrackersHolder); }
void LayerTransactionParent::ActorDestroy(ActorDestroyReason why) { DestroyAsyncTransactionTrackersHolder(); }