raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3b39cb947206b6f249c34b4eb131dbcc1b2cac67

commit 3b39cb947206b6f249c34b4eb131dbcc1b2cac67
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon May 25 10:27:19 2020 +0100

    eina - dont use SCHED_BATCH or SCHED_IDLE unless they are defined
---
 src/lib/eina/eina_thread.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/lib/eina/eina_thread.c b/src/lib/eina/eina_thread.c
index c2bb041f24..dc186175c4 100644
--- a/src/lib/eina/eina_thread.c
+++ b/src/lib/eina/eina_thread.c
@@ -147,20 +147,30 @@ _eina_internal_call(void *context)
      {
         struct sched_param params;
         int min;
-
-        min = sched_get_priority_min(SCHED_IDLE);
+#ifdef SCHED_IDLE
+        int pol = SCHED_IDLE;
+#else
+        int pol;
+        pthread_getschedparam(self, &pol, &params);
+#endif
+        min = sched_get_priority_min(pol);
         params.sched_priority = min;
-        pthread_setschedparam(self, SCHED_IDLE, &params);
+        pthread_setschedparam(self, pol, &params);
      }
    else if (c->prio == EINA_THREAD_BACKGROUND)
      {
         struct sched_param params;
         int min, max;
-
-        min = sched_get_priority_min(SCHED_BATCH);
-        max = sched_get_priority_max(SCHED_BATCH);
+#ifdef SCHED_BATCH
+        int pol = SCHED_BATCH;
+#else
+        int pol;
+        pthread_getschedparam(self, &pol, &params);
+#endif
+        min = sched_get_priority_min(pol);
+        max = sched_get_priority_max(pol);
         params.sched_priority = (max - min) / 2;
-        pthread_setschedparam(self, SCHED_BATCH, &params);
+        pthread_setschedparam(self, pol, &params);
      }
 // do nothing for normal
 //   else if (c->prio == EINA_THREAD_NORMAL)

-- 


Reply via email to