From: Ondrej Zajicek (work) Date: Tue, 8 Feb 2022 21:42:00 +0000 (+0100) Subject: Alloc: Use posix_memalign() instead of aligned_alloc() X-Git-Tag: v2.0.9~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2fc8b4c4bac576427b0054a13cc78e395b93d6c4;p=thirdparty%2Fbird.git Alloc: Use posix_memalign() instead of aligned_alloc() For compatibility with older systems use posix_memalign(). We can switch to aligned_alloc() when we commit to C11 for multithreading. --- diff --git a/sysdep/unix/alloc.c b/sysdep/unix/alloc.c index 5dd70c990..0e944d57f 100644 --- a/sysdep/unix/alloc.c +++ b/sysdep/unix/alloc.c @@ -72,16 +72,17 @@ alloc_page(void) { void *ret = mmap(NULL, get_page_size(), PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (ret == MAP_FAILED) - bug("mmap(%lu) failed: %m", page_size); + bug("mmap(%lu) failed: %m", (long unsigned int) page_size); return ret; } else #endif { - void *ret = aligned_alloc(page_size, page_size); - if (!ret) - bug("aligned_alloc(%lu) failed", page_size); - return ret; + void *ptr = NULL; + int err = posix_memalign(&ptr, page_size, page_size); + if (err || !ptr) + bug("posix_memalign(%lu) failed", (long unsigned int) page_size); + return ptr; } }