Bug #17665 ยป not-use-mmap-on-cygwin.patch
| gc.c | ||
|---|---|---|
| #elif defined _WIN32 | ||
| void *_aligned_malloc(size_t, size_t); | ||
| res = _aligned_malloc(size, alignment); | ||
| #elif defined(HAVE_MMAP) | ||
| #elif defined(HAVE_MMAP) && !defined(__CYGWIN__) | ||
| GC_ASSERT(alignment % sysconf(_SC_PAGE_SIZE) == 0); | ||
| char *ptr = mmap(NULL, alignment + size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); | ||
| ... | ... | |
| __mingw_aligned_free(ptr); | ||
| #elif defined _WIN32 | ||
| _aligned_free(ptr); | ||
| #elif defined HAVE_MMAP | ||
| #elif defined HAVE_MMAP && !defined(__CYGWIN__) | ||
| GC_ASSERT(size % sysconf(_SC_PAGE_SIZE) == 0); | ||
| if (munmap(ptr, size)) { | ||
| rb_bug("rb_aligned_free: munmap failed"); | ||