Loading include/utils/FileMap.h +2 −16 Original line number Diff line number Diff line Loading @@ -63,6 +63,8 @@ public: bool create(const char* origFileName, int fd, off64_t offset, size_t length, bool readOnly); ~FileMap(void); /* * Return the name of the file this map came from, if known. */ Loading @@ -83,19 +85,6 @@ public: */ off64_t getDataOffset(void) const { return mDataOffset; } /* * Get a "copy" of the object. */ FileMap* acquire(void) { mRefCount++; return this; } /* * Call this when mapping is no longer needed. */ void release(void) { if (--mRefCount <= 0) delete this; } /* * This maps directly to madvise() values, but allows us to avoid * including <sys/mman.h> everywhere. Loading @@ -112,15 +101,12 @@ public: int advise(MapAdvice advice); protected: // don't delete objects; call release() ~FileMap(void); private: // these are not implemented FileMap(const FileMap& src); const FileMap& operator=(const FileMap& src); int mRefCount; // reference count char* mFileName; // original file name, if known void* mBasePtr; // base of mmap area; page aligned size_t mBaseLength; // length, measured from "mBasePtr" Loading libutils/FileMap.cpp +1 −7 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ using namespace android; // Constructor. Create an empty object. FileMap::FileMap(void) : mRefCount(1), mFileName(NULL), mBasePtr(NULL), mBaseLength(0), : mFileName(NULL), mBasePtr(NULL), mBaseLength(0), mDataPtr(NULL), mDataLength(0) { } Loading @@ -56,11 +56,6 @@ FileMap::FileMap(void) // Destructor. FileMap::~FileMap(void) { assert(mRefCount == 0); //printf("+++ removing FileMap %p %zu\n", mDataPtr, mDataLength); mRefCount = -100; // help catch double-free if (mFileName != NULL) { free(mFileName); } Loading Loading @@ -134,7 +129,6 @@ bool FileMap::create(const char* origFileName, int fd, off64_t offset, size_t le void* ptr; assert(mRefCount == 1); assert(fd >= 0); assert(offset >= 0); assert(length > 0); Loading libutils/Tokenizer.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -43,9 +43,7 @@ Tokenizer::Tokenizer(const String8& filename, FileMap* fileMap, char* buffer, } Tokenizer::~Tokenizer() { if (mFileMap) { mFileMap->release(); } delete mFileMap; if (mOwnBuffer) { delete[] mBuffer; } Loading Loading @@ -74,7 +72,7 @@ status_t Tokenizer::open(const String8& filename, Tokenizer** outTokenizer) { fileMap->advise(FileMap::SEQUENTIAL); buffer = static_cast<char*>(fileMap->getDataPtr()); } else { fileMap->release(); delete fileMap; fileMap = NULL; // Fall back to reading into a buffer since we can't mmap files in sysfs. Loading libziparchive/zip_archive.cc +3 −5 Original line number Diff line number Diff line Loading @@ -321,9 +321,7 @@ struct ZipArchive { close(fd); } if (directory_map != NULL) { directory_map->release(); } delete directory_map; free(hash_table); } }; Loading @@ -335,7 +333,7 @@ static android::FileMap* MapFileSegment(const int fd, const off64_t start, android::FileMap* file_map = new android::FileMap; const bool success = file_map->create(debug_file_name, fd, start, length, read_only); if (!success) { file_map->release(); delete file_map; return NULL; } Loading Loading @@ -1170,7 +1168,7 @@ int32_t ExtractEntryToFile(ZipArchiveHandle handle, const int32_t error = ExtractToMemory(handle, entry, reinterpret_cast<uint8_t*>(map->getDataPtr()), map->getDataLength()); map->release(); delete map; return error; } Loading Loading
include/utils/FileMap.h +2 −16 Original line number Diff line number Diff line Loading @@ -63,6 +63,8 @@ public: bool create(const char* origFileName, int fd, off64_t offset, size_t length, bool readOnly); ~FileMap(void); /* * Return the name of the file this map came from, if known. */ Loading @@ -83,19 +85,6 @@ public: */ off64_t getDataOffset(void) const { return mDataOffset; } /* * Get a "copy" of the object. */ FileMap* acquire(void) { mRefCount++; return this; } /* * Call this when mapping is no longer needed. */ void release(void) { if (--mRefCount <= 0) delete this; } /* * This maps directly to madvise() values, but allows us to avoid * including <sys/mman.h> everywhere. Loading @@ -112,15 +101,12 @@ public: int advise(MapAdvice advice); protected: // don't delete objects; call release() ~FileMap(void); private: // these are not implemented FileMap(const FileMap& src); const FileMap& operator=(const FileMap& src); int mRefCount; // reference count char* mFileName; // original file name, if known void* mBasePtr; // base of mmap area; page aligned size_t mBaseLength; // length, measured from "mBasePtr" Loading
libutils/FileMap.cpp +1 −7 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ using namespace android; // Constructor. Create an empty object. FileMap::FileMap(void) : mRefCount(1), mFileName(NULL), mBasePtr(NULL), mBaseLength(0), : mFileName(NULL), mBasePtr(NULL), mBaseLength(0), mDataPtr(NULL), mDataLength(0) { } Loading @@ -56,11 +56,6 @@ FileMap::FileMap(void) // Destructor. FileMap::~FileMap(void) { assert(mRefCount == 0); //printf("+++ removing FileMap %p %zu\n", mDataPtr, mDataLength); mRefCount = -100; // help catch double-free if (mFileName != NULL) { free(mFileName); } Loading Loading @@ -134,7 +129,6 @@ bool FileMap::create(const char* origFileName, int fd, off64_t offset, size_t le void* ptr; assert(mRefCount == 1); assert(fd >= 0); assert(offset >= 0); assert(length > 0); Loading
libutils/Tokenizer.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -43,9 +43,7 @@ Tokenizer::Tokenizer(const String8& filename, FileMap* fileMap, char* buffer, } Tokenizer::~Tokenizer() { if (mFileMap) { mFileMap->release(); } delete mFileMap; if (mOwnBuffer) { delete[] mBuffer; } Loading Loading @@ -74,7 +72,7 @@ status_t Tokenizer::open(const String8& filename, Tokenizer** outTokenizer) { fileMap->advise(FileMap::SEQUENTIAL); buffer = static_cast<char*>(fileMap->getDataPtr()); } else { fileMap->release(); delete fileMap; fileMap = NULL; // Fall back to reading into a buffer since we can't mmap files in sysfs. Loading
libziparchive/zip_archive.cc +3 −5 Original line number Diff line number Diff line Loading @@ -321,9 +321,7 @@ struct ZipArchive { close(fd); } if (directory_map != NULL) { directory_map->release(); } delete directory_map; free(hash_table); } }; Loading @@ -335,7 +333,7 @@ static android::FileMap* MapFileSegment(const int fd, const off64_t start, android::FileMap* file_map = new android::FileMap; const bool success = file_map->create(debug_file_name, fd, start, length, read_only); if (!success) { file_map->release(); delete file_map; return NULL; } Loading Loading @@ -1170,7 +1168,7 @@ int32_t ExtractEntryToFile(ZipArchiveHandle handle, const int32_t error = ExtractToMemory(handle, entry, reinterpret_cast<uint8_t*>(map->getDataPtr()), map->getDataLength()); map->release(); delete map; return error; } Loading