Merge change Ibaef6141 into eclair

* changes:
  libbinder: add a NO_CACHING flag to MemoryHeapBase
This commit is contained in:
Android (Google) Code Review
2009-11-02 17:55:43 -05:00
2 changed files with 7 additions and 2 deletions

View File

@ -35,7 +35,8 @@ public:
MAP_ONCE = IMemoryHeap::MAP_ONCE,
// memory won't be mapped locally, but will be mapped in the remote
// process.
DONT_MAP_LOCALLY = 0x00000100
DONT_MAP_LOCALLY = 0x00000100,
NO_CACHING = 0x00000200
};
/*

View File

@ -67,7 +67,11 @@ MemoryHeapBase::MemoryHeapBase(const char* device, size_t size, uint32_t flags)
: mFD(-1), mSize(0), mBase(MAP_FAILED), mFlags(flags),
mDevice(0), mNeedUnmap(false)
{
int fd = open(device, O_RDWR);
int open_flags = O_RDWR;
if (flags & NO_CACHING)
open_flags |= O_SYNC;
int fd = open(device, open_flags);
LOGE_IF(fd<0, "error opening %s: %s", device, strerror(errno));
if (fd >= 0) {
const size_t pagesize = getpagesize();