preload in bg. low pri th.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 3 Sep 2010 10:07:20 +0000 (10:07 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 3 Sep 2010 10:07:20 +0000 (10:07 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@51859 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/cache/evas_preload.c

index 91f982a..759d133 100644 (file)
@@ -213,6 +213,14 @@ evas_preload_thread_run(void (*func_heavy) (void *data),
 
    if (pthread_create(&pth->thread, NULL, (void *) _evas_preload_thread_worker, pth) == 0)
      {
+        /* lower priority of async loader threads so they use up "bg cpu"
+         * as it was really intended to work */
+        struct sched_param param;
+
+        memset(&param, 0, sizeof(param));
+        param.sched_priority = sched_get_priority_min(SCHED_RR);
+        pthread_setschedparam(pth->thread, SCHED_RR, &param);
+        
        LKL(_mutex);
        _evas_preload_thread_count++;
        LKU(_mutex);