Index: Modules/_ctypes/malloc_closure.c =================================================================== --- Modules/_ctypes/malloc_closure.c (revision 65680) +++ Modules/_ctypes/malloc_closure.c (working copy) @@ -68,12 +68,28 @@ if (item == NULL) return; #else +#ifdef MAP_ANONYMOUS item = (ITEM *)mmap(NULL, count * sizeof(ITEM), PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); +#else + { + /* SVR4 method to map anonymous memory is to open /dev/zero */ + int fd = open("/dev/zero", O_RDWR); + if (fd == -1) + return; + item = (ITEM *)mmap(NULL, + count * sizeof(ITEM), + PROT_READ | PROT_WRITE | PROT_EXEC, + MAP_PRIVATE, + fd, + 0); + close(fd); + } +#endif if (item == (void *)MAP_FAILED) return; #endif