--- a/Modules/_ctypes/malloc_closure.c +++ b/Modules/_ctypes/malloc_closure.c @@ -75,7 +75,18 @@ static void more_core(void) -1, 0); if (item == (void *)MAP_FAILED) - return; + if (errno != EPERM) + return; + else { + item = (ITEM *)mmap(NULL, + count * sizeof(ITEM), + PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, + -1, + 0); + if (item == (void *)MAP_FAILED; + return; + } #endif #ifdef MALLOC_CLOSURE_DEBUG