kernel/eka/memmodel/epoc/flexible/mmu/mobject.cpp
branchRCL_3
changeset 20 597aaf25e343
parent 19 4a8fed1c0ef6
child 41 0ffb4e86fcc9
equal deleted inserted replaced
19:4a8fed1c0ef6 20:597aaf25e343
   585 	}
   585 	}
   586 
   586 
   587 
   587 
   588 void DCoarseMemory::DPageTables::AsyncClose()
   588 void DCoarseMemory::DPageTables::AsyncClose()
   589 	{
   589 	{
   590 	__NK_ASSERT_DEBUG(CheckAsyncCloseIsSafe());
   590 	__ASSERT_CRITICAL
       
   591 #ifdef _DEBUG
       
   592 	NFastMutex* fm = NKern::HeldFastMutex();
       
   593 	if(fm)
       
   594 		{
       
   595 		Kern::Printf("DCoarseMemory::DPageTables::[0x%08x]::AsyncClose() fast mutex violation %M",this,fm);
       
   596 		__NK_ASSERT_DEBUG(0);
       
   597 		}
       
   598 #endif
       
   599 
   591 	MmuLock::Lock();
   600 	MmuLock::Lock();
   592 	if (__e32_atomic_tas_ord32(&iReferenceCount, 1, -1, 0) != 1)
   601 	if (__e32_atomic_tas_ord32(&iReferenceCount, 1, -1, 0) != 1)
   593 		{
   602 		{
   594 		MmuLock::Unlock();
   603 		MmuLock::Unlock();
   595 		return;
   604 		return;