__try / __最终在UNIX中等效

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

现在我的问题是:
我应该从一个受自旋锁保护的关键部分内部调用一些用户回调,如果那些回调生成exception,在Windows上我有一个_ try / _finally在C中,即使在离开临界区时也是如此发生错误。 我也可以在UNIX上完成这个吗?

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