| #
d6f78684 |
| 04-Jul-2023 |
riastradh <riastradh@NetBSD.org> |
libbsdmalloc: Provide all allocator front ends and fork hooks.
Front ends:
- aligned_alloc - calloc - posix_memalign
Fork hooks:
- _malloc_prefork - _malloc_postfork - _malloc_postfork_child
Oth
libbsdmalloc: Provide all allocator front ends and fork hooks.
Front ends:
- aligned_alloc - calloc - posix_memalign
Fork hooks:
- _malloc_prefork - _malloc_postfork - _malloc_postfork_child
Otherwise these will pull in the jemalloc definitions from libc, which (a) defeats the purpose, and (b) won't work correctly with fork and threads.
Thanks to kre@ and the thread on tech-userlevel for pointing me in the right direction to making this actually work to override jemalloc:
https://mail-index.netbsd.org/tech-userlevel/2023/06/30/msg013957.html
Note: libbsdmalloc doesn't set errno=ENOMEM on malloc failure, but these front ends do (even aligned_alloc, which is from C11, which doesn't define ENOMEM at all, but this pacifies our aligned_alloc tests in t_posix_memalign.c). Might want to fix that.
XXX pullup-10
show more ...
|