equal
deleted
inserted
replaced
225 TLinAddr* expDir = (TLinAddr*)Kern::Alloc(exportDirSize); |
225 TLinAddr* expDir = (TLinAddr*)Kern::Alloc(exportDirSize); |
226 if(!expDir) |
226 if(!expDir) |
227 return KErrNoMemory; |
227 return KErrNoMemory; |
228 iCopyOfExportDir = expDir; |
228 iCopyOfExportDir = expDir; |
229 TLinAddr expDirLoad = iRamInfo.iExportDir-iRamInfo.iCodeRunAddr+iRamInfo.iCodeLoadAddr; |
229 TLinAddr expDirLoad = iRamInfo.iExportDir-iRamInfo.iCodeRunAddr+iRamInfo.iCodeLoadAddr; |
|
230 UNLOCK_USER_MEMORY(); |
230 memcpy(expDir,(TAny*)(expDirLoad-sizeof(TLinAddr)),exportDirSize); |
231 memcpy(expDir,(TAny*)(expDirLoad-sizeof(TLinAddr)),exportDirSize); |
|
232 LOCK_USER_MEMORY(); |
231 } |
233 } |
232 |
234 |
233 // unmap code from loading process... |
235 // unmap code from loading process... |
234 DMemModelProcess* pP=(DMemModelProcess*)TheCurrentThread->iOwningProcess; |
236 DMemModelProcess* pP=(DMemModelProcess*)TheCurrentThread->iOwningProcess; |
235 __ASSERT_ALWAYS(iCreator==pP, MM::Panic(MM::ECodeSegLoadedNotCreator)); |
237 __ASSERT_ALWAYS(iCreator==pP, MM::Panic(MM::ECodeSegLoadedNotCreator)); |