xtos_ rt_ set_ scheduler
为当前线程调用 sched_setscheduler,设置 Linux 调度策略和静态优先级。
本页目录
声明
#include <xtos/rt.h>
int xtos_rt_set_scheduler(int policy, int priority);参数
| 参数 | 类型 | 说明 |
|---|---|---|
| policy | int | Linux 调度策略,例如 SCHED_OTHER、SCHED_FIFO 或 SCHED_RR;范围由内核查询。 |
| priority | int | 该策略的静态优先级;SCHED_OTHER 通常要求 0,不是 nice 值。 |
返回值
成功返回 0;失败返回 -1。
错误
| errno | 条件 |
|---|---|
| EINVAL | 策略无效、查询不到策略范围,或 priority 不在该策略的最小/最大值内。 |
| EPERM | 当前线程没有设置所请求实时策略或优先级的权限。 |
| system errno | sched_get_priority_* 或 sched_setscheduler 失败时返回底层 errno。 |
注意事项
- 只改变调用线程;调用主线程不会自动改变已创建的 worker。
- 函数不验证 deadline 专用参数,也不提供调度变更回滚。实时权限和资源限制由 Linux 决定。
示例
源码
本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。