changeset 79:8708c34e2723

Handle EINTR also in combination with EAGAIN and EWOULDBLOCK
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 28 Feb 2022 21:31:26 +0100
parents 5d297069ab48
children 79f49b0602c0
files cutils/shasum.py
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/cutils/shasum.py	Mon Feb 28 09:19:47 2022 +0100
+++ b/cutils/shasum.py	Mon Feb 28 21:31:26 2022 +0100
@@ -505,7 +505,8 @@
                 try:
                     buf = os.read(fd, CHUNK_SIZE)
                 except OSError as e:
-                    if e.errno not in (errno.EAGAIN, errno.EWOULDBLOCK):
+                    if e.errno not in (errno.EAGAIN, errno.EWOULDBLOCK,
+                                       errno.EINTR):
                         raise
                 else:
                     if len(buf) == 0:
@@ -560,7 +561,7 @@
         try:
             buf = instream.read(CHUNK_SIZE)
         except OSError as e:
-            if e.errno not in (errno.EAGAIN, errno.EWOULDBLOCK):
+            if e.errno not in (errno.EAGAIN, errno.EWOULDBLOCK, errno.EINTR):
                 raise
         else:
             if buf is not None: