| Index: base/shared_memory_nacl.cc
|
| diff --git a/base/shared_memory_nacl.cc b/base/shared_memory_nacl.cc
|
| index fef293719ebc6b4898ac561d16f768b8d5f9366e..8d749867b49cc470b35ad7f7128cd35f593c97e6 100644
|
| --- a/base/shared_memory_nacl.cc
|
| +++ b/base/shared_memory_nacl.cc
|
| @@ -137,7 +137,18 @@ void SharedMemory::Unlock() {
|
| bool SharedMemory::ShareToProcessCommon(ProcessHandle process,
|
| SharedMemoryHandle *new_handle,
|
| bool close_self) {
|
| - return false;
|
| + const int new_fd = dup(mapped_file_);
|
| + if (new_fd < 0) {
|
| + DPLOG(ERROR) << "dup() failed.";
|
| + return false;
|
| + }
|
| +
|
| + new_handle->fd = new_fd;
|
| + new_handle->auto_close = true;
|
| +
|
| + if (close_self)
|
| + Close();
|
| + return true;
|
| }
|
|
|
| } // namespace base
|
|
|