From e1a70f27b21994374dd1754b98d40afe6ee87ca1 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Sat, 12 Aug 2023 08:20:29 +1000 Subject: aio: fix edge cases with error on blocking read Signed-off-by: Steve Bennett --- jim-aio.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/jim-aio.c b/jim-aio.c index 093457f..bacaec6 100644 --- a/jim-aio.c +++ b/jim-aio.c @@ -816,9 +816,7 @@ static int aio_read_len(Jim_Interp *interp, AioFile *af, int nb, char *buf, size if (JimCheckStreamError(interp, af)) { return JIM_ERR; } - if (nb || af->timeout) { - return JIM_OK; - } + break; } return JIM_OK; @@ -1105,14 +1103,9 @@ static int aio_cmd_gets(Jim_Interp *interp, int argc, Jim_Obj *const *argv) offset = len; len = af->fops->reader(af, buf, AIO_BUF_LEN, nb); if (len <= 0) { - if (nb || af->timeout) { - /* Stop when no more to read (non-blocking) or timeout and return an empty string */ - break; - } - } - else { - Jim_AppendString(interp, af->readbuf, buf, len); + break; } + Jim_AppendString(interp, af->readbuf, buf, len); } aio_set_nonblocking(af, nb); -- cgit v1.1