...
If the signal occurs as the result of calling the
abort
orraise
function, the signal handler shall not call theraise
function.
(See also undefined behavior 131 in Annex J.)
OpenBSD
The OpenBSD signal()
man page identifies functions that are asynchronous-signal safe. Applications may consequently invoke them, without restriction, from a signal handler.
...