XTOS / OPEN SOURCE REAL-TIME SYSTEMOPEN SOURCE · VERSION 0.9.0 · BUILD FROM SOURCE
libxtos-rtxtos_rt_set_scheduler

xtos_rt_set_scheduler

为当前线程调用 sched_setscheduler,设置 Linux 调度策略和静态优先级。

本页目录

声明

c
#include <xtos/rt.h>

int xtos_rt_set_scheduler(int policy, int priority);

参数

参数类型说明
policyintLinux 调度策略,例如 SCHED_OTHER、SCHED_FIFO 或 SCHED_RR;范围由内核查询。
priorityint该策略的静态优先级;SCHED_OTHER 通常要求 0,不是 nice 值。

返回值

成功返回 0;失败返回 -1。

错误

errno条件
EINVAL策略无效、查询不到策略范围,或 priority 不在该策略的最小/最大值内。
EPERM当前线程没有设置所请求实时策略或优先级的权限。
system errnosched_get_priority_* 或 sched_setscheduler 失败时返回底层 errno。

注意事项

  • 只改变调用线程;调用主线程不会自动改变已创建的 worker。
  • 函数不验证 deadline 专用参数,也不提供调度变更回滚。实时权限和资源限制由 Linux 决定。

示例

源码

本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。