| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "mojo/edk/embedder/platform_shared_buffer.h" | 5 #include "mojo/edk/embedder/platform_shared_buffer.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 | 230 |
| 231 shared_memory_.reset(new base::SharedMemory); | 231 shared_memory_.reset(new base::SharedMemory); |
| 232 return shared_memory_->Create(options); | 232 return shared_memory_->Create(options); |
| 233 } | 233 } |
| 234 | 234 |
| 235 bool PlatformSharedBuffer::InitFromPlatformHandle( | 235 bool PlatformSharedBuffer::InitFromPlatformHandle( |
| 236 ScopedPlatformHandle platform_handle) { | 236 ScopedPlatformHandle platform_handle) { |
| 237 DCHECK(!shared_memory_); | 237 DCHECK(!shared_memory_); |
| 238 | 238 |
| 239 #if defined(OS_WIN) | 239 #if defined(OS_WIN) |
| 240 base::SharedMemoryHandle handle(platform_handle.release().handle, | 240 base::SharedMemoryHandle handle(platform_handle.release().handle); |
| 241 base::GetCurrentProcId()); | |
| 242 #elif defined(OS_MACOSX) && !defined(OS_IOS) | 241 #elif defined(OS_MACOSX) && !defined(OS_IOS) |
| 243 base::SharedMemoryHandle handle; | 242 base::SharedMemoryHandle handle; |
| 244 handle = base::SharedMemoryHandle(platform_handle.release().port, num_bytes_, | 243 handle = base::SharedMemoryHandle(platform_handle.release().port, num_bytes_); |
| 245 base::GetCurrentProcId()); | |
| 246 #else | 244 #else |
| 247 base::SharedMemoryHandle handle( | 245 base::SharedMemoryHandle handle( |
| 248 base::FileDescriptor(platform_handle.release().handle, false)); | 246 base::FileDescriptor(platform_handle.release().handle, false)); |
| 249 #endif | 247 #endif |
| 250 | 248 |
| 251 shared_memory_.reset(new base::SharedMemory(handle, read_only_)); | 249 shared_memory_.reset(new base::SharedMemory(handle, read_only_)); |
| 252 return true; | 250 return true; |
| 253 } | 251 } |
| 254 | 252 |
| 255 bool PlatformSharedBuffer::InitFromPlatformHandlePair( | 253 bool PlatformSharedBuffer::InitFromPlatformHandlePair( |
| 256 ScopedPlatformHandle rw_platform_handle, | 254 ScopedPlatformHandle rw_platform_handle, |
| 257 ScopedPlatformHandle ro_platform_handle) { | 255 ScopedPlatformHandle ro_platform_handle) { |
| 258 #if defined(OS_MACOSX) | 256 #if defined(OS_MACOSX) |
| 259 NOTREACHED(); | 257 NOTREACHED(); |
| 260 return false; | 258 return false; |
| 261 #else // defined(OS_MACOSX) | 259 #else // defined(OS_MACOSX) |
| 262 | 260 |
| 263 #if defined(OS_WIN) | 261 #if defined(OS_WIN) |
| 264 base::SharedMemoryHandle handle(rw_platform_handle.release().handle, | 262 base::SharedMemoryHandle handle(rw_platform_handle.release().handle); |
| 265 base::GetCurrentProcId()); | 263 base::SharedMemoryHandle ro_handle(ro_platform_handle.release().handle); |
| 266 base::SharedMemoryHandle ro_handle(ro_platform_handle.release().handle, | |
| 267 base::GetCurrentProcId()); | |
| 268 #else // defined(OS_WIN) | 264 #else // defined(OS_WIN) |
| 269 base::SharedMemoryHandle handle( | 265 base::SharedMemoryHandle handle( |
| 270 base::FileDescriptor(rw_platform_handle.release().handle, false)); | 266 base::FileDescriptor(rw_platform_handle.release().handle, false)); |
| 271 base::SharedMemoryHandle ro_handle( | 267 base::SharedMemoryHandle ro_handle( |
| 272 base::FileDescriptor(ro_platform_handle.release().handle, false)); | 268 base::FileDescriptor(ro_platform_handle.release().handle, false)); |
| 273 #endif // defined(OS_WIN) | 269 #endif // defined(OS_WIN) |
| 274 | 270 |
| 275 DCHECK(!shared_memory_); | 271 DCHECK(!shared_memory_); |
| 276 shared_memory_.reset(new base::SharedMemory(handle, false)); | 272 shared_memory_.reset(new base::SharedMemory(handle, false)); |
| 277 ro_shared_memory_.reset(new base::SharedMemory(ro_handle, true)); | 273 ro_shared_memory_.reset(new base::SharedMemory(ro_handle, true)); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 base_ = static_cast<char*>(shared_memory_.memory()) + offset_rounding; | 326 base_ = static_cast<char*>(shared_memory_.memory()) + offset_rounding; |
| 331 return true; | 327 return true; |
| 332 } | 328 } |
| 333 | 329 |
| 334 void PlatformSharedBufferMapping::Unmap() { | 330 void PlatformSharedBufferMapping::Unmap() { |
| 335 shared_memory_.Unmap(); | 331 shared_memory_.Unmap(); |
| 336 } | 332 } |
| 337 | 333 |
| 338 } // namespace edk | 334 } // namespace edk |
| 339 } // namespace mojo | 335 } // namespace mojo |
| OLD | NEW |