From f6b340cc19d2b1fdca0ae2e72a18c87c63893507 Mon Sep 17 00:00:00 2001 From: ferrreo Date: Mon, 24 Jul 2023 17:26:24 +0100 Subject: init: Fix for issue #2797 (#2799) * Fix for issue #2797 * Fix for issue #2797 * Fix for issue #2797 --- src/init/initHelpers.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/init/initHelpers.cpp') 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, ¶m)) { + Debug::log(WARN, "Failed to get old pthread scheduling priority"); + return; + } + + param.sched_priority = minPrio; if (pthread_setschedparam(pthread_self(), SCHED_RR, ¶m)) { Debug::log(WARN, "Failed to change process scheduling strategy"); -- cgit v1.2.3