replicant-frameworks_native/libs/utils
Kenny Root dbf6f272a2 ZipFileRO: moar logging and wrap close
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
2010-10-01 18:30:59 -07:00
..
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 ZipFileRO: moar logging and wrap close 2010-10-01 18:30:59 -07:00
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.