dbf6f272a2
There is apparently still a race upon reading the entry Local File Header that can't be tracked down, so move the LFH check inside the mutex-protected block so we can call lseek again to see where we are when we log an error. Also, close() can fail so use TEMP_FAILURE_RETRY on it so we don't unwittingly leak file descriptors when Mean Mr. EINTR comes a-knocking. Change-Id: I753abad0bd882fe28f7281c406fa76f64393ef4c |
||
---|---|---|
.. | ||
tests | ||
Android.mk | ||
Asset.cpp | ||
AssetDir.cpp | ||
AssetManager.cpp | ||
BackupData.cpp | ||
BackupHelpers.cpp | ||
BufferedTextOutput.cpp | ||
CallStack.cpp | ||
Debug.cpp | ||
FileMap.cpp | ||
Flattenable.cpp | ||
Looper.cpp | ||
misc.cpp | ||
MODULE_LICENSE_APACHE2 | ||
NOTICE | ||
ObbFile.cpp | ||
Pool.cpp | ||
README | ||
RefBase.cpp | ||
ResourceTypes.cpp | ||
SharedBuffer.cpp | ||
Static.cpp | ||
StopWatch.cpp | ||
StreamingZipInflater.cpp | ||
String8.cpp | ||
String16.cpp | ||
StringArray.cpp | ||
SystemClock.cpp | ||
TextOutput.cpp | ||
Threads.cpp | ||
Timers.cpp | ||
VectorImpl.cpp | ||
ZipFileCRO.cpp | ||
ZipFileRO.cpp | ||
ZipUtils.cpp |
Android Utility Function Library If you need a feature that is native to Linux but not present on other platforms, construct a platform-dependent implementation that shares the Linux interface. That way the actual device runs as "light" as possible. If that isn't feasible, create a system-independent interface and hide the details. The ultimate goal is *not* to create a super-duper platform abstraction layer. The goal is to provide an optimized solution for Linux with reasonable implementations for other platforms.