如果在tsan中出现:
ThreadSanitizer: signal-unsafe call inside of a signal (pid=149999)
这一类warrning,那么大概率你是犯了下面的错。
https://man7.org/linux/man-pages/man7/signal-safety.7.html
https://owasp.org/www-community/vulnerabilities/Unsafe_function_call_from_a_signal_handler
下面的signal handler比如是一个pthread_once().
An async-signal-safe function is one that can be safely called
from within a signal handler. Many functions are not async-
signal-safe. In particular, nonreentrant functions are generally
unsafe to call from a signal handler.
The kinds of issues that render a function unsafe can be quickly
understood when one considers the implementation of the stdio
library, all of whose functions are not async-signal-safe.
When performing buffered I/O on a file, the stdio functions must
maintain a statically allocated data buffer along with associated
counters and indexes (or pointers) that record t