Difference between raise(SIGABRT) and abort() methods

只愿长相守 提交于 2019-12-04 04:42:12

问题


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


回答1:


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.



来源:https://stackoverflow.com/questions/20212927/difference-between-raisesigabrt-and-abort-methods

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!