Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
阿啄debugIT
libfastcommon
提交
2e85b7ad
L
libfastcommon
项目概览
阿啄debugIT
/
libfastcommon
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libfastcommon
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2e85b7ad
编写于
10月 29, 2020
作者:
Y
YuQing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add functions: fc_timedwait_xxx
上级
1ac8c8f3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
31 addition
and
0 deletion
+31
-0
src/pthread_func.h
src/pthread_func.h
+31
-0
未找到文件。
src/pthread_func.h
浏览文件 @
2e85b7ad
...
...
@@ -23,6 +23,7 @@
#include <sys/time.h>
#include <sys/resource.h>
#include "common_define.h"
#include "sched_thread.h"
#ifdef __cplusplus
extern
"C"
{
...
...
@@ -60,6 +61,36 @@ void destroy_pthread_lock_cond_pair(pthread_lock_cond_pair_t *lcp);
} while (0)
#define lcp_timedwait_sec(lcp, timeout) \
fc_timedwait_sec(&(lcp)->lock, &(lcp)->cond, timeout)
#define lcp_timedwait_ms(lcp, timeout_ms) \
fc_timedwait_ms(&(lcp)->lock, &(lcp)->cond, timeout_ms)
static
inline
void
fc_timedwait_sec
(
pthread_mutex_t
*
lock
,
pthread_cond_t
*
cond
,
const
int
timeout
)
{
struct
timespec
ts
;
PTHREAD_MUTEX_LOCK
(
lock
);
ts
.
tv_sec
=
get_current_time
()
+
timeout
;
ts
.
tv_nsec
=
0
;
pthread_cond_timedwait
(
cond
,
lock
,
&
ts
);
PTHREAD_MUTEX_UNLOCK
(
lock
);
}
static
inline
void
fc_timedwait_ms
(
pthread_mutex_t
*
lock
,
pthread_cond_t
*
cond
,
const
int
timeout_ms
)
{
struct
timespec
ts
;
PTHREAD_MUTEX_LOCK
(
lock
);
ts
.
tv_sec
=
get_current_time
()
+
timeout_ms
/
1000
;
ts
.
tv_nsec
=
(
timeout_ms
%
1000
)
*
(
1000
*
1000
);
pthread_cond_timedwait
(
cond
,
lock
,
&
ts
);
PTHREAD_MUTEX_UNLOCK
(
lock
);
}
int
create_work_threads
(
int
*
count
,
void
*
(
*
start_func
)(
void
*
),
void
**
args
,
pthread_t
*
tids
,
const
int
stack_size
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录