forked from enlightenment/efl
eio: factorize code to have one place where data are pushed.
This commit is contained in:
parent
e1e4774306
commit
a31102ab43
|
@ -700,13 +700,7 @@ _eio_dir_stat_find_forward(Eio_File_Dir_Ls *async,
|
|||
async->ls.common.worker.associated = NULL;
|
||||
}
|
||||
|
||||
current = ecore_time_get();
|
||||
if (current - async->start > EIO_PACKED_TIME)
|
||||
{
|
||||
async->start = current;
|
||||
ecore_thread_feedback(handler->thread, async->pack);
|
||||
async->pack = NULL;
|
||||
}
|
||||
async->pack = eio_pack_send(handler->thread, async->pack, &async->start);
|
||||
|
||||
return filter;
|
||||
}
|
||||
|
|
|
@ -84,13 +84,7 @@ _eio_file_heavy(void *data, Ecore_Thread *thread)
|
|||
}
|
||||
}
|
||||
|
||||
current = ecore_time_get();
|
||||
if (current - start > EIO_PACKED_TIME)
|
||||
{
|
||||
start = current;
|
||||
ecore_thread_feedback(thread, pack);
|
||||
pack = NULL;
|
||||
}
|
||||
pack = eio_pack_send(thread, pack, &start);
|
||||
|
||||
if (ecore_thread_check(thread))
|
||||
break;
|
||||
|
@ -174,13 +168,7 @@ _eio_file_eina_ls_heavy(Ecore_Thread *thread, Eio_File_Direct_Ls *async, Eina_It
|
|||
async->ls.common.worker.associated = NULL;
|
||||
}
|
||||
|
||||
current = ecore_time_get();
|
||||
if (current - start > EIO_PACKED_TIME)
|
||||
{
|
||||
start = current;
|
||||
ecore_thread_feedback(thread, pack);
|
||||
pack = NULL;
|
||||
}
|
||||
pack = eio_pack_send(thread, pack, &start);
|
||||
|
||||
if (ecore_thread_check(thread))
|
||||
break;
|
||||
|
|
|
@ -181,6 +181,21 @@ eio_associate_free(void *data)
|
|||
_eio_pool_free(&associate_pool, tmp);
|
||||
}
|
||||
|
||||
Eina_List *
|
||||
eio_pack_send(Ecore_Thread *thread, Eina_List *pack, double *start)
|
||||
{
|
||||
double current;
|
||||
|
||||
current = ecore_time_get();
|
||||
if (current - *start > EIO_PACKED_TIME)
|
||||
{
|
||||
*start = current;
|
||||
ecore_thread_feedback(thread, pack);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return pack;
|
||||
}
|
||||
|
||||
/**
|
||||
* @endcond
|
||||
|
|
|
@ -495,4 +495,6 @@ void _eio_monitor_rename(Eio_Monitor *monitor, const char *newpath);
|
|||
void eio_async_end(void *data, Ecore_Thread *thread);
|
||||
void eio_async_error(void *data, Ecore_Thread *thread);
|
||||
|
||||
Eina_List *eio_pack_send(Ecore_Thread *thread, Eina_List *pack, double *start);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue