__try / __最终在UNIX中等效

时间:2012-10-21 20:18:17

标签: c unix exception-handling

我有一个主要用C编写的库,它的某些部分应该是线程安全的,我使用全局自旋锁来保护代码的关键部分。

现在我的问题是:
我应该从一个受自旋锁保护的关键部分内部调用一些用户回调,并且如果这些回调生成异常,在Windows上我有一个_ 尝试/ _最终在C中能够即使发生错误也要离开临界区。我也可以在UNIX上完成这个吗?

1 个答案:

答案 0 :(得分:1)

这称为结构化异常处理。可以使用setjmplongjmp来完成。它已经在C中使用了很长时间。有关详细信息,请参阅此处:http://www.freetype.org/david/reliable-c.html