一直以为Ace 的Proactor框架是高效和稳定的,但在这几天的测试中,发现Proactor框架竟然有内存泄露问题,而且它本身自带的示例程序以及tests中的次序也是一样.我用的是ACE5.4的版本.今天有时间进行了一些测试,最后发现,仅仅运行proactor_run_event_loop()以及proactor_end_event_loop()的时候,调试的输出并没有检查到内存泄露,这让我又增加了些信心,进一步深入发现只要ACE_Asynch_Acceptor的子类进行Open操作,就必然有内存泄露,跟踪到源代码, 发现竟然是ACE_Asynch_Acceptor的实现有问题,在它的析构函数中没有对已经创建的Socket句柄进行close操作,确切的说,是已经实现了,但代码却被注释掉,不知道什么原因,而ACE5.6中的实现已经解决了类似的问题!
ACE Proactor内存泄露问题1
最新推荐文章于 2015-10-20 12:12:08 发布