1*4882a593SmuzhiyunFrom 407c96fc790d0d11ca9603a2a533216c745b5051 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Stefan Nickl <Stefan.Nickl@gmail.com>
3*4882a593SmuzhiyunDate: Mon, 13 May 2019 22:33:21 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Make scheduler functions Linux-compatible
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunLet sched_getscheduler(), sched_setscheduler(), sched_getparam(),
7*4882a593Smuzhiyunsched_setparam() invoke the Linux syscalls of the same name instead
8*4882a593Smuzhiyunof returning -ENOSYS.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunSigned-off-by: Stefan Nickl <Stefan.Nickl@gmail.com>
11*4882a593Smuzhiyun---
12*4882a593Smuzhiyun src/sched/sched_getparam.c     | 3 +--
13*4882a593Smuzhiyun src/sched/sched_getscheduler.c | 3 +--
14*4882a593Smuzhiyun src/sched/sched_setparam.c     | 3 +--
15*4882a593Smuzhiyun src/sched/sched_setscheduler.c | 3 +--
16*4882a593Smuzhiyun 4 files changed, 4 insertions(+), 8 deletions(-)
17*4882a593Smuzhiyun
18*4882a593Smuzhiyundiff --git a/src/sched/sched_getparam.c b/src/sched/sched_getparam.c
19*4882a593Smuzhiyunindex 76f10e4..65be107 100644
20*4882a593Smuzhiyun--- a/src/sched/sched_getparam.c
21*4882a593Smuzhiyun+++ b/src/sched/sched_getparam.c
22*4882a593Smuzhiyun@@ -1,8 +1,7 @@
23*4882a593Smuzhiyun #include <sched.h>
24*4882a593Smuzhiyun-#include <errno.h>
25*4882a593Smuzhiyun #include "syscall.h"
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun int sched_getparam(pid_t pid, struct sched_param *param)
28*4882a593Smuzhiyun {
29*4882a593Smuzhiyun-	return __syscall_ret(-ENOSYS);
30*4882a593Smuzhiyun+	return syscall(SYS_sched_getparam, pid, param);
31*4882a593Smuzhiyun }
32*4882a593Smuzhiyundiff --git a/src/sched/sched_getscheduler.c b/src/sched/sched_getscheduler.c
33*4882a593Smuzhiyunindex 394e508..4c922f6 100644
34*4882a593Smuzhiyun--- a/src/sched/sched_getscheduler.c
35*4882a593Smuzhiyun+++ b/src/sched/sched_getscheduler.c
36*4882a593Smuzhiyun@@ -1,8 +1,7 @@
37*4882a593Smuzhiyun #include <sched.h>
38*4882a593Smuzhiyun-#include <errno.h>
39*4882a593Smuzhiyun #include "syscall.h"
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun int sched_getscheduler(pid_t pid)
42*4882a593Smuzhiyun {
43*4882a593Smuzhiyun-	return __syscall_ret(-ENOSYS);
44*4882a593Smuzhiyun+	return syscall(SYS_sched_getscheduler, pid);
45*4882a593Smuzhiyun }
46*4882a593Smuzhiyundiff --git a/src/sched/sched_setparam.c b/src/sched/sched_setparam.c
47*4882a593Smuzhiyunindex 18623ee..f699faf 100644
48*4882a593Smuzhiyun--- a/src/sched/sched_setparam.c
49*4882a593Smuzhiyun+++ b/src/sched/sched_setparam.c
50*4882a593Smuzhiyun@@ -1,8 +1,7 @@
51*4882a593Smuzhiyun #include <sched.h>
52*4882a593Smuzhiyun-#include <errno.h>
53*4882a593Smuzhiyun #include "syscall.h"
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun int sched_setparam(pid_t pid, const struct sched_param *param)
56*4882a593Smuzhiyun {
57*4882a593Smuzhiyun-	return __syscall_ret(-ENOSYS);
58*4882a593Smuzhiyun+	return syscall(SYS_sched_setparam, pid, param);
59*4882a593Smuzhiyun }
60*4882a593Smuzhiyundiff --git a/src/sched/sched_setscheduler.c b/src/sched/sched_setscheduler.c
61*4882a593Smuzhiyunindex 4435f21..e678221 100644
62*4882a593Smuzhiyun--- a/src/sched/sched_setscheduler.c
63*4882a593Smuzhiyun+++ b/src/sched/sched_setscheduler.c
64*4882a593Smuzhiyun@@ -1,8 +1,7 @@
65*4882a593Smuzhiyun #include <sched.h>
66*4882a593Smuzhiyun-#include <errno.h>
67*4882a593Smuzhiyun #include "syscall.h"
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun int sched_setscheduler(pid_t pid, int sched, const struct sched_param *param)
70*4882a593Smuzhiyun {
71*4882a593Smuzhiyun-	return __syscall_ret(-ENOSYS);
72*4882a593Smuzhiyun+	return syscall(SYS_sched_setscheduler, pid, sched, param);
73*4882a593Smuzhiyun }
74*4882a593Smuzhiyun--
75*4882a593Smuzhiyun2.21.0
76*4882a593Smuzhiyun
77