forked from enlightenment/efl
* e, eio: fix ecore_thread_run breakage.
SVN revision: 53371
This commit is contained in:
parent
25e84c7f3d
commit
f3b720812e
|
@ -38,7 +38,7 @@ _eio_dir_recursiv_ls(Ecore_Thread *thread, Eio_Dir_Copy *copy, const char *targe
|
|||
it = eina_file_direct_ls(target);
|
||||
if (!it)
|
||||
{
|
||||
eio_file_thread_error(©->progress.common);
|
||||
eio_file_thread_error(©->progress.common, thread);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ _eio_dir_recursiv_ls(Ecore_Thread *thread, Eio_Dir_Copy *copy, const char *targe
|
|||
case DT_UNKNOWN:
|
||||
if (stat(info->path, &buffer) != 0)
|
||||
{
|
||||
eio_file_thread_error(©->progress.common);
|
||||
eio_file_thread_error(©->progress.common, thread);
|
||||
goto on_error;
|
||||
}
|
||||
|
||||
|
@ -135,10 +135,16 @@ _eio_dir_copy_heavy(Ecore_Thread *thread, void *data)
|
|||
if (stat(copy->progress.dest, &buffer) != 0)
|
||||
{
|
||||
if (stat(copy->progress.source, &buffer) != 0)
|
||||
goto on_error;
|
||||
{
|
||||
eio_file_thread_error(©->progress.common, thread);
|
||||
goto on_error;
|
||||
}
|
||||
|
||||
if (mkdir(copy->progress.dest, buffer.st_mode) != 0)
|
||||
goto on_error;
|
||||
{
|
||||
eio_file_thread_error(©->progress.common, thread);
|
||||
goto on_error;
|
||||
}
|
||||
}
|
||||
|
||||
/* create all directory */
|
||||
|
@ -153,11 +159,17 @@ _eio_dir_copy_heavy(Ecore_Thread *thread, void *data)
|
|||
/* FIXME: in some case we already did a stat call, so would be nice to reuse previous result here */
|
||||
/* FIXME: apply mode later so that readonly could be copied and property will be set correctly */
|
||||
if (stat(dir, &buffer) != 0)
|
||||
goto on_error;
|
||||
{
|
||||
eio_file_thread_error(©->progress.common, thread);
|
||||
goto on_error;
|
||||
}
|
||||
|
||||
/* create the directory */
|
||||
if (mkdir(target, buffer.st_mode) != 0)
|
||||
goto on_error;
|
||||
{
|
||||
eio_file_thread_error(©->progress.common, thread);
|
||||
goto on_error;
|
||||
}
|
||||
|
||||
step++;
|
||||
eio_progress_send(thread, ©->progress, step, count);
|
||||
|
|
|
@ -31,7 +31,7 @@ _eio_file_heavy(Ecore_Thread *thread, void *data)
|
|||
ls = eina_file_ls(async->ls.directory);
|
||||
if (!ls)
|
||||
{
|
||||
eio_file_thread_error(&async->ls.common);
|
||||
eio_file_thread_error(&async->ls.common, thread);
|
||||
return ;
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@ _eio_file_direct_heavy(Ecore_Thread *thread, void *data)
|
|||
ls = eina_file_direct_ls(async->ls.directory);
|
||||
if (!ls)
|
||||
{
|
||||
eio_file_thread_error(&async->ls.common);
|
||||
eio_file_thread_error(&async->ls.common, thread);
|
||||
return ;
|
||||
}
|
||||
|
||||
|
@ -265,7 +265,7 @@ eio_file_copy_do(Ecore_Thread *thread, Eio_File_Progress *copy)
|
|||
in = open(copy->source, O_RDONLY);
|
||||
if (in < 0)
|
||||
{
|
||||
eio_file_thread_error(©->common);
|
||||
eio_file_thread_error(©->common, thread);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
|
@ -302,7 +302,7 @@ eio_file_copy_do(Ecore_Thread *thread, Eio_File_Progress *copy)
|
|||
return EINA_TRUE;
|
||||
|
||||
on_error:
|
||||
eio_file_thread_error(©->common);
|
||||
eio_file_thread_error(©->common, thread);
|
||||
|
||||
if (in >= 0) close(in);
|
||||
if (out >= 0) close(out);
|
||||
|
@ -424,7 +424,7 @@ _eio_file_move_heavy(Ecore_Thread *thread, void *data)
|
|||
Eio_File_Move *move = data;
|
||||
|
||||
if (rename(move->progress.source, move->progress.dest) < 0)
|
||||
eio_file_thread_error(&move->progress.common);
|
||||
eio_file_thread_error(&move->progress.common, thread);
|
||||
else
|
||||
eio_progress_send(thread, &move->progress, 1, 1);
|
||||
}
|
||||
|
|
|
@ -146,7 +146,7 @@ Eina_Bool eio_file_set(Eio_File *common,
|
|||
Eio_Done_Cb done_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data,
|
||||
Ecore_Cb job_cb,
|
||||
Ecore_Thread_Heavy_Cb job_cb,
|
||||
Ecore_Cb end_cb,
|
||||
Ecore_Cb cancel_cb);
|
||||
|
||||
|
@ -161,7 +161,7 @@ Eina_Bool eio_long_file_set(Eio_File *common,
|
|||
Ecore_Cb cancel_cb);
|
||||
|
||||
void eio_file_error(Eio_File *common);
|
||||
void eio_file_thread_error(Eio_File *common);
|
||||
void eio_file_thread_error(Eio_File *common, Ecore_Thread *thread);
|
||||
|
||||
Eina_File_Direct_Info *eio_direct_info_malloc(void);
|
||||
void eio_direct_info_free(Eina_File_Direct_Info *data);
|
||||
|
|
|
@ -29,10 +29,10 @@ eio_file_error(Eio_File *common)
|
|||
}
|
||||
|
||||
void
|
||||
eio_file_thread_error(Eio_File *common)
|
||||
eio_file_thread_error(Eio_File *common, Ecore_Thread *thread)
|
||||
{
|
||||
common->error = errno;
|
||||
ecore_thread_cancel(common->thread);
|
||||
ecore_thread_cancel(thread);
|
||||
}
|
||||
|
||||
Eina_Bool
|
||||
|
@ -71,7 +71,7 @@ eio_file_set(Eio_File *common,
|
|||
Eio_Done_Cb done_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data,
|
||||
Ecore_Cb job_cb,
|
||||
Ecore_Thread_Heavy_Cb job_cb,
|
||||
Ecore_Cb end_cb,
|
||||
Ecore_Cb cancel_cb)
|
||||
{
|
||||
|
@ -95,12 +95,12 @@ eio_file_set(Eio_File *common,
|
|||
/* --- */
|
||||
|
||||
static void
|
||||
_eio_file_mkdir(void *data)
|
||||
_eio_file_mkdir(Ecore_Thread *thread, void *data)
|
||||
{
|
||||
Eio_File_Mkdir *m = data;
|
||||
|
||||
if (mkdir(m->path, m->mode) != 0)
|
||||
eio_file_thread_error(&m->common);
|
||||
eio_file_thread_error(&m->common, thread);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -131,12 +131,12 @@ _eio_file_mkdir_error(void *data)
|
|||
}
|
||||
|
||||
static void
|
||||
_eio_file_unlink(void *data)
|
||||
_eio_file_unlink(Ecore_Thread *thread, void *data)
|
||||
{
|
||||
Eio_File_Unlink *l = data;
|
||||
|
||||
if (unlink(l->path) != 0)
|
||||
eio_file_thread_error(&l->common);
|
||||
eio_file_thread_error(&l->common, thread);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -167,12 +167,12 @@ _eio_file_unlink_error(void *data)
|
|||
}
|
||||
|
||||
static void
|
||||
_eio_file_stat(void *data)
|
||||
_eio_file_stat(Ecore_Thread *thread, void *data)
|
||||
{
|
||||
Eio_File_Stat *s = data;
|
||||
|
||||
if (stat(s->path, &s->buffer) != 0)
|
||||
eio_file_thread_error(&s->common);
|
||||
eio_file_thread_error(&s->common, thread);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue