Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e4e544d2
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看板
未验证
提交
e4e544d2
编写于
10月 29, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
10月 29, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4035 from taosdata/feature/race
link list bug
上级
d4d13305
c90ec0d7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
7 deletion
+13
-7
src/rpc/src/rpcMain.c
src/rpc/src/rpcMain.c
+6
-1
src/util/src/tref.c
src/util/src/tref.c
+7
-6
未找到文件。
src/rpc/src/rpcMain.c
浏览文件 @
e4e544d2
...
...
@@ -215,6 +215,11 @@ static void rpcUnlockConn(SRpcConn *pConn);
static
void
rpcAddRef
(
SRpcInfo
*
pRpc
);
static
void
rpcDecRef
(
SRpcInfo
*
pRpc
);
static
void
rpcFree
(
void
*
p
)
{
tTrace
(
"free mem: %p"
,
p
);
free
(
p
);
}
static
void
rpcInit
(
void
)
{
tsProgressTimer
=
tsRpcTimer
/
2
;
...
...
@@ -222,7 +227,7 @@ static void rpcInit(void) {
tsRpcHeadSize
=
RPC_MSG_OVERHEAD
;
tsRpcOverhead
=
sizeof
(
SRpcReqContext
);
tsRpcRefId
=
taosOpenRef
(
200
,
f
ree
);
tsRpcRefId
=
taosOpenRef
(
200
,
rpcF
ree
);
}
void
*
rpcOpen
(
const
SRpcInit
*
pInit
)
{
...
...
src/util/src/tref.c
浏览文件 @
e4e544d2
...
...
@@ -159,8 +159,8 @@ int taosAddRef(int refId, void *p)
taosLockList
(
pSet
->
lockedBy
+
hash
);
pNode
=
pSet
->
nodeList
[
hash
];
while
(
pNode
)
{
if
(
pNode
->
p
==
p
)
while
(
pNode
)
{
if
(
pNode
->
p
==
p
)
break
;
pNode
=
pNode
->
next
;
...
...
@@ -176,8 +176,9 @@ int taosAddRef(int refId, void *p)
pNode
->
count
=
1
;
pNode
->
prev
=
0
;
pNode
->
next
=
pSet
->
nodeList
[
hash
];
if
(
pSet
->
nodeList
[
hash
])
pSet
->
nodeList
[
hash
]
->
prev
=
pNode
;
pSet
->
nodeList
[
hash
]
=
pNode
;
uTrace
(
"refId:%d p:%p is added, count:
:%d"
,
refId
,
p
,
pSet
->
count
);
uTrace
(
"refId:%d p:%p is added, count:
%d malloc mem: %p"
,
refId
,
p
,
pSet
->
count
,
pNode
);
}
else
{
code
=
TSDB_CODE_REF_NO_MEMORY
;
uTrace
(
"refId:%d p:%p is not added, since no memory"
,
refId
,
p
);
...
...
@@ -197,7 +198,7 @@ int taosAcquireRef(int refId, void *p)
SRefNode
*
pNode
;
SRefSet
*
pSet
;
if
(
refId
<
0
||
refId
>=
TSDB_REF_OBJECTS
)
{
if
(
refId
<
0
||
refId
>=
TSDB_REF_OBJECTS
)
{
uTrace
(
"refId:%d p:%p failed to acquire, refId not valid"
,
refId
,
p
);
return
TSDB_CODE_REF_INVALID_ID
;
}
...
...
@@ -267,7 +268,7 @@ void taosReleaseRef(int refId, void *p)
pNode
=
pSet
->
nodeList
[
hash
];
while
(
pNode
)
{
if
(
pNode
->
p
==
p
)
if
(
pNode
->
p
==
p
)
break
;
pNode
=
pNode
->
next
;
...
...
@@ -291,7 +292,7 @@ void taosReleaseRef(int refId, void *p)
free
(
pNode
);
released
=
1
;
uTrace
(
"refId:%d p:%p is removed, count:
:%d"
,
refId
,
p
,
pSet
->
count
);
uTrace
(
"refId:%d p:%p is removed, count:
%d, free mem: %p"
,
refId
,
p
,
pSet
->
count
,
pNode
);
}
else
{
uTrace
(
"refId:%d p:%p is released"
,
refId
,
p
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录