最近项目中使用libuv,在某种异常情况下,发现出现大量的close_wait状态,通过日志发现调用uv_tcp_connect时,报ECANCELED:operation canceled错误,这时没有处理这种异常,导致服务端超时主动将tcp连接断开,应用程序没有处理这种异常,去关闭socket,导致程序出现大量的close_wait。
另外可以参照github上关于uv ECANCELED的讨论,连接地址如下:
最近项目中使用libuv,在某种异常情况下,发现出现大量的close_wait状态,通过日志发现调用uv_tcp_connect时,报ECANCELED:operation canceled错误,这时没有处理这种异常,导致服务端超时主动将tcp连接断开,应用程序没有处理这种异常,去关闭socket,导致程序出现大量的close_wait。
另外可以参照github上关于uv ECANCELED的讨论,连接地址如下: