summaryrefslogtreecommitdiff
path: root/sysdeps/pthread/lio_listio.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/pthread/lio_listio.c')
-rw-r--r--sysdeps/pthread/lio_listio.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sysdeps/pthread/lio_listio.c b/sysdeps/pthread/lio_listio.c
index 39187f3025..c652404ae2 100644
--- a/sysdeps/pthread/lio_listio.c
+++ b/sysdeps/pthread/lio_listio.c
@@ -172,7 +172,10 @@ lio_listio_internal (int mode, struct aiocb *const list[], int nent,
/* If any of the I/O requests failed, return -1 and set errno. */
if (result != 0)
- __set_errno (EIO);
+ {
+ __set_errno (result == EINTR ? EINTR : EIO);
+ result = -1;
+ }
}
else
{