XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_task_manager.c 文件参考
#include "xf_task_kernel_config.h"
#include "../port/xf_task_port_internal.h"
#include "xf_task_manager.h"
#include "xf_task_base.h"
#include "xf_utils.h"
xf_task_manager.c 的引用(Include)关系图:

浏览源代码.

结构体

struct  _xf_task_manager_handle_t
 

宏定义

#define TAG   "manager"
 

类型定义

typedef struct _xf_task_manager_handle_t xf_task_manager_handle_t
 

函数

static void xf_task_run (xf_task_base_t *task)
 
static void xf_task_update_timeout (xf_task_base_t *task)
 
xf_task_manager_t xf_task_manager_create (xf_task_on_idle_t on_idle)
 创建任务管理器。
 
xf_err_t xf_task_manager_set_idle (xf_task_manager_t manager, xf_task_on_idle_t on_idle)
 设置 manager 的空闲回调函数
 
void xf_task_manager_delete (xf_task_manager_t manager)
 
void xf_task_manager_run (xf_task_manager_t manager)
 开始启动任务管理器调度任务。
 
xf_task_t xf_task_manager_get_current_task (xf_task_manager_t manager)
 获取管理器运行的任务。
 
xf_err_t xf_task_manager_task_ready (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为就绪。
 
xf_err_t xf_task_manager_task_suspend (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为挂起。
 
xf_err_t xf_task_manager_task_destory (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为销毁。
 
xf_err_t xf_task_manager_task_blocked (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为阻塞。
 
xf_task_context_txf_task_manager_get_context (xf_task_manager_t manager)
 
xf_err_t xf_task_set_urgent_task_with_manager (xf_task_manager_t manager, xf_task_t task, bool force)
 将任务设置为紧急任务,下次调度立即执行。
 

详细描述

作者
cangyu (sky.k.nosp@m.irto.nosp@m.@qq.c.nosp@m.om)
版本
0.1
日期
2024-02-29

在文件 xf_task_manager.c 中定义.

宏定义说明

◆ TAG

#define TAG   "manager"

在文件 xf_task_manager.c22 行定义.

类型定义说明

◆ xf_task_manager_handle_t

函数说明

◆ xf_task_run()

static void xf_task_run ( xf_task_base_t task)
inlinestatic

在文件 xf_task_manager.c296 行定义.

◆ xf_task_update_timeout()

static void xf_task_update_timeout ( xf_task_base_t task)
inlinestatic

在文件 xf_task_manager.c318 行定义.

◆ xf_task_manager_create()

xf_task_manager_t xf_task_manager_create ( xf_task_on_idle_t  on_idle)

创建任务管理器。

参数
on_idle空闲回调函数。
返回
xf_task_manager_t 任务管理器对象

在文件 xf_task_manager.c53 行定义.

◆ xf_task_manager_set_idle()

xf_err_t xf_task_manager_set_idle ( xf_task_manager_t  manager,
xf_task_on_idle_t  on_idle 
)

设置 manager 的空闲回调函数

参数
manager任务管理器对象
on_idle空闲任务函数
返回
xf_err_t
  • XF_OK 设置成功
  • XF_ERR_INVALID_ARG 参数错误

在文件 xf_task_manager.c75 行定义.

◆ xf_task_manager_delete()

void xf_task_manager_delete ( xf_task_manager_t  manager)

在文件 xf_task_manager.c85 行定义.

◆ xf_task_manager_run()

void xf_task_manager_run ( xf_task_manager_t  manager)

开始启动任务管理器调度任务。

参数
manager任务管理器对象。

在文件 xf_task_manager.c91 行定义.

◆ xf_task_manager_get_current_task()

xf_task_t xf_task_manager_get_current_task ( xf_task_manager_t  manager)

获取管理器运行的任务。

参数
manager任务管理器对象。
返回
xf_task_t 正在运行的任务对象,返回 NULL 则表示获取失败

在文件 xf_task_manager.c195 行定义.

◆ xf_task_manager_task_ready()

xf_err_t xf_task_manager_task_ready ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为就绪。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务就绪成功

在文件 xf_task_manager.c204 行定义.

◆ xf_task_manager_task_suspend()

xf_err_t xf_task_manager_task_suspend ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为挂起。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务挂起成功

在文件 xf_task_manager.c220 行定义.

◆ xf_task_manager_task_destory()

xf_err_t xf_task_manager_task_destory ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为销毁。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务销毁成功

在文件 xf_task_manager.c236 行定义.

◆ xf_task_manager_task_blocked()

xf_err_t xf_task_manager_task_blocked ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为阻塞。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务阻塞成功

在文件 xf_task_manager.c252 行定义.

◆ xf_task_manager_get_context()

xf_task_context_t * xf_task_manager_get_context ( xf_task_manager_t  manager)

在文件 xf_task_manager.c269 行定义.

◆ xf_task_set_urgent_task_with_manager()

xf_err_t xf_task_set_urgent_task_with_manager ( xf_task_manager_t  manager,
xf_task_t  task,
bool  force 
)

将任务设置为紧急任务,下次调度立即执行。

参数
manager任务管理器对象。
task设置为紧急任务的任务。
force如果设置为 true,则覆盖任务。设置为 false,当前有紧急任务则设置失败。
返回
xf_err_t
  • XF_OK 设置成功
  • XF_ERR_INVALID_ARG 无效参数
  • XF_ERR_BUSY 设置失败,force == false 且当前已存在紧急任务

在文件 xf_task_manager.c277 行定义.