用了一段时间发现有内存泄漏
,现象是每一次get都会有20byte的内存泄漏。
查了一下代码,发现了泄漏点
以 r28版为例,
在magent.c文件的 1595行, b = buffer_init_size(len + 3);
分配了一个buffer
但在1733行 ,退出了函数,虽然1732行有conn_close(c);
但因为1595分配的buffer 还没有加入到c->request(这个加入
动作要到1745行完成),
所以1732行的conn_close(c)并没有释放1595行分配的buffer
另外,在使用中发现,因为mamagent没有考虑超过机制,memagent在��
�台memcached突然死掉的情况下,会造成
memagent长久等待,这样所有的客户端都会卡死,造成整个web前
台死掉,这是很难让人接受的,我对代码临时加了
一些超时机制,但无法保证都加对了,我并在附件中了,因��
�联系不上作者,如果作者有兴趣,请联系我
gnujava[at]gmail.com
Original issue reported on code.google.com by
gnuj...@gmail.comon 18 May 2010 at 12:43Attachments: