Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge
Change-Id: I50d7a0cbc6632c78a725810d960e049c310b3597
diff --git a/libs/utils/ZipFileRO.cpp b/libs/utils/ZipFileRO.cpp
index cc62213..ef49c0f 100644
--- a/libs/utils/ZipFileRO.cpp
+++ b/libs/utils/ZipFileRO.cpp
@@ -140,7 +140,7 @@
/*
* Open and map the specified file.
*/
- fd = ::open(zipFileName, O_RDONLY | O_BINARY);
+ fd = TEMP_FAILURE_RETRY(::open(zipFileName, O_RDONLY | O_BINARY));
if (fd < 0) {
ALOGW("Unable to open zip '%s': %s\n", zipFileName, strerror(errno));
return NAME_NOT_FOUND;
@@ -771,7 +771,7 @@
ptr = (const unsigned char*) file->getDataPtr();
if (method == kCompressStored) {
- ssize_t actual = write(fd, ptr, uncompLen);
+ ssize_t actual = TEMP_FAILURE_RETRY(write(fd, ptr, uncompLen));
if (actual < 0) {
ALOGE("Write failed: %s\n", strerror(errno));
goto unmap;
@@ -920,9 +920,12 @@
(zerr == Z_STREAM_END && zstream.avail_out != sizeof(writeBuf)))
{
long writeSize = zstream.next_out - writeBuf;
- int cc = write(fd, writeBuf, writeSize);
- if (cc != (int) writeSize) {
- ALOGW("write failed in inflate (%d vs %ld)\n", cc, writeSize);
+ int cc = TEMP_FAILURE_RETRY(write(fd, writeBuf, writeSize));
+ if (cc < 0) {
+ ALOGW("write failed in inflate: %s", strerror(errno));
+ goto z_bail;
+ } else if (cc != (int) writeSize) {
+ ALOGW("write failed in inflate (%d vs %ld)", cc, writeSize);
goto z_bail;
}
diff --git a/libs/utils/tests/Android.mk b/libs/utils/tests/Android.mk
index 0a5b379..5b2b5b1 100644
--- a/libs/utils/tests/Android.mk
+++ b/libs/utils/tests/Android.mk
@@ -4,42 +4,30 @@
# Build the unit tests.
test_src_files := \
- BasicHashtable_test.cpp \
- BlobCache_test.cpp \
- Looper_test.cpp \
- String8_test.cpp \
- Unicode_test.cpp \
- Vector_test.cpp \
- ZipFileRO_test.cpp
+ BasicHashtable_test.cpp \
+ BlobCache_test.cpp \
+ Looper_test.cpp \
+ String8_test.cpp \
+ Unicode_test.cpp \
+ Vector_test.cpp \
+ ZipFileRO_test.cpp
shared_libraries := \
- libz \
- liblog \
- libcutils \
- libutils \
- libstlport
+ libz \
+ liblog \
+ libcutils \
+ libutils \
+ libstlport
static_libraries := \
- libgtest \
- libgtest_main
-
-c_includes := \
- external/zlib \
- external/icu4c/common \
- bionic \
- bionic/libstdc++/include \
- external/gtest/include \
- external/stlport/stlport
-
-module_tags := eng tests
+ libgtest \
+ libgtest_main
$(foreach file,$(test_src_files), \
$(eval include $(CLEAR_VARS)) \
$(eval LOCAL_SHARED_LIBRARIES := $(shared_libraries)) \
$(eval LOCAL_STATIC_LIBRARIES := $(static_libraries)) \
- $(eval LOCAL_C_INCLUDES := $(c_includes)) \
$(eval LOCAL_SRC_FILES := $(file)) \
$(eval LOCAL_MODULE := $(notdir $(file:%.cpp=%))) \
- $(eval LOCAL_MODULE_TAGS := $(module_tags)) \
- $(eval include $(BUILD_EXECUTABLE)) \
+ $(eval include $(BUILD_NATIVE_TEST)) \
)
diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp
index 92023ba..4aed5b5 100644
--- a/opengl/libs/EGL/eglApi.cpp
+++ b/opengl/libs/EGL/eglApi.cpp
@@ -1118,11 +1118,12 @@
const egl_display_ptr dp = validate_display(dpy);
if (!dp) return EGL_FALSE;
+ EGLBoolean result = EGL_FALSE;
egl_connection_t* const cnx = &gEGLImpl;
if (cnx->dso && cnx->egl.eglDestroyImageKHR) {
- cnx->egl.eglDestroyImageKHR(dp->disp.dpy, img);
+ result = cnx->egl.eglDestroyImageKHR(dp->disp.dpy, img);
}
- return EGL_TRUE;
+ return result;
}
// ----------------------------------------------------------------------------