这些函数的返回值并不代表它们是否成功。有办法知道吗?
最佳答案
sigsetjmp
不会失败 - 它只是将调用者的上下文存储到提供的缓冲区中。
siglongjmp
不返回,因此无法通过返回值指示失败。在调用之前必须确保缓冲区有效。
在C++中,你通常不能使用这些函数;如果在调用堆栈和匹配的 setjmp
调用之间存在任何具有非平凡析构函数的自动对象,则调用 longjmp
会产生未定义的行为。
关于c++ - 如何知道 sigsetjmp 或 siglongjmp 是否失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10193889/