修正连接销毁时没有关闭FD的问题。
* 原实现在连接销毁时,将关闭FD的操作放入的assert中,导致优化编译时,关闭FD的语句没有编译; * 现修正,将关闭FD的语句从assert中移出。
This commit is contained in:
@@ -401,6 +401,7 @@ evutil_socket_t __conn_private_release_fd(struct tfe_conn_private * conn)
|
|||||||
|
|
||||||
static void __conn_private_destory(struct tfe_conn_private * conn)
|
static void __conn_private_destory(struct tfe_conn_private * conn)
|
||||||
{
|
{
|
||||||
|
int ret = 0;
|
||||||
if (conn->bev)
|
if (conn->bev)
|
||||||
{
|
{
|
||||||
bufferevent_disable(conn->bev, EV_READ | EV_WRITE);
|
bufferevent_disable(conn->bev, EV_READ | EV_WRITE);
|
||||||
@@ -415,10 +416,12 @@ static void __conn_private_destory(struct tfe_conn_private * conn)
|
|||||||
|
|
||||||
if (conn->fd > 0)
|
if (conn->fd > 0)
|
||||||
{
|
{
|
||||||
assert(evutil_closesocket(conn->fd) >= 0);
|
ret = evutil_closesocket(conn->fd);
|
||||||
|
assert(ret >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(conn);
|
free(conn);
|
||||||
|
(void)ret;
|
||||||
TFE_PROXY_STAT_INCREASE(STAT_FD_INSTANT_CLOSE, 1);
|
TFE_PROXY_STAT_INCREASE(STAT_FD_INSTANT_CLOSE, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user