Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1261)

Unified Diff: mojo/edk/embedder/platform_shared_buffer.cc

Issue 2843113002: make base::SharedMemoryHandle a class on POSIX. (Closed)
Patch Set: Fix test error. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/edk/embedder/platform_shared_buffer.cc
diff --git a/mojo/edk/embedder/platform_shared_buffer.cc b/mojo/edk/embedder/platform_shared_buffer.cc
index 623e653925f9954358cd829dd6344ddea84f6f2b..514cbeb523f9441a34d23cf96f967577e4139d06 100644
--- a/mojo/edk/embedder/platform_shared_buffer.cc
+++ b/mojo/edk/embedder/platform_shared_buffer.cc
@@ -29,12 +29,10 @@ namespace {
// Takes ownership of |memory_handle|.
ScopedPlatformHandle SharedMemoryToPlatformHandle(
base::SharedMemoryHandle memory_handle) {
-#if defined(OS_POSIX) && !(defined(OS_MACOSX) && !defined(OS_IOS))
- return ScopedPlatformHandle(PlatformHandle(memory_handle.fd));
-#elif defined(OS_WIN)
- return ScopedPlatformHandle(PlatformHandle(memory_handle.GetHandle()));
-#else
+#if defined(OS_MACOSX) && !defined(OS_IOS)
return ScopedPlatformHandle(PlatformHandle(memory_handle.GetMemoryObject()));
+#else
+ return ScopedPlatformHandle(PlatformHandle(memory_handle.GetHandle()));
#endif
}
@@ -148,9 +146,9 @@ std::unique_ptr<PlatformSharedBufferMapping> PlatformSharedBuffer::MapNoCheck(
}
// TODO(crbug.com/706689): Remove this when the bug is sorted out.
- CHECK(handle != base::SharedMemory::NULLHandle());
+ CHECK(handle.IsValid());
- if (handle == base::SharedMemory::NULLHandle())
+ if (!handle.IsValid())
return nullptr;
std::unique_ptr<PlatformSharedBufferMapping> mapping(
@@ -168,7 +166,7 @@ ScopedPlatformHandle PlatformSharedBuffer::DuplicatePlatformHandle() {
base::AutoLock locker(lock_);
handle = base::SharedMemory::DuplicateHandle(shared_memory_->handle());
}
- if (handle == base::SharedMemory::NULLHandle())
+ if (!handle.IsValid())
return ScopedPlatformHandle();
return SharedMemoryToPlatformHandle(handle);
@@ -200,7 +198,7 @@ PlatformSharedBuffer* PlatformSharedBuffer::CreateReadOnlyDuplicate() {
base::AutoLock locker(lock_);
base::SharedMemoryHandle handle;
handle = base::SharedMemory::DuplicateHandle(ro_shared_memory_->handle());
- if (handle == base::SharedMemory::NULLHandle())
+ if (!handle.IsValid())
return nullptr;
return CreateFromSharedMemoryHandle(num_bytes_, true, handle);
}
@@ -212,8 +210,8 @@ PlatformSharedBuffer* PlatformSharedBuffer::CreateReadOnlyDuplicate() {
success = shared_memory_->ShareReadOnlyToProcess(
base::GetCurrentProcessHandle(), &handle);
}
- if (!success || handle == base::SharedMemory::NULLHandle())
- return nullptr;
+ if (!success || !handle.IsValid())
+ return nullptr;
return CreateFromSharedMemoryHandle(num_bytes_, true, handle);
}
@@ -248,7 +246,8 @@ bool PlatformSharedBuffer::InitFromPlatformHandle(
handle = base::SharedMemoryHandle(platform_handle.release().port, num_bytes_,
base::GetCurrentProcId());
#else
- base::SharedMemoryHandle handle(platform_handle.release().handle, false);
+ base::SharedMemoryHandle handle(
+ base::FileDescriptor(platform_handle.release().handle, false));
#endif
shared_memory_.reset(new base::SharedMemory(handle, read_only_));
@@ -269,9 +268,10 @@ bool PlatformSharedBuffer::InitFromPlatformHandlePair(
base::SharedMemoryHandle ro_handle(ro_platform_handle.release().handle,
base::GetCurrentProcId());
#else // defined(OS_WIN)
- base::SharedMemoryHandle handle(rw_platform_handle.release().handle, false);
- base::SharedMemoryHandle ro_handle(ro_platform_handle.release().handle,
- false);
+ base::SharedMemoryHandle handle(
+ base::FileDescriptor(rw_platform_handle.release().handle, false));
+ base::SharedMemoryHandle ro_handle(
+ base::FileDescriptor(ro_platform_handle.release().handle, false));
#endif // defined(OS_WIN)
DCHECK(!shared_memory_);

Powered by Google App Engine
This is Rietveld 408576698