SA_ONSTACK在sigaction中有什么用?

前端之家收集整理的这篇文章主要介绍了SA_ONSTACK在sigaction中有什么用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
传递信号时,信号处理程序在进程的堆栈上执行.
如果在sigaction()中使用SA_ONSTACK,则使用不同的堆栈.

使用不同堆栈有什么用?任何用例示例?

解决方法

备用堆栈的一个用途是尝试正确处理SIGSEGV.

如果您的进程刚刚收到SIGSEGV,因为它超出了堆栈限制,则无法在进程堆栈上运行信号处理程序 – 它已经已满.在这种情况下,拥有一个备用堆栈允许您(小心地)运行一些或多或少的正常关闭.

猜你在找的C&C++相关文章