2013-06-26 23:18:30 +08:00
|
|
|
/*
|
2021-03-08 18:19:04 +08:00
|
|
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
2013-06-26 23:18:30 +08:00
|
|
|
*
|
2018-10-14 19:28:18 +08:00
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2013-06-26 23:18:30 +08:00
|
|
|
*
|
|
|
|
* Change Logs:
|
|
|
|
* Date Author Notes
|
|
|
|
*/
|
|
|
|
|
2013-01-08 22:40:58 +08:00
|
|
|
#include <sched.h>
|
|
|
|
|
|
|
|
int sched_yield(void)
|
|
|
|
{
|
2013-06-26 23:18:30 +08:00
|
|
|
rt_thread_yield();
|
|
|
|
|
|
|
|
return 0;
|
2013-01-08 22:40:58 +08:00
|
|
|
}
|
|
|
|
RTM_EXPORT(sched_yield);
|
|
|
|
|
|
|
|
int sched_get_priority_min(int policy)
|
|
|
|
{
|
2013-06-26 23:18:30 +08:00
|
|
|
if (policy != SCHED_FIFO && policy != SCHED_RR)
|
|
|
|
return EINVAL;
|
2013-01-08 22:40:58 +08:00
|
|
|
|
2013-06-26 23:18:30 +08:00
|
|
|
return 0;
|
2013-01-08 22:40:58 +08:00
|
|
|
}
|
|
|
|
RTM_EXPORT(sched_get_priority_min);
|
|
|
|
|
|
|
|
int sched_get_priority_max(int policy)
|
|
|
|
{
|
2013-06-26 23:18:30 +08:00
|
|
|
if (policy != SCHED_FIFO && policy != SCHED_RR)
|
|
|
|
return EINVAL;
|
2013-01-08 22:40:58 +08:00
|
|
|
|
2013-06-26 23:18:30 +08:00
|
|
|
return RT_THREAD_PRIORITY_MAX - 1;
|
2013-01-08 22:40:58 +08:00
|
|
|
}
|
|
|
|
RTM_EXPORT(sched_get_priority_max);
|
|
|
|
|
|
|
|
int sched_setscheduler(pid_t pid, int policy)
|
|
|
|
{
|
2014-03-11 16:05:14 +08:00
|
|
|
return EOPNOTSUPP;
|
2013-01-08 22:40:58 +08:00
|
|
|
}
|
|
|
|
RTM_EXPORT(sched_setscheduler);
|
2021-12-17 15:34:17 +08:00
|
|
|
|
|
|
|
int sched_rr_get_interval(pid_t pid, struct timespec *tp)
|
|
|
|
{
|
|
|
|
if(pid != 0)
|
|
|
|
{
|
|
|
|
return EINVAL;
|
|
|
|
}
|
|
|
|
|
|
|
|
rt_set_errno(-EINVAL);
|
|
|
|
|
|
|
|
/* course model, don't support */
|
|
|
|
// TODO
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
RTM_EXPORT(sched_rr_get_interval);
|