我正在使用 Libxml2 读取/写入 XML 文件。为了在加载 XML 时捕获 libxml 错误,我正在使用 xmlSetGenericErrorFunc。
void Myclass::load(const std::string &filename)
{
xmlGenericErrorFunc handler = (xmlGenericErrorFunc) catchErrors;
xmlSetGenericErrorFunc(this, handler); //context pointer, error handler
}
重置上下文和错误处理程序可以如下完成。
xmlSetGenericErrorFunc(NULL, NULL);
我的包装库被许多进程使用。Libxml2 是一个 .so 文件。
如果我在错误处理程序中使用上下文指针,如果某个进程在没有重置上下文指针的情况下死亡并且在其他进程中发生解析错误,是否会有崩溃的可能性?libxml 可以使用死指针调用错误回调吗?
任何帮助,将不胜感激。谢谢你。