Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c56b0e0b
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c56b0e0b
编写于
5月 13, 2022
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(rpc): avoid fd leak
上级
d0fe68b0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
19 deletion
+19
-19
source/libs/transport/src/transSrv.c
source/libs/transport/src/transSrv.c
+19
-19
未找到文件。
source/libs/transport/src/transSrv.c
浏览文件 @
c56b0e0b
...
...
@@ -167,25 +167,25 @@ static void* transAcceptThread(void* arg);
static
bool
addHandleToWorkloop
(
SWorkThrdObj
*
pThrd
,
char
*
pipeName
);
static
bool
addHandleToAcceptloop
(
void
*
arg
);
#define CONN_SHOULD_RELEASE(conn, head) \
do { \
if ((head)->release == 1 && (head->msgLen) == sizeof(*head)
) {
\
conn->status = ConnRelease;
\
trans
ClearBuffer(&conn->readBuf);
\
t
ransFreeMsg(transContFromHead((char*)head));
\
tTrace("server conn %p received release request", conn);
\
\
S
TransMsg tmsg = {.code = 0, .handle = (void*)conn, .ahandle = NULL};
\
SSrvMsg* srvMsg = taosMemoryCalloc(1, sizeof(SSrvMsg));
\
srvMsg->
msg = tmsg;
\
srvMsg->
type = Release;
\
srvMsg->pConn = conn;
\
if (!transQueuePush(&conn->srvMsgs, srvMsg)) { \
return; \
} \
uvStartSendRespInternal(srvMsg); \
return; \
} \
#define CONN_SHOULD_RELEASE(conn, head)
\
do {
\
if ((head)->release == 1 && (head->msgLen) == sizeof(*head)
&& conn->status == ConnAcquire) {
\
transClearBuffer(&conn->readBuf);
\
trans
FreeMsg(transContFromHead((char*)head));
\
t
Trace("server conn %p received release request", conn);
\
\
STransMsg tmsg = {.code = 0, .handle = (void*)conn, .ahandle = NULL};
\
S
SrvMsg* srvMsg = taosMemoryCalloc(1, sizeof(SSrvMsg));
\
srvMsg->msg = tmsg;
\
srvMsg->
type = Release;
\
srvMsg->
pConn = conn;
\
reallocConnRefHandle(conn);
\
if (!transQueuePush(&conn->srvMsgs, srvMsg)) {
\
return;
\
}
\
uvStartSendRespInternal(srvMsg);
\
return;
\
}
\
} while (0)
#define SRV_RELEASE_UV(loop) \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录