Add TEMP_FAILURE_RETRY to ZipUtils

Change-Id: I275c415f14eeffaf9a58d45f3ea014d766441ec3
diff --git a/libs/utils/ZipUtils.cpp b/libs/utils/ZipUtils.cpp
index cf5467b..a43bbb0 100644
--- a/libs/utils/ZipUtils.cpp
+++ b/libs/utils/ZipUtils.cpp
@@ -21,6 +21,7 @@
 #define LOG_TAG "ziputil"
 
 #include <utils/Log.h>
+#include <utils/Compat.h>
 #include <utils/ZipUtils.h>
 #include <utils/ZipFileRO.h>
 
@@ -98,10 +99,11 @@
             ALOGV("+++ reading %ld bytes (%ld left)\n",
                 getSize, compRemaining);
 
-            int cc = read(fd, readBuf, getSize);
-            if (cc != (int) getSize) {
-                ALOGD("inflate read failed (%d vs %ld)\n",
-                    cc, getSize);
+            int cc = TEMP_FAILURE_RETRY(read(fd, readBuf, getSize));
+            if (cc < 0) {
+                ALOGW("inflate read failed: %s", strerror(errno));
+            } else if (cc != (int) getSize) {
+                ALOGW("inflate read failed (%d vs %ld)", cc, getSize);
                 goto z_bail;
             }