xmlCleanupParser()内存丢失?

时间:2013-08-24 09:43:27

标签: c libxml2

来自非常好的libxml2的xmlCleanupParser()不是线程安全的,我的问题是(我无法检查出来),xmlParseFile()丢失了多少内存(粗略数字)并且 - 更重要的是 - 这种记忆损失累积了多次调用xPF()

2 个答案:

答案 0 :(得分:3)

尽管如此,malloc()free()或任何内存处理实现在C< C< 11,总是存在共享/全局内存的问题。

,只要它们是只读的,不同线程中同一文件的文件句柄就不那么糟糕了。

但是,从libxml2 2.4.7开始,您可以在API级别启用线程安全性,对于每个文档的单个线程:http://www.xmlsoft.org/threads.html

当我查看libxml2 2.9.1的来源时,我很肯定线程安全已经完全实现,尽管有全局互斥,但也有一个原子分配函数。

下载: ftp://xmlsoft.org/libxml2/

答案 1 :(得分:1)

根据意义事项给出的建议,并使用唯一的工具,我在OS2(这个古老的旧IBM操作系统)下找到了检查内存,在使用xCP()或使用xCP()之间的内存损失没有区别选择不(对我而言)。