diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/DabMux.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/DabMux.cpp b/src/DabMux.cpp index d83dbce..242f947 100644 --- a/src/DabMux.cpp +++ b/src/DabMux.cpp @@ -247,17 +247,15 @@ int main(int argc, char *argv[]) strerror(errno)); } #else - if (setpriority(PRIO_PROCESS, 0, -20) == -1) { - etiLog.log(warn, "Can't increase priority: %s\n", - strerror(errno)); + // Use the lowest real-time priority for this thread, and switch to real-time scheduling + const int policy = SCHED_RR; + sched_param sp; + sp.sched_priority = sched_get_priority_min(policy); + int thread_prio_ret = pthread_setschedparam(pthread_self(), policy, &sp); + if (thread_prio_ret != 0) { + etiLog.level(error) << "Could not set real-time priority for thread:" << thread_prio_ret; } #endif - /*sched_param scheduler; - scheduler.sched_priority = 99; // sched_get_priority_max(SCHED_RR) - if (sched_setscheduler(0, SCHED_RR, &scheduler) == -1) { - etiLog.log(warn, "Can't increased priority: %s\n", - strerror(errno)); - }*/ uint8_t watermarkData[128]; size_t watermarkSize = 0; |