[PATCH 1/2] xread: retry after poll on EAGAIN/EWOULDBLOCK
- From
- Eric Wong <e@80x24.org>
- Date
- Jun 26, 2016, 23:21 UTC
- Message-ID
- <20160626232112.721-2-e@80x24.org>
- In-Reply-To
- <20160626232112.721-1-e@80x24.org>
We should continue to loop after EAGAIN/EWOULDBLOCK as the intent of xread is to read as much as possible until an EOF or real error occurs.
Fixes: 1079c4be0b720 ("xread: poll on non blocking fds")Signed-off-by: Eric Wong <e@80x24.org> --- wrapper.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/wrapper.c b/wrapper.c index 5dc4e15..f1155d0 100644 --- a/wrapper.c +++ b/wrapper.c @@ -255,6 +255,7 @@ ssize_t xread(int fd, void *buf, size_t len) * call to read(2). */ poll(&pfd, 1, -1); + continue; } } return nr;