about summary refs log tree commit diff
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
     {