Hi all, I am trying to understand the safety comment here:
In a multithreaded program, only [async-signal-safe](https://man7.org/linux/man-pages/man7/signal-safety.7.html) functions like `pause` and `_exit` may be called by the child (the parent isn’t restricted). Note that memory allocation may **not** be async-signal-safe and thus must be prevented.
I thought async signal safe referred to a function which can be called safely within a signal handler. But the child process is not being invoked within a signal handler right? Also, assuming the child process is not being invoked within a signal handler (I am not sure if that is even a meaningful statement), is it not enough for the child process's signal handler itself to be async signal safe?