summaryrefslogtreecommitdiffstats
path: root/libutils/FileMap.cpp
Commit message (Collapse)AuthorAgeFilesLines
* MappedFile and FileMap should support zero-length mappings.Elliott Hughes2019-02-061-19/+14
| | | | | | Bug: http://b/119818070 "app crashes when reading asset of zero length" Test: ran tests Change-Id: Idd2ad6f6e72c8e445aff78a460fac96dea41c950
* Add noexcept to move constructors and assignment operators.Chih-Hung Hsieh2018-10-051-5/+11
| | | | | | Bug: 116614593 Test: build with WITH_TIDY=1 Change-Id: I5a7461386946ca623ab509609092aa0ac8418b80
* [libutils] Modernize codebase by replacing NULL with nullptrYi Kong2018-07-161-12/+12
| | | | | | | | Fixes -Wzero-as-null-pointer-constant warning. Test: m Bug: 68236239 Change-Id: I5e89ec8c42151875439d2656475a8739ab9cb7dc
* Fix uninitialized member variableRenaud Paquay2017-05-111-8/+16
| | | | | | | | | | | | | | The default constructor of FileMap was missing an initializer for the mFileMapping variables. This results in CloseHandle being called with a "random" value, which can cause havoc in Win32 process over time (e.g. in the case of libaapt2_jni.dll, which is loaded in a JVM process). Also, update the code to use "NULL" for invalid file map handle and "INVALID_HANDLE_VALUE" for invalid file handle. Bug: 38197857 Test: Stress testing on (Windows) machine Change-Id: Ibd769219d601fbafcfcee89e848b31cc5137826c
* Fix warnings in libutils headersColin Cross2016-09-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | system/core/include is included in the global include path using -isystem, which hides all warnings. Fix warnings in libutils headers in preparation for moving from -isystem to -I. - Fix implicit cast from int64_t to long in Condition.h. Remove the __LP64__ check and always compare against LONG_MAX before casting. - Fix implicit cast from size_t to ssize_t in KeyedVector.h - Fix -Wshadow-field-in-constructor warnings in Looper.h and RefBase.h - Move destructors for MessageHandler and LooperCallback to Looper.cpp and ReferenceRenamer and VirtualLightRefBase to RefBase.cpp to prevent vtables in every compilation unit. - Declare template variables in Singleton.h - Fix old-style casts in StrongPointer.h and TypeHelpers.h - Use template metaprogramming in TypeHelpers.h to avoid warnings on memmove on non-trivial types. - Add an assignment operator to key_value_pair_t to complete rule-of-three - Use memcpy instead of dereferencing a reinterpret_casted pointer to treat the bits of a float or double as int32_t or int64_t - Escape unicode sequences inside doxygen comments between \code and \endcode - Remove WIN32 ZD definition in Compat.h, %zd works fine with mingw - Fix WIN32 printf warnings in Filemap.cpp - Initialize mNullValue with 0 in LruCache.h, some of the tests use a non-pointer type for TValue. Test: m -j native Bug: 31492149 Change-Id: I385a05a3ca01258e44fe3b37ef77e4aaff547b26
* Implement C++11 move semantics for android::FileMapAdam Lesinski2015-10-011-0/+37
| | | | | | | FileMaps should be movable, thereby not requiring them to be only used with a unique_ptr as they currently are. Change-Id: I0fb8013bf398a2ced5420d85ba888c2a7fc5a496
* Remove useless refCounting from FileMap.Narayan Kamath2015-02-231-7/+1
| | | | | | | | | Nobody ever called acquire() so release() was always equivalent to delete. Just use delete instead so that people can use unique_ptr directly (or shared_ptr if they really want refcounts). Change-Id: I9e3ad5e0f6a4fcc4e02e5a2ff7ef9514fe234415
* Remove reference to NOT_USING_KLIBC and cygwin.Narayan Kamath2015-02-191-14/+1
| | | | | | | | | | | | The reference to NOT_USING_KLIBC appears to be the only one in our codebase. This change also removes some cygwin specific retry logic - all other supported platforms in this section of the code should support mapping at an offset. Note that i've reversed the sense of the check, we always sysconf since that's recommended practice. Change-Id: Ib985fb665193d7a07a282f7092cd77c0bc508a66
* kill HAVE_MADVISEYabin Cui2014-11-191-2/+6
| | | | | | Change to avoid "unused parameter" warning. Bug: 18397020 Change-Id: I4b26de55314c78237daead8e873385b97cafe4d4
* kill HAVE_MADVISEYabin Cui2014-11-181-2/+2
| | | | | Bug: 18397020 Change-Id: Ibc8d886d729c51932a403531888214de4e541452
* kill HAVE_POSIX_FILEMAPYabin Cui2014-11-111-12/+10
| | | | | Bug: 18315579 Change-Id: I0bd5fb946b12cb90e0c9c73a478df41609b8c3e2
* Fix windows specific behavior of FileMapXavier Ducrohet2014-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | | The implementation of the FileMap destructor would close the file, only on Windows, which did not match the behavior on mac/linux. This is because calling munmap does not close the file descriptor. It must be closed separately, before or after munmap. On Windows, the file must also be closed manually, before or after closing the mappingFile. The change basically removes the closing file from the windows-specific part of the destructor, to make behavior more consistent on all platforms where the caller to FileMap is responsible for closing its own file (since FileMap receives an opened file). Change-Id: I5e3cfffbb870d5f3595802ccac57dbc1dbf1ce6e
* libutils: turn on -WerrorMark Salyzyn2014-06-021-2/+8
| | | | | | | | | - Deal with some -Wunused issues - Override PRI macros (windows) - Revert use of PRI macros on off64_t (linux) - Deal with a gnu++11 complaince issue Change-Id: Ie66751293bd84477a5a6dfd8a57e700a16e36964
* libutils: FileMap styling adjustmentsMark Salyzyn2014-04-171-35/+26
| | | | Change-Id: I487ebe67a46a7b8f680e722141dd216bbd396f3e
* libutils: FileMap 64 bit compile issuesMark Salyzyn2014-04-171-9/+10
| | | | Change-Id: Ie7a0aeb2a7e2d2a90aa2b97c657ea7ec566bf793
* move libs/utils to libutilsAlex Ray2013-08-021-0/+225
Change-Id: I6cf4268599460791414882f91eeb88a992fbd29d