From d611117f246213ee4bb183a3015c1fd79593074b Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Tue, 16 Oct 2012 11:34:02 -0700 Subject: Add TEMP_FAILURE_RETRY to ZipUtils Change-Id: I275c415f14eeffaf9a58d45f3ea014d766441ec3 --- libs/utils/ZipUtils.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'libs/utils/ZipUtils.cpp') diff --git a/libs/utils/ZipUtils.cpp b/libs/utils/ZipUtils.cpp index cf5467ba5f..a43bbb0ca1 100644 --- a/libs/utils/ZipUtils.cpp +++ b/libs/utils/ZipUtils.cpp @@ -21,6 +21,7 @@ #define LOG_TAG "ziputil" #include +#include #include #include @@ -98,10 +99,11 @@ using namespace android; 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; } -- cgit v1.2.3-59-g8ed1b