blob: d968a2c5c37a2b791f0b1e878970e109090c8c74 [file] [log] [blame]
#include "tests.h"
#include <sys/syscall.h>
#if defined __NR_sched_getparam && defined __NR_sched_setparam
# include <errno.h>
# include <sched.h>
# include <stdio.h>
# include <unistd.h>
int
main(void)
{
struct sched_param *const param = tail_alloc(sizeof(struct sched_param));
int rc = syscall(__NR_sched_getparam, 0, param);
printf("sched_getparam(0, [%d]) = %d\n",
param->sched_priority, rc);
param->sched_priority = -1;
rc = syscall(__NR_sched_setparam, 0, param);
printf("sched_setparam(0, [%d]) = %d %s (%m)\n",
param->sched_priority, rc,
errno == EPERM ? "EPERM" : "EINVAL");
puts("+++ exited with 0 +++");
return 0;
}
#else
SKIP_MAIN_UNDEFINED("__NR_sched_getparam && __NR_sched_setparam")
#endif