From 9a13816fb3580d3d0313abc12707f9dc1248592d Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Fri, 28 Oct 2016 21:11:17 -0200 Subject: [PATCH] efl_io_copier: do not ERROR on EAGAIN. As done by write, if we try to read and we can't, then don't give up. This happens with streams that wraps another, like SSL, may report there are data to read, but once you try it may not result in enough data to upper layers. --- src/lib/ecore/efl_io_copier.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/efl_io_copier.c b/src/lib/ecore/efl_io_copier.c index 0b2667c72d..d304dfe4f8 100644 --- a/src/lib/ecore/efl_io_copier.c +++ b/src/lib/ecore/efl_io_copier.c @@ -228,7 +228,8 @@ _efl_io_copier_read(Eo *o, Efl_Io_Copier_Data *pd) err = efl_io_reader_read(pd->source, &rw_slice); if (err) { - efl_event_callback_call(o, EFL_IO_COPIER_EVENT_ERROR, &err); + if (err != EAGAIN) + efl_event_callback_call(o, EFL_IO_COPIER_EVENT_ERROR, &err); return; }