给memcached贡献了一行代码

曾经研究memcached的时候,发现它的状态机里有一个很隐蔽的逻辑bug,很难触发,就随手在issue里提了个bug

现在已经被合并到memcached主干上了

就是说在memcache.c的3857行,如果update_event()返回false并且 连接的bind event依旧是EV_READ

c->state将会是conn_closing 而且 stop的值将会是true

这时如果没有更多的数据从socket上传入,socket将永远不会被清理,造成泄漏

https://code.google.com/p/memcached/issues/detail?id=261&can=1&q=auxtenwpc%40gmail.com

https://github.com/memcached/memcached/commit/b2734f8321230bd52e36df7f82a6b1d71532e496

过了两年才有人鸟我,然后被合并到主干上了:-)

Reported by auxten…@gmail.com, Mar 17, 2012

Dec 8, 2013

Project Member #1 dorma…@rydia.net

Status: Fixed

https://code.google.com/p/memcached/issues/detail?id=261&can=1&q=auxtenwpc%40gmail.com

https://github.com/memcached/memcached/commit/b2734f8321230bd52e36df7f82a6b1d71532e496

欢迎加入运维开发技术分享QQ群:365534424;数百位业内高手和同行在等你交流
文章分类 后端, 运维开发
One comment on “给memcached贡献了一行代码
  1. f说道:

    谢谢你的付出

发表评论

电子邮件地址不会被公开。

在线交流

数百位业内高手和同行在等你交流
Reboot运维开发分享