hold regions_lock in alloc_aligned
This commit is contained in:
parent
bec20a39cf
commit
a13a45a17d
5
malloc.c
5
malloc.c
@ -790,10 +790,15 @@ static int alloc_aligned(void **memptr, size_t alignment, size_t size, size_t mi
|
|||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pthread_mutex_lock(®ions_lock);
|
||||||
if (regions_insert(p, size)) {
|
if (regions_insert(p, size)) {
|
||||||
|
pthread_mutex_unlock(®ions_lock);
|
||||||
deallocate_pages(p, size, PAGE_SIZE);
|
deallocate_pages(p, size, PAGE_SIZE);
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
}
|
}
|
||||||
|
pthread_mutex_unlock(®ions_lock);
|
||||||
|
|
||||||
*memptr = p;
|
*memptr = p;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user