kernel/eka/memmodel/epoc/flexible/mmu/mcodepaging.cpp
changeset 109 b3a1d9898418
parent 102 ef2a444a7410
child 201 43365a9b78a3
equal deleted inserted replaced
102:ef2a444a7410 109:b3a1d9898418
   129 	for(i=0; i<KMaxLocalDrives; ++i)
   129 	for(i=0; i<KMaxLocalDrives; ++i)
   130 		if(aDevice->iDrivesSupported&(1<<i))
   130 		if(aDevice->iDrivesSupported&(1<<i))
   131 			{
   131 			{
   132 			TRACEB(("DCodePagedMemoryManager::InstallPagingDevice drive=%d",i));
   132 			TRACEB(("DCodePagedMemoryManager::InstallPagingDevice drive=%d",i));
   133 			TAny* null = 0;
   133 			TAny* null = 0;
       
   134 			if(aDevice->iType & DPagingDevice::EMediaExtension)
       
   135 				__e32_atomic_store_ord_ptr(&iDevice[i], null);
   134 			if(!__e32_atomic_cas_ord_ptr(&iDevice[i], &null, aDevice)) // set iDevice[i]=aDevice if it was originally 0
   136 			if(!__e32_atomic_cas_ord_ptr(&iDevice[i], &null, aDevice)) // set iDevice[i]=aDevice if it was originally 0
   135 				{
   137 				{
   136 				// paging device already registered...
   138 				// paging device already registered...
   137 				TRACEB(("DCodePagedMemoryManager::InstallPagingDevice returns ALREADY EXISTS!"));
   139 				TRACEB(("DCodePagedMemoryManager::InstallPagingDevice returns ALREADY EXISTS!"));
   138 				return KErrAlreadyExists;
   140 				return KErrAlreadyExists;