如何知道 sigsetjmp 或 siglongjmp 是否失败

How to know if sigsetjmp or siglongjmp fail?

本文关键字:是否 失败 siglongjmp 何知道 sigsetjmp      更新时间:2023-10-16

这些函数的返回值并不意味着它们是否成功。 有没有办法知道?

sigsetjmp不会失败 - 它只是将调用者的上下文存储到提供的缓冲区中。

siglongjmp 不会返回,因此无法通过返回值指示失败。在调用缓冲区之前,必须确保缓冲区有效。

在C++中,通常不能使用这些函数;如果调用堆栈上有任何自动对象具有非平凡析构函数,则调用longjmp给出未定义的行为,并且对setjmp的匹配调用。