mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-01 23:18:21 +00:00
vmm: fix request edge case in multithreaded applications
This commit is contained in:
@@ -684,6 +684,11 @@ bool vmm_dealwithrequest(void* addr, long error, bool user){
|
|||||||
|
|
||||||
addr = (size_t)addr & ~(0xFFF);
|
addr = (size_t)addr & ~(0xFFF);
|
||||||
|
|
||||||
|
// check if it was already mapped by another thread in the time
|
||||||
|
// it took to go from interrupt to lock acquire
|
||||||
|
|
||||||
|
if(arch_mmu_ismapped(cls->context->context, addr))
|
||||||
|
goto done;
|
||||||
|
|
||||||
cls_t* cls = arch_getcls();
|
cls_t* cls = arch_getcls();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user