void OMX::invalidateNodeID(node_id node) { ALOGV("%s(%d) try mLock", __FUNCTION__, __LINE__); Mutex::Autolock autoLock(mLock); ALOGV("%s(%d) get mLock", __FUNCTION__, __LINE__); invalidateNodeID_l(node); ALOGV("%s(%d) free mLock", __FUNCTION__, __LINE__); }
void OMX::binderDied(const wp<IBinder> &the_late_who) { OMXNodeInstance *instance; { Mutex::Autolock autoLock(mLock); ssize_t index = mLiveNodes.indexOfKey(the_late_who); CHECK(index >= 0); instance = mLiveNodes.editValueAt(index); mLiveNodes.removeItemsAt(index); invalidateNodeID_l(instance->nodeID()); } instance->onObserverDied(mMaster); }
void OMX::binderDied(const wp<IBinder> &the_late_who) { OMXNodeInstance *instance; { ALOGV("%s(%d) try mLock", __FUNCTION__, __LINE__); Mutex::Autolock autoLock(mLock); ALOGV("%s(%d) get mLock", __FUNCTION__, __LINE__); ssize_t index = mLiveNodes.indexOfKey(the_late_who); CHECK(index >= 0); instance = mLiveNodes.editValueAt(index); mLiveNodes.removeItemsAt(index); index = mDispatchers.indexOfKey(instance->nodeID()); CHECK(index >= 0); mDispatchers.removeItemsAt(index); invalidateNodeID_l(instance->nodeID()); ALOGV("%s(%d) free mLock", __FUNCTION__, __LINE__); } instance->onObserverDied(mMaster); }
void OMX::invalidateNodeID(node_id node) { Mutex::Autolock autoLock(mLock); invalidateNodeID_l(node); }