Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3c071193
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3c071193
编写于
8月 07, 2023
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: memory leak
上级
7ae36630
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
9 deletion
+15
-9
source/dnode/vnode/src/tsdb/tsdbFS2.c
source/dnode/vnode/src/tsdb/tsdbFS2.c
+12
-6
source/dnode/vnode/src/tsdb/tsdbFS2.h
source/dnode/vnode/src/tsdb/tsdbFS2.h
+3
-3
未找到文件。
source/dnode/vnode/src/tsdb/tsdbFS2.c
浏览文件 @
3c071193
...
...
@@ -780,9 +780,12 @@ static int32_t tsdbFSRunBgTask(void *arg) {
return
0
;
}
static
int32_t
tsdbFSScheduleBgTaskImpl
(
STFileSystem
*
fs
,
EFSBgTaskT
type
,
int32_t
(
*
run
)(
void
*
),
void
(
*
free
)(
void
*
),
void
*
arg
,
int64_t
*
taskid
)
{
static
int32_t
tsdbFSScheduleBgTaskImpl
(
STFileSystem
*
fs
,
EFSBgTaskT
type
,
int32_t
(
*
run
)(
void
*
),
void
(
*
destroy
)(
void
*
),
void
*
arg
,
int64_t
*
taskid
)
{
if
(
fs
->
stop
)
{
if
(
destroy
)
{
destroy
(
arg
);
}
return
0
;
// TODO: use a better error code
}
...
...
@@ -793,6 +796,9 @@ static int32_t tsdbFSScheduleBgTaskImpl(STFileSystem *fs, EFSBgTaskT type, int32
for
(
STFSBgTask
*
task
=
fs
->
bgTaskQueue
->
next
;
task
!=
fs
->
bgTaskQueue
;
task
=
task
->
next
)
{
if
(
task
->
type
==
type
)
{
if
(
destroy
)
{
destroy
(
arg
);
}
return
0
;
}
}
...
...
@@ -804,7 +810,7 @@ static int32_t tsdbFSScheduleBgTaskImpl(STFileSystem *fs, EFSBgTaskT type, int32
task
->
type
=
type
;
task
->
run
=
run
;
task
->
free
=
free
;
task
->
destroy
=
destroy
;
task
->
arg
=
arg
;
task
->
scheduleTime
=
taosGetTimestampMs
();
task
->
taskid
=
++
fs
->
taskid
;
...
...
@@ -826,10 +832,10 @@ static int32_t tsdbFSScheduleBgTaskImpl(STFileSystem *fs, EFSBgTaskT type, int32
return
0
;
}
int32_t
tsdbFSScheduleBgTask
(
STFileSystem
*
fs
,
EFSBgTaskT
type
,
int32_t
(
*
run
)(
void
*
),
void
(
*
free
)(
void
*
),
void
*
arg
,
int64_t
*
taskid
)
{
int32_t
tsdbFSScheduleBgTask
(
STFileSystem
*
fs
,
EFSBgTaskT
type
,
int32_t
(
*
run
)(
void
*
),
void
(
*
destroy
)(
void
*
)
,
void
*
arg
,
int64_t
*
taskid
)
{
taosThreadMutexLock
(
fs
->
mutex
);
int32_t
code
=
tsdbFSScheduleBgTaskImpl
(
fs
,
type
,
run
,
free
,
arg
,
taskid
);
int32_t
code
=
tsdbFSScheduleBgTaskImpl
(
fs
,
type
,
run
,
destroy
,
arg
,
taskid
);
taosThreadMutexUnlock
(
fs
->
mutex
);
return
code
;
}
...
...
source/dnode/vnode/src/tsdb/tsdbFS2.h
浏览文件 @
3c071193
...
...
@@ -59,8 +59,8 @@ int32_t tsdbFSEditBegin(STFileSystem *fs, const TFileOpArray *opArray, EFEditT e
int32_t
tsdbFSEditCommit
(
STFileSystem
*
fs
);
int32_t
tsdbFSEditAbort
(
STFileSystem
*
fs
);
// background task
int32_t
tsdbFSScheduleBgTask
(
STFileSystem
*
fs
,
EFSBgTaskT
type
,
int32_t
(
*
run
)(
void
*
),
void
(
*
free
)(
void
*
),
void
*
arg
,
int64_t
*
taskid
);
int32_t
tsdbFSScheduleBgTask
(
STFileSystem
*
fs
,
EFSBgTaskT
type
,
int32_t
(
*
run
)(
void
*
),
void
(
*
destroy
)(
void
*
)
,
void
*
arg
,
int64_t
*
taskid
);
int32_t
tsdbFSWaitBgTask
(
STFileSystem
*
fs
,
int64_t
taskid
);
int32_t
tsdbFSWaitAllBgTask
(
STFileSystem
*
fs
);
int32_t
tsdbFSDisableBgTask
(
STFileSystem
*
fs
);
...
...
@@ -71,7 +71,7 @@ int32_t tsdbFSGetFSet(STFileSystem *fs, int32_t fid, STFileSet **fset);
struct
STFSBgTask
{
EFSBgTaskT
type
;
int32_t
(
*
run
)(
void
*
arg
);
void
(
*
free
)(
void
*
arg
);
void
(
*
destroy
)(
void
*
arg
);
void
*
arg
;
TdThreadCond
done
[
1
];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录