Difference between raise(SIGABRT) and abort() methods

c, c++, posix, sigabrt

Solution

The main difference it that `abort()` even ends the process if `SIGABRT` is ignored.

Verbatim from `man abort`:

If the SIGABRT signal is ignored, or caught by a handler that returns, the abort() function will still terminate the process. It does this by restoring the default disposition for SIGABRT and then raising the signal for a second time.

Problem

I know that both `raise(SIGABRT)` and `abort()` methods will send a SIGABRT signal to itself. But there are some difference between those 2 functions. (e.g - `abort()` function unblocks the SIGABRT signal where as `raise(SIGABRT)` does not.) What are the other differences between `raise(SIGABRT)` and `abort()` methods

Original source