http_server中客户端关闭连接的问题

通过httpserver启动服务后进行压测,发现有一定几率报以下错误

[2017-02-13 17:53:58 *29711.7] ERROR swReactor_onWrite(:444): reactor->del(30) failed. Error: No such file or directory[2]. [2017-02-13 17:53:58 *29711.7] ERROR swReactorEpoll_del(:157): epoll remove fd[32#0] failed. Error: No such file or directory[2].

swoole版本是1.9.5。

经过查看源代码发现报错的函数分别是 ReactorEpoll.c的swReactorEpoll_del函数和 ReactorBase.c的swReactor_onWrite函数

具体问题代码如下: ret = epoll_ctl(object->epfd, EPOLL_CTL_DEL, fd, NULL); if (ret < 0) { swError(SW_TRACE_EVENT, "epoll remove fd[%d#%d] failed.", fd, reactor->id); return SW_ERR; }

就是在epoll删除一个fd的时候由于fd本身已经不存在引起的。

这里有没有方案可以解决这种情况报错的问题。

2017-02-15 16:33
0

要回复问题请先登录注册