diff options
author | Elliott Hughes <enh@google.com> | 2013-03-13 19:28:17 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-03-13 19:28:17 -0700 |
commit | 9b57ad737bceba9f8d4f5be303c70fa72be00eaf (patch) | |
tree | 0c7abf312040b931533ddf72874bbb2c8f9966bc | |
parent | 1d6e52d17e2df913e10925c5e3e652d3421ff320 (diff) | |
parent | 8facd1b2ea02796b575f123b420590d2b8354910 (diff) | |
download | frameworks_native-9b57ad737bceba9f8d4f5be303c70fa72be00eaf.zip frameworks_native-9b57ad737bceba9f8d4f5be303c70fa72be00eaf.tar.gz frameworks_native-9b57ad737bceba9f8d4f5be303c70fa72be00eaf.tar.bz2 |
am 8facd1b2: Merge "Add a compatibility symbol for the MemoryBase constructor."
* commit '8facd1b2ea02796b575f123b420590d2b8354910':
Add a compatibility symbol for the MemoryBase constructor.
-rw-r--r-- | include/binder/MemoryBase.h | 3 | ||||
-rw-r--r-- | libs/binder/IMemory.cpp | 6 | ||||
-rw-r--r-- | libs/binder/MemoryBase.cpp | 9 |
3 files changed, 15 insertions, 3 deletions
diff --git a/include/binder/MemoryBase.h b/include/binder/MemoryBase.h index 463e26d..fa0b8d1 100644 --- a/include/binder/MemoryBase.h +++ b/include/binder/MemoryBase.h @@ -40,6 +40,9 @@ protected: const sp<IMemoryHeap>& getHeap() const { return mHeap; } private: + // Backwards compatibility for libdatabase_sqlcipher (http://b/8253769). + MemoryBase(const sp<IMemoryHeap>& heap, long offset, unsigned int size); + size_t mSize; ssize_t mOffset; sp<IMemoryHeap> mHeap; diff --git a/libs/binder/IMemory.cpp b/libs/binder/IMemory.cpp index cd2451a..947ac19 100644 --- a/libs/binder/IMemory.cpp +++ b/libs/binder/IMemory.cpp @@ -298,11 +298,11 @@ void BpMemoryHeap::assertReallyMapped() const uint32_t flags = reply.readInt32(); uint32_t offset = reply.readInt32(); - ALOGE_IF(err, "binder=%p transaction failed fd=%d, size=%ld, err=%d (%s)", + ALOGE_IF(err, "binder=%p transaction failed fd=%d, size=%d, err=%d (%s)", asBinder().get(), parcel_fd, size, err, strerror(-err)); int fd = dup( parcel_fd ); - ALOGE_IF(fd==-1, "cannot dup fd=%d, size=%ld, err=%d (%s)", + ALOGE_IF(fd==-1, "cannot dup fd=%d, size=%d, err=%d (%s)", parcel_fd, size, err, strerror(errno)); int access = PROT_READ; @@ -315,7 +315,7 @@ void BpMemoryHeap::assertReallyMapped() const mRealHeap = true; mBase = mmap(0, size, access, MAP_SHARED, fd, offset); if (mBase == MAP_FAILED) { - ALOGE("cannot map BpMemoryHeap (binder=%p), size=%ld, fd=%d (%s)", + ALOGE("cannot map BpMemoryHeap (binder=%p), size=%d, fd=%d (%s)", asBinder().get(), size, fd, strerror(errno)); close(fd); } else { diff --git a/libs/binder/MemoryBase.cpp b/libs/binder/MemoryBase.cpp index 033066b..835124f 100644 --- a/libs/binder/MemoryBase.cpp +++ b/libs/binder/MemoryBase.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#define LOG_TAG "MemoryBase" #include <stdlib.h> #include <stdint.h> @@ -31,6 +32,14 @@ MemoryBase::MemoryBase(const sp<IMemoryHeap>& heap, { } +MemoryBase::MemoryBase(const sp<IMemoryHeap>& heap, + long offset, unsigned int size) + : mSize(size), mOffset(offset), mHeap(heap) +{ + ALOGW("Using temporary compatibility workaround for usage of MemoryBase " + "private API. Please fix your application!"); +} + sp<IMemoryHeap> MemoryBase::getMemory(ssize_t* offset, size_t* size) const { if (offset) *offset = mOffset; |