1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-05 16:31:47 +02:00

libmain: Make the entire stack overflow handler pluggable

This commit is contained in:
Robert Hensing 2022-10-14 12:37:34 +02:00
parent 0d75675787
commit ab4eb39386
2 changed files with 12 additions and 11 deletions

View file

@ -113,14 +113,15 @@ struct PrintFreed
/* Install a SIGSEGV handler to detect stack overflows. */
void detectStackOverflow();
/* Pluggable behavior to run before _exit(1) in case of a stack overflow.
/* Pluggable behavior to run in case of a stack overflow.
Default value: do nothing, return immediately.
Default value: defaultStackOverflowHandler.
This is called by the handler installed by detectStackOverflow().
This gives Nix library consumers a limit opportunity to report the error
condition.
condition. The handler should exit the process.
See defaultStackOverflowHandler() for a reference implementation.
NOTE: Use with diligence, because this runs in the signal handler, with very
limited stack space and a potentially a corrupted heap, all while the failed