#ifdef HAVE_EVIL
# include <Evil.h>
#endif
-#include <pthread.h>
#ifdef __linux__
# include <sys/syscall.h>
#endif
struct _Evas_Preload_Pthread_Data
{
- pthread_t thread;
+ Eina_Thread thread;
};
static int _threads_count = 0;
Evas_Preload_Pthread_Data *pth = data;
Evas_Preload_Pthread_Data *p = NULL;
- if (pthread_join(pth->thread, (void **)&p) == 0) free(p);
+ if ((p = eina_thread_join(pth->thread))) free(p);
else return;
eina_threads_shutdown();
}
}
static void *
-_evas_preload_thread_worker(void *data)
+_evas_preload_thread_worker(void *data, Eina_Thread thread __UNUSED__)
{
Evas_Preload_Pthread_Data *pth = data;
Evas_Preload_Pthread_Worker *work;
- eina_sched_prio_drop();
- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
- pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
on_error:
for (;;)
{
eina_threads_init();
- if (pthread_create(&pth->thread, NULL, _evas_preload_thread_worker, pth) == 0)
+ if (eina_thread_create(&pth->thread, EINA_THREAD_BACKGROUND, -1, _evas_preload_thread_worker, pth))
{
LKL(_mutex);
_threads_count++;