forked from enlightenment/efl
ecore - efl thread - remove more copy & paste in fd in clearing handling
move to common shared function to reduce c&p
This commit is contained in:
parent
687b06fb3f
commit
40800366b2
|
@ -960,6 +960,15 @@ _efl_thread_efl_io_reader_eos_get(const Eo *obj EINA_UNUSED, Efl_Thread_Data *pd
|
||||||
return pd->fd.eos_read;
|
return pd->fd.eos_read;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_io_writer_write_fd_in_clear(Efl_Thread_Data *pd)
|
||||||
|
{
|
||||||
|
close(pd->fd.in);
|
||||||
|
pd->fd.in = -1;
|
||||||
|
efl_del(pd->fd.in_handler);
|
||||||
|
pd->fd.in_handler = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_Error
|
EOLIAN static Eina_Error
|
||||||
_efl_thread_efl_io_writer_write(Eo *obj, Efl_Thread_Data *pd, Eina_Slice *slice, Eina_Slice *remaining)
|
_efl_thread_efl_io_writer_write(Eo *obj, Efl_Thread_Data *pd, Eina_Slice *slice, Eina_Slice *remaining)
|
||||||
{
|
{
|
||||||
|
@ -991,22 +1000,14 @@ _efl_thread_efl_io_writer_write(Eo *obj, Efl_Thread_Data *pd, Eina_Slice *slice,
|
||||||
efl_io_writer_can_write_set(obj, EINA_FALSE);
|
efl_io_writer_can_write_set(obj, EINA_FALSE);
|
||||||
if (r == 0)
|
if (r == 0)
|
||||||
{
|
{
|
||||||
close(pd->fd.in);
|
_io_writer_write_fd_in_clear(pd);
|
||||||
pd->fd.in = -1;
|
|
||||||
efl_del(pd->fd.in_handler);
|
|
||||||
pd->fd.in_handler = NULL;
|
|
||||||
_thread_exit_eval(obj, pd);
|
_thread_exit_eval(obj, pd);
|
||||||
return EPIPE;
|
return EPIPE;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
err:
|
err:
|
||||||
if ((pd->fd.in != -1) && (errno != EAGAIN))
|
if ((pd->fd.in != -1) && (errno != EAGAIN))
|
||||||
{
|
_io_writer_write_fd_in_clear(pd);
|
||||||
close(pd->fd.in);
|
|
||||||
pd->fd.in = -1;
|
|
||||||
efl_del(pd->fd.in_handler);
|
|
||||||
pd->fd.in_handler = NULL;
|
|
||||||
}
|
|
||||||
if (remaining) *remaining = *slice;
|
if (remaining) *remaining = *slice;
|
||||||
slice->len = 0;
|
slice->len = 0;
|
||||||
slice->mem = NULL;
|
slice->mem = NULL;
|
||||||
|
|
Loading…
Reference in New Issue