Loading opengl/libs/EGL/egl_cache.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -241,19 +241,11 @@ void egl_cache_t::saveBlobCacheLocked() { } size_t fileSize = headerSize + cacheSize; if (ftruncate(fd, fileSize) == -1) { ALOGE("error setting cache file size: %s (%d)", strerror(errno), errno); close(fd); unlink(fname); return; } uint8_t* buf = reinterpret_cast<uint8_t*>(mmap(NULL, fileSize, PROT_WRITE, MAP_SHARED, fd, 0)); if (buf == MAP_FAILED) { ALOGE("error mmaping cache file: %s (%d)", strerror(errno), errno); uint8_t* buf = new uint8_t [fileSize]; if (!buf) { ALOGE("error allocating buffer for cache contents: %s (%d)", strerror(errno), errno); close(fd); unlink(fname); return; Loading @@ -264,7 +256,7 @@ void egl_cache_t::saveBlobCacheLocked() { if (err != OK) { ALOGE("error writing cache contents: %s (%d)", strerror(-err), -err); munmap(buf, fileSize); delete [] buf; close(fd); unlink(fname); return; Loading @@ -275,7 +267,16 @@ void egl_cache_t::saveBlobCacheLocked() { uint32_t* crc = reinterpret_cast<uint32_t*>(buf + 4); *crc = crc32c(buf + headerSize, cacheSize); munmap(buf, fileSize); if (write(fd, buf, fileSize) == -1) { ALOGE("error writing cache file: %s (%d)", strerror(errno), errno); delete [] buf; close(fd); unlink(fname); return; } delete [] buf; fchmod(fd, S_IRUSR); close(fd); } Loading Loading
opengl/libs/EGL/egl_cache.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -241,19 +241,11 @@ void egl_cache_t::saveBlobCacheLocked() { } size_t fileSize = headerSize + cacheSize; if (ftruncate(fd, fileSize) == -1) { ALOGE("error setting cache file size: %s (%d)", strerror(errno), errno); close(fd); unlink(fname); return; } uint8_t* buf = reinterpret_cast<uint8_t*>(mmap(NULL, fileSize, PROT_WRITE, MAP_SHARED, fd, 0)); if (buf == MAP_FAILED) { ALOGE("error mmaping cache file: %s (%d)", strerror(errno), errno); uint8_t* buf = new uint8_t [fileSize]; if (!buf) { ALOGE("error allocating buffer for cache contents: %s (%d)", strerror(errno), errno); close(fd); unlink(fname); return; Loading @@ -264,7 +256,7 @@ void egl_cache_t::saveBlobCacheLocked() { if (err != OK) { ALOGE("error writing cache contents: %s (%d)", strerror(-err), -err); munmap(buf, fileSize); delete [] buf; close(fd); unlink(fname); return; Loading @@ -275,7 +267,16 @@ void egl_cache_t::saveBlobCacheLocked() { uint32_t* crc = reinterpret_cast<uint32_t*>(buf + 4); *crc = crc32c(buf + headerSize, cacheSize); munmap(buf, fileSize); if (write(fd, buf, fileSize) == -1) { ALOGE("error writing cache file: %s (%d)", strerror(errno), errno); delete [] buf; close(fd); unlink(fname); return; } delete [] buf; fchmod(fd, S_IRUSR); close(fd); } Loading