Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
421efe36
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看板
提交
421efe36
编写于
6月 28, 2022
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix rpc quit problem
上级
3bb68c78
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
3 addition
and
14 deletion
+3
-14
source/libs/transport/src/transSvr.c
source/libs/transport/src/transSvr.c
+3
-14
未找到文件。
source/libs/transport/src/transSvr.c
浏览文件 @
421efe36
...
...
@@ -332,19 +332,10 @@ void uvOnTimeoutCb(uv_timer_t* handle) {
void
uvOnSendCb
(
uv_write_t
*
req
,
int
status
)
{
SSvrConn
*
conn
=
req
->
data
;
// transClearBuffer(&conn->readBuf);
if
(
status
==
0
)
{
tTrace
(
"conn %p data already was written on stream"
,
conn
);
if
(
!
transQueueEmpty
(
&
conn
->
srvMsgs
))
{
SSvrMsg
*
msg
=
transQueuePop
(
&
conn
->
srvMsgs
);
// if (msg->type == Release && conn->status != ConnNormal) {
// conn->status = ConnNormal;
// transUnrefSrvHandle(conn);
// reallocConnRef(conn);
// destroySmsg(msg);
// transQueueClear(&conn->srvMsgs);
// return;
//}
destroySmsg
(
msg
);
// send second data, just use for push
if
(
!
transQueueEmpty
(
&
conn
->
srvMsgs
))
{
...
...
@@ -370,6 +361,7 @@ void uvOnSendCb(uv_write_t* req, int status) {
}
}
}
transUnrefSrvHandle
(
conn
);
}
else
{
tError
(
"conn %p failed to write data, %s"
,
conn
,
uv_err_name
(
status
));
conn
->
broken
=
true
;
...
...
@@ -439,7 +431,7 @@ static void uvStartSendRespInternal(SSvrMsg* smsg) {
uv_buf_t
wb
;
uvPrepareSendData
(
smsg
,
&
wb
);
// uv_timer_stop(&pConn->pTimer
);
transRefSrvHandle
(
pConn
);
uv_write
(
&
pConn
->
pWriter
,
(
uv_stream_t
*
)
pConn
->
pTcp
,
&
wb
,
1
,
uvOnSendCb
);
}
static
void
uvStartSendResp
(
SSvrMsg
*
smsg
)
{
...
...
@@ -780,12 +772,9 @@ static void destroyConn(SSvrConn* conn, bool clear) {
transDestroyBuffer
(
&
conn
->
readBuf
);
if
(
clear
)
{
if
(
uv_is_active
((
uv_handle_t
*
)
conn
->
pTcp
))
{
if
(
!
uv_is_closing
((
uv_handle_t
*
)
conn
->
pTcp
))
{
tTrace
(
"conn %p to be destroyed"
,
conn
);
// uv_shutdown_t* req = taosMemoryMalloc(sizeof(uv_shutdown_t));
uv_close
((
uv_handle_t
*
)
conn
->
pTcp
,
uvDestroyConn
);
// uv_close(conn->pTcp)
// uv_shutdown(req, (uv_stream_t*)conn->pTcp, uvShutDownCb);
}
else
{
uvDestroyConn
((
uv_handle_t
*
)
conn
->
pTcp
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录