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

Reply via email to