关于can't identify protocol问题

昨天跑一个deamon,是关于mongo的操作,使用的是php的mongo模块, mongo-1.1.4; 发现出现了 too many open files的情况, 使用lsof查看了一下进程的情况,出现了很多 sock类型的资源,都是 can’t identify protocol 。

例如:
lijunjie   3074 web    3u  sock    0,4      0t0  45174 can’t identify protocol

看了一下mongo-1.1.4的源代码,发现在函数php_mongo_connect_nonb(…)中,socket产生的fd,在connect(或因别的错误)出错时,直接return false; 没有close, 所以才出现这种情况。

先修改了一下代码,然后再给官方提个bug吧

按说socket产生的时候都已经指定了sock类型的,所以似乎不需要显示成“can’t identify protocol”

相关资料:http://kasicass.blog.163.com/blog/static/3956192010101994124701/

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据