Is there any interest in making malloc-family calls optionally signal-safe? Specifically, for work, in 9.1, I added a way for userland to cause malloc-family calls to sigprocmask(SIG_BLOCK) with an application-specified signal mask before starting (and sigprocmask(SIG_SETMASK) to restore the mask before returning).
Obviously, two syscalls per call is a price. But for some use cases it may be worth it. And if the application doesn't request it, the only cost is a variable test and conditional branch, twice per call. The source-code cost is 84 added lines in external/bsd/jemalloc/dist/src/jemalloc.c and 31 added lines in lib/libc/stdlib/jemalloc.c - the latter may be unneessary. The namespace-pollution cost is two globally visible functions in libc, which my implementation calls malloc_set_signalmask and malloc_no_signalmask. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML [email protected] / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
