A signal handler should not reassert its desire to handle its own signal. This is often done on nonpersistent platforms—that is, platforms that, upon receiving a signal, reset the handler for the signal to a default value SIG_DFL before calling the bound signal handler. Calling signal()
under these conditions presents a race condition (see SIG01-C. Understand implementation-specific details regarding signal handler persistence).
...