barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=44d95dd408e1584304e07dc26a5f98a20e351cf9
commit 44d95dd408e1584304e07dc26a5f98a20e351cf9 Author: Gustavo Sverzut Barbieri <barbi...@profusion.mobi> Date: Wed Nov 23 03:36:43 2016 -0200 efl_io_copier: do not emit data events if no data is available. --- src/lib/ecore/efl_io_copier.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/efl_io_copier.c b/src/lib/ecore/efl_io_copier.c index a47d3df..5646e0d 100644 --- a/src/lib/ecore/efl_io_copier.c +++ b/src/lib/ecore/efl_io_copier.c @@ -244,7 +244,7 @@ _efl_io_copier_read(Eo *o, Efl_Io_Copier_Data *pd) pd->progress.read += rw_slice.len; pd->done = EINA_FALSE; - if (!pd->destination) + if ((!pd->destination) && (eina_binbuf_length_get(pd->buf) > used)) { /* Note: if there is a destination, dispatch data and line * from write since it will remove from binbuf and make it @@ -303,6 +303,9 @@ _efl_io_copier_write(Eo *o, Efl_Io_Copier_Data *pd) efl_event_callback_call(o, EFL_IO_COPIER_EVENT_ERROR, &err); return; } + if (ro_slice.len == 0) + return; + pd->progress.written += ro_slice.len; pd->done = EINA_FALSE; --