-
Type: Improvement
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Internal Code
-
Service Arch
-
Service Arch 2023-02-20
SERVER-44570 added code to quickExit() [*] to call checkForTripwireAssertions(), which checks the tripwire atomic int and logs if it's non-zero. However, some signal handling code in util/signal_handlers_synchronous.cpp calls quickExit(). Therefore, if any of the code in checkForTripwireAssertions() isn't safe to call in a signal handler, then it should either be made safe, or if this isn't possible, then the signal handling code should instead call quickExitWithoutLogging().
[*]: Technically, it added code to the callers of quickExit(), by renaming the original quickExit() to quickExitWithoutLogging(), and making a new inline quickExit() that calls quickExitWithoutLogging().
- related to
-
SERVER-44570 Create a non process-fatal variant of invariant()
- Closed