OSDN Git Service

libbinder: MemoryHeapPmem: honor the NO_CACHING flag when creating a client heap
authorDima Zavin <dima@android.com>
Tue, 3 Nov 2009 00:02:43 +0000 (16:02 -0800)
committerDima Zavin <dima@android.com>
Tue, 3 Nov 2009 00:36:45 +0000 (16:36 -0800)
Change-Id: Ia7beb800f5a24beaa4b7f3032b486d4ed1991b23
Signed-off-by: Dima Zavin <dima@android.com>
libs/binder/MemoryHeapPmem.cpp

index 3806a42..c660947 100644 (file)
@@ -132,7 +132,7 @@ MemoryHeapPmem::MemoryHeapPmem(const sp<MemoryHeapBase>& pmemHeap,
     char const * const device = pmemHeap->getDevice();
 #if HAVE_ANDROID_OS
     if (device) {
-        int fd = open(device, O_RDWR);
+        int fd = open(device, O_RDWR | (flags & NO_CACHING ? O_SYNC : 0));
         LOGE_IF(fd<0, "couldn't open %s (%s)", device, strerror(errno));
         if (fd >= 0) {
             int err = ioctl(fd, PMEM_CONNECT, pmemHeap->heapID());