void GlobalTrackCacheResolver::initTrackIdAndUnlockCache(TrackId trackId) { DEBUG_ASSERT(m_pInstance); DEBUG_ASSERT(GlobalTrackCacheLookupResult::NONE != m_lookupResult); DEBUG_ASSERT(m_strongPtr); DEBUG_ASSERT(trackId.isValid()); if (m_trackRef.getId().isValid()) { // Ignore initializing the same id twice DEBUG_ASSERT(m_trackRef.getId() == trackId); } else { m_trackRef = m_pInstance->initTrackId( m_strongPtr, m_trackRef, trackId); DEBUG_ASSERT(m_trackRef.getId() == trackId); } unlockCache(); DEBUG_ASSERT(m_trackRef == createTrackRef(*m_strongPtr)); }
~CacheLock () { unlockCache (); }
GlobalTrackCacheLocker::~GlobalTrackCacheLocker() { unlockCache(); }