Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
15e62130
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看板
提交
15e62130
编写于
9月 13, 2021
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-5992}<fix>:optimize
上级
3110aac5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
9 deletion
+4
-9
src/client/src/tscSystem.c
src/client/src/tscSystem.c
+4
-9
未找到文件。
src/client/src/tscSystem.c
浏览文件 @
15e62130
...
@@ -50,6 +50,7 @@ int tscLogFileNum = 10;
...
@@ -50,6 +50,7 @@ int tscLogFileNum = 10;
static
pthread_mutex_t
rpcObjMutex
;
// mutex to protect open the rpc obj concurrently
static
pthread_mutex_t
rpcObjMutex
;
// mutex to protect open the rpc obj concurrently
static
pthread_once_t
tscinit
=
PTHREAD_ONCE_INIT
;
static
pthread_once_t
tscinit
=
PTHREAD_ONCE_INIT
;
static
pthread_mutex_t
setConfMutex
=
PTHREAD_MUTEX_INITIALIZER
;
// pthread_once can not return result code, so result code is set to a global variable.
// pthread_once can not return result code, so result code is set to a global variable.
static
volatile
int
tscInitRes
=
0
;
static
volatile
int
tscInitRes
=
0
;
...
@@ -249,6 +250,7 @@ void taos_cleanup(void) {
...
@@ -249,6 +250,7 @@ void taos_cleanup(void) {
pthread_mutex_destroy
(
&
rpcObjMutex
);
pthread_mutex_destroy
(
&
rpcObjMutex
);
}
}
pthread_mutex_destroy
(
&
setConfMutex
);
taosCacheCleanup
(
tscVgroupListBuf
);
taosCacheCleanup
(
tscVgroupListBuf
);
tscVgroupListBuf
=
NULL
;
tscVgroupListBuf
=
NULL
;
...
@@ -495,15 +497,8 @@ static setConfRet taos_set_config_imp(const char *config){
...
@@ -495,15 +497,8 @@ static setConfRet taos_set_config_imp(const char *config){
}
}
setConfRet
taos_set_config
(
const
char
*
config
){
setConfRet
taos_set_config
(
const
char
*
config
){
static
int32_t
lock
=
0
;
pthread_mutex_lock
(
&
setConfMutex
);
for
(
int
i
=
1
;
atomic_val_compare_exchange_32
(
&
lock
,
0
,
1
)
!=
0
;
++
i
)
{
if
(
i
%
1000
==
0
)
{
printf
(
"haven't acquire lock after spin %d times."
,
i
);
sched_yield
();
}
}
setConfRet
ret
=
taos_set_config_imp
(
config
);
setConfRet
ret
=
taos_set_config_imp
(
config
);
atomic_store_32
(
&
lock
,
0
);
pthread_mutex_unlock
(
&
setConfMutex
);
return
ret
;
return
ret
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录