bugprone-signal-handler¶
Finds functions registered as signal handlers that call non asynchronous-safe functions. Any function that cannot be determined to be an asynchronous-safe function call is assumed to be non-asynchronous-safe by the checker, including user functions for which only the declaration is visible. User function calls with visible definition are checked recursively. The check handles only C code.
The minimal list of asynchronous-safe system functions is:
abort()
, _Exit()
, quick_exit()
and signal()
(for signal
there are additional conditions that are not checked).
The check accepts only these calls as asynchronous-safe.
This check corresponds to the CERT C Coding Standard rule SIG30-C. Call only asynchronous-safe functions within signal handlers.