summaryrefslogtreecommitdiff
path: root/src/init/initHelpers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/init/initHelpers.cpp')
-rw-r--r--src/init/initHelpers.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/init/initHelpers.cpp b/src/init/initHelpers.cpp
index 2666ed0b..2a296d2e 100644
--- a/src/init/initHelpers.cpp
+++ b/src/init/initHelpers.cpp
@@ -6,7 +6,15 @@ bool Init::isSudo() {
void Init::gainRealTime() {
const int minPrio = sched_get_priority_min(SCHED_RR);
- const struct sched_param param = {.sched_priority = minPrio};
+ int old_policy;
+ struct sched_param param;
+
+ if (pthread_getschedparam(pthread_self(), &old_policy, &param)) {
+ Debug::log(WARN, "Failed to get old pthread scheduling priority");
+ return;
+ }
+
+ param.sched_priority = minPrio;
if (pthread_setschedparam(pthread_self(), SCHED_RR, &param)) {
Debug::log(WARN, "Failed to change process scheduling strategy");