Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f6555efd
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
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看板
未验证
提交
f6555efd
编写于
8月 22, 2022
作者:
S
Shengliang Guan
提交者:
GitHub
8月 22, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #16290 from taosdata/fix/TD-17791
fix(query): fix pthread_create memleak in when shell exit
上级
e3e9b580
7119aa2e
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
16 addition
and
5 deletion
+16
-5
tools/shell/inc/shellInt.h
tools/shell/inc/shellInt.h
+1
-0
tools/shell/src/shellEngine.c
tools/shell/src/shellEngine.c
+12
-3
tools/shell/src/shellMain.c
tools/shell/src/shellMain.c
+2
-1
tools/shell/src/shellUtil.c
tools/shell/src/shellUtil.c
+1
-1
未找到文件。
tools/shell/inc/shellInt.h
浏览文件 @
f6555efd
...
...
@@ -95,6 +95,7 @@ typedef struct {
TAOS
*
conn
;
TdThread
pid
;
tsem_t
cancelSem
;
bool
exit
;
#ifdef WEBSOCKET
WS_TAOS
*
ws_conn
;
bool
stop_query
;
...
...
tools/shell/src/shellEngine.c
浏览文件 @
f6555efd
...
...
@@ -948,6 +948,10 @@ void shellCleanup(void *arg) { taosResetTerminalMode(); }
void
*
shellCancelHandler
(
void
*
arg
)
{
setThreadName
(
"shellCancelHandler"
);
while
(
1
)
{
if
(
shell
.
exit
==
true
)
{
break
;
}
if
(
tsem_wait
(
&
shell
.
cancelSem
)
!=
0
)
{
taosMsleep
(
10
);
continue
;
...
...
@@ -1079,7 +1083,12 @@ int32_t shellExecute() {
taosThreadCreate
(
&
shell
.
pid
,
NULL
,
shellThreadLoop
,
NULL
);
taosThreadJoin
(
shell
.
pid
,
NULL
);
taosThreadClear
(
&
shell
.
pid
);
if
(
shell
.
exit
)
{
tsem_post
(
&
shell
.
cancelSem
);
break
;
}
}
taosThreadJoin
(
spid
,
NULL
);
shellCleanupHistory
();
return
0
;
...
...
tools/shell/src/shellMain.c
浏览文件 @
f6555efd
...
...
@@ -19,6 +19,7 @@
SShellObj
shell
=
{
0
};
int
main
(
int
argc
,
char
*
argv
[])
{
shell
.
exit
=
false
;
#ifdef WEBSOCKET
shell
.
args
.
timeout
=
10
;
shell
.
args
.
cloud
=
true
;
...
...
tools/shell/src/shellUtil.c
浏览文件 @
f6555efd
...
...
@@ -157,6 +157,6 @@ void shellExit() {
taos_close
(
shell
.
conn
);
shell
.
conn
=
NULL
;
}
shell
.
exit
=
true
;
taos_cleanup
();
exit
(
EXIT_FAILURE
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录