| Index: base/memory/shared_memory_handle_posix.cc
|
| diff --git a/base/memory/shared_memory_handle_posix.cc b/base/memory/shared_memory_handle_posix.cc
|
| index 3e9a403b14c23f8700cbf4105632c661edd6c6dc..b97455962521fd42f561152c935483c91eef429c 100644
|
| --- a/base/memory/shared_memory_handle_posix.cc
|
| +++ b/base/memory/shared_memory_handle_posix.cc
|
| @@ -8,24 +8,23 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/posix/eintr_wrapper.h"
|
| +#include "base/unguessable_token.h"
|
|
|
| namespace base {
|
|
|
| SharedMemoryHandle::SharedMemoryHandle() = default;
|
| -SharedMemoryHandle::SharedMemoryHandle(const SharedMemoryHandle& handle) =
|
| - default;
|
| -SharedMemoryHandle& SharedMemoryHandle::operator=(
|
| - const SharedMemoryHandle& handle) = default;
|
|
|
| SharedMemoryHandle::SharedMemoryHandle(
|
| - const base::FileDescriptor& file_descriptor)
|
| - : file_descriptor_(file_descriptor) {}
|
| + const base::FileDescriptor& file_descriptor,
|
| + const base::UnguessableToken& guid)
|
| + : file_descriptor_(file_descriptor), guid_(guid) {}
|
|
|
| // static
|
| SharedMemoryHandle SharedMemoryHandle::ImportHandle(int fd) {
|
| SharedMemoryHandle handle;
|
| handle.file_descriptor_.fd = fd;
|
| handle.file_descriptor_.auto_close = false;
|
| + handle.guid_ = UnguessableToken::Create();
|
| return handle;
|
| }
|
|
|
| @@ -59,7 +58,7 @@ SharedMemoryHandle SharedMemoryHandle::Duplicate() const {
|
| int duped_handle = HANDLE_EINTR(dup(file_descriptor_.fd));
|
| if (duped_handle < 0)
|
| return SharedMemoryHandle();
|
| - return SharedMemoryHandle(FileDescriptor(duped_handle, true));
|
| + return SharedMemoryHandle(FileDescriptor(duped_handle, true), GetGUID());
|
| }
|
|
|
| void SharedMemoryHandle::SetOwnershipPassesToIPC(bool ownership_passes) {
|
|
|