Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
天中雨水
rt-thread
提交
3dc188fb
R
rt-thread
项目概览
天中雨水
/
rt-thread
该项目与 Fork 源项目分叉
Fork自
RT-Thread / rt-thread
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
3dc188fb
编写于
8月 24, 2021
作者:
B
Bernard Xiong
提交者:
GitHub
8月 24, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4943 from chenyingchun0312/develop
【doc】add the comments of device-ipc completion
上级
97346435
39689ea5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
0 deletion
+27
-0
components/drivers/src/completion.c
components/drivers/src/completion.c
+27
-0
未找到文件。
components/drivers/src/completion.c
浏览文件 @
3dc188fb
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
* Change Logs:
* Change Logs:
* Date Author Notes
* Date Author Notes
* 2012-09-30 Bernard first version.
* 2012-09-30 Bernard first version.
* 2021-08-18 chenyingchun add comments
*/
*/
#include <rthw.h>
#include <rthw.h>
...
@@ -15,6 +16,11 @@
...
@@ -15,6 +16,11 @@
#define RT_COMPLETED 1
#define RT_COMPLETED 1
#define RT_UNCOMPLETED 0
#define RT_UNCOMPLETED 0
/**
* @brief This function will initialize a completion object.
*
* @param completion is a pointer to a completion object.
*/
void
rt_completion_init
(
struct
rt_completion
*
completion
)
void
rt_completion_init
(
struct
rt_completion
*
completion
)
{
{
rt_base_t
level
;
rt_base_t
level
;
...
@@ -27,6 +33,22 @@ void rt_completion_init(struct rt_completion *completion)
...
@@ -27,6 +33,22 @@ void rt_completion_init(struct rt_completion *completion)
}
}
RTM_EXPORT
(
rt_completion_init
);
RTM_EXPORT
(
rt_completion_init
);
/**
* @brief This function will wait for a completion, if the completion is unavailable, the thread shall wait for
* the completion up to a specified time.
*
* @param completion is a pointer to a completion object.
*
* @param timeout is a timeout period (unit: OS ticks). If the completion is unavailable, the thread will wait for
* the completion done up to the amount of time specified by the argument.
* NOTE: Generally, we use the macro RT_WAITING_FOREVER to set this parameter, which means that when the
* completion is unavailable, the thread will be waitting forever.
*
* @return Return the operation status. ONLY when the return value is RT_EOK, the operation is successful.
* If the return value is any other values, it means that the completion wait failed.
*
* @warning This function can ONLY be called in the thread context. It MUST NOT be called in interrupt context.
*/
rt_err_t
rt_completion_wait
(
struct
rt_completion
*
completion
,
rt_err_t
rt_completion_wait
(
struct
rt_completion
*
completion
,
rt_int32_t
timeout
)
rt_int32_t
timeout
)
{
{
...
@@ -94,6 +116,11 @@ __exit:
...
@@ -94,6 +116,11 @@ __exit:
}
}
RTM_EXPORT
(
rt_completion_wait
);
RTM_EXPORT
(
rt_completion_wait
);
/**
* @brief This function indicates a completion has done.
*
* @param completion is a pointer to a completion object.
*/
void
rt_completion_done
(
struct
rt_completion
*
completion
)
void
rt_completion_done
(
struct
rt_completion
*
completion
)
{
{
rt_base_t
level
;
rt_base_t
level
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录