From c963d75dfdeec11f82e79e727062fbf89afa2c04 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 22 Apr 2012 09:19:23 +1000 Subject: Update EFL to latest beta. --- libraries/eina/src/lib/eina_sched.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'libraries/eina/src/lib/eina_sched.c') diff --git a/libraries/eina/src/lib/eina_sched.c b/libraries/eina/src/lib/eina_sched.c index 8c7f7fe..b8e7000 100644 --- a/libraries/eina/src/lib/eina_sched.c +++ b/libraries/eina/src/lib/eina_sched.c @@ -41,7 +41,7 @@ #include "eina_sched.h" #include "eina_log.h" -#define RTNICENESS 5 +#define RTNICENESS 1 #define NICENESS 5 EAPI void @@ -62,10 +62,14 @@ eina_sched_prio_drop(void) if (EINA_UNLIKELY(pol == SCHED_RR || pol == SCHED_FIFO)) { - prio = sched_get_priority_max(pol); - param.sched_priority += RTNICENESS; - if (prio > 0 && param.sched_priority > prio) - param.sched_priority = prio; + param.sched_priority -= RTNICENESS; + + /* We don't change the policy */ + if (param.sched_priority < 1) + { + EINA_LOG_INFO("RT prio < 1, setting to 1 instead"); + param.sched_priority = 1; + } pthread_setschedparam(pthread_id, pol, ¶m); } @@ -78,7 +82,10 @@ eina_sched_prio_drop(void) { prio += NICENESS; if (prio > 19) - prio = 19; + { + EINA_LOG_INFO("Max niceness reached; keeping max (19)"); + prio = 19; + } setpriority(PRIO_PROCESS, 0, prio); } -- cgit v1.1