Convert base::ScopedFD to (mojo::embedder::)ScopedPlatformHandle. R=vardhan@google.com Review URL: https://codereview.chromium.org/1346643003 .
diff --git a/mojo/edk/embedder/platform_handle.h b/mojo/edk/embedder/platform_handle.h index 346301a..743d02c 100644 --- a/mojo/edk/embedder/platform_handle.h +++ b/mojo/edk/embedder/platform_handle.h
@@ -15,6 +15,7 @@ namespace mojo { namespace embedder { +// A |PlatformHandle| is a file descriptor on POSIX and a |HANDLE| on Windows. #if defined(OS_POSIX) struct MOJO_SYSTEM_IMPL_EXPORT PlatformHandle { PlatformHandle() : fd(-1) {}
diff --git a/mojo/edk/embedder/scoped_platform_handle.h b/mojo/edk/embedder/scoped_platform_handle.h index aec4482..0e80583 100644 --- a/mojo/edk/embedder/scoped_platform_handle.h +++ b/mojo/edk/embedder/scoped_platform_handle.h
@@ -13,6 +13,8 @@ namespace mojo { namespace embedder { +// Scoper for |PlatformHandle|s, which are file descriptors on POSIX and +// |HANDLE|s on Windows. class MOJO_SYSTEM_IMPL_EXPORT ScopedPlatformHandle { MOVE_ONLY_TYPE_WITH_MOVE_CONSTRUCTOR_FOR_CPP_03(ScopedPlatformHandle)
diff --git a/mojo/edk/embedder/simple_platform_shared_buffer_android.cc b/mojo/edk/embedder/simple_platform_shared_buffer_android.cc index 60219f9..6ee24e7 100644 --- a/mojo/edk/embedder/simple_platform_shared_buffer_android.cc +++ b/mojo/edk/embedder/simple_platform_shared_buffer_android.cc
@@ -10,9 +10,7 @@ #include <limits> -#include "base/files/scoped_file.h" #include "base/logging.h" -#include "mojo/edk/embedder/platform_handle.h" #include "third_party/ashmem/ashmem.h" namespace mojo { @@ -28,18 +26,19 @@ return false; } - base::ScopedFD fd(ashmem_create_region(nullptr, num_bytes_)); - if (!fd.is_valid()) { + ScopedPlatformHandle handle( + PlatformHandle(ashmem_create_region(nullptr, num_bytes_))); + if (!handle.is_valid()) { DPLOG(ERROR) << "ashmem_create_region()"; return false; } - if (ashmem_set_prot_region(fd.get(), PROT_READ | PROT_WRITE) < 0) { + if (ashmem_set_prot_region(handle.get().fd, PROT_READ | PROT_WRITE) < 0) { DPLOG(ERROR) << "ashmem_set_prot_region()"; return false; } - handle_.reset(PlatformHandle(fd.release())); + handle_ = handle.Pass(); return true; }
diff --git a/mojo/edk/embedder/simple_platform_shared_buffer_posix.cc b/mojo/edk/embedder/simple_platform_shared_buffer_posix.cc index 4bae02e..5e09e7d 100644 --- a/mojo/edk/embedder/simple_platform_shared_buffer_posix.cc +++ b/mojo/edk/embedder/simple_platform_shared_buffer_posix.cc
@@ -20,7 +20,6 @@ #include "base/posix/eintr_wrapper.h" #include "base/sys_info.h" #include "base/threading/thread_restrictions.h" -#include "mojo/edk/embedder/platform_handle.h" // We assume that |size_t| and |off_t| (type for |ftruncate()|) fits in a // |uint64_t|. @@ -71,18 +70,19 @@ } // Note: |dup()| is not interruptible (but |dup2()|/|dup3()| are). - base::ScopedFD fd(dup(fileno(fp.get()))); - if (!fd.is_valid()) { + ScopedPlatformHandle handle(PlatformHandle(dup(fileno(fp.get())))); + if (!handle.is_valid()) { PLOG(ERROR) << "dup"; return false; } - if (HANDLE_EINTR(ftruncate(fd.get(), static_cast<off_t>(num_bytes_))) != 0) { + if (HANDLE_EINTR( + ftruncate(handle.get().fd, static_cast<off_t>(num_bytes_))) != 0) { PLOG(ERROR) << "ftruncate"; return false; } - handle_.reset(PlatformHandle(fd.release())); + handle_ = handle.Pass(); return true; }