Alex Peshkoff wrote 13.04.2026 8:38:
> Another place where ... is not rethrown is
> PluginManager::registerPluginFactory() which is called from
> FB_PLUGIN_ENTRY_POINT and here such catch probably makes sense to avoid crossing
> module boundary.
This is Linux-specific exception and it is supposed to safely cross library
boundaries being thrown from GLIBC and caught in GLIBC as well. This is a safe
case because intermediate stack frames from other libraries are unwinded in bunch.
> May be simply fix one place?
I think every such place can be fixed by adding
#ifdef PTHREAL_CANCEL
catch (abi::__forced_unwind)
{
<whatever (...) below does useful>
throw;
}
#endif
Except Interface.h where autoconf-generated macros cannot be used.
--
WBR, SD.