Update mca_mpool_base_alloc to use malloc instead of posix_memalign for alignment requests of <= sizeof(void *). This works around issue #4564.
Signed-off-by: Ben Menadue <ben.menadue@nci.org.au>
Этот коммит содержится в:
родитель
2c86b8723d
Коммит
db3e25edad
@ -31,7 +31,11 @@ static void *mca_mpool_default_alloc (mca_mpool_base_module_t *mpool, size_t siz
|
||||
#if HAVE_POSIX_MEMALIGN
|
||||
void *addr = NULL;
|
||||
|
||||
(void) posix_memalign (&addr, align, size);
|
||||
if (align <= sizeof(void *)) {
|
||||
addr = malloc (size);
|
||||
} else {
|
||||
(void) posix_memalign (&addr, align, size);
|
||||
}
|
||||
return addr;
|
||||
#else
|
||||
void *addr, *ret;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user