| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef BASE_MEMORY_SHARED_MEMORY_H_ | 5 #ifndef BASE_MEMORY_SHARED_MEMORY_H_ |
| 6 #define BASE_MEMORY_SHARED_MEMORY_H_ | 6 #define BASE_MEMORY_SHARED_MEMORY_H_ |
| 7 | 7 |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| 11 | 11 |
| 12 #if defined(OS_POSIX) | 12 #if defined(OS_POSIX) |
| 13 #include <stdio.h> | 13 #include <stdio.h> |
| 14 #include <sys/types.h> | 14 #include <sys/types.h> |
| 15 #include <semaphore.h> | 15 #include <semaphore.h> |
| 16 #endif | 16 #endif |
| 17 | 17 |
| 18 #include "base/base_export.h" | 18 #include "base/base_export.h" |
| 19 #include "base/basictypes.h" | 19 #include "base/basictypes.h" |
| 20 #include "base/process/process_handle.h" | 20 #include "base/process/process_handle.h" |
| 21 | 21 |
| 22 #if defined(OS_POSIX) | 22 #if defined(OS_POSIX) |
| 23 #include "base/file_descriptor_posix.h" | 23 #include "base/file_descriptor_posix.h" |
| 24 #include "base/file_util.h" | 24 #include "base/file_util.h" |
| 25 #include "base/files/scoped_file.h" |
| 25 #endif | 26 #endif |
| 26 | 27 |
| 27 namespace base { | 28 namespace base { |
| 28 | 29 |
| 29 class FilePath; | 30 class FilePath; |
| 30 | 31 |
| 31 // SharedMemoryHandle is a platform specific type which represents | 32 // SharedMemoryHandle is a platform specific type which represents |
| 32 // the underlying OS handle to a shared memory segment. | 33 // the underlying OS handle to a shared memory segment. |
| 33 #if defined(OS_WIN) | 34 #if defined(OS_WIN) |
| 34 typedef HANDLE SharedMemoryHandle; | 35 typedef HANDLE SharedMemoryHandle; |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 // used in inner loops, so we protect against multiple threads in a | 253 // used in inner loops, so we protect against multiple threads in a |
| 253 // critical section using a class global lock. | 254 // critical section using a class global lock. |
| 254 void LockDeprecated(); | 255 void LockDeprecated(); |
| 255 | 256 |
| 256 // DEPRECATED (crbug.com/345734): | 257 // DEPRECATED (crbug.com/345734): |
| 257 // Releases the shared memory lock. | 258 // Releases the shared memory lock. |
| 258 void UnlockDeprecated(); | 259 void UnlockDeprecated(); |
| 259 | 260 |
| 260 private: | 261 private: |
| 261 #if defined(OS_POSIX) && !defined(OS_NACL) | 262 #if defined(OS_POSIX) && !defined(OS_NACL) |
| 262 bool PrepareMapFile(file_util::ScopedFILE fp, file_util::ScopedFD readonly); | 263 bool PrepareMapFile(file_util::ScopedFILE fp, base::ScopedFD readonly); |
| 263 bool FilePathForMemoryName(const std::string& mem_name, FilePath* path); | 264 bool FilePathForMemoryName(const std::string& mem_name, FilePath* path); |
| 264 void LockOrUnlockCommon(int function); | 265 void LockOrUnlockCommon(int function); |
| 265 #endif | 266 #endif |
| 266 enum ShareMode { | 267 enum ShareMode { |
| 267 SHARE_READONLY, | 268 SHARE_READONLY, |
| 268 SHARE_CURRENT_MODE, | 269 SHARE_CURRENT_MODE, |
| 269 }; | 270 }; |
| 270 bool ShareToProcessCommon(ProcessHandle process, | 271 bool ShareToProcessCommon(ProcessHandle process, |
| 271 SharedMemoryHandle* new_handle, | 272 SharedMemoryHandle* new_handle, |
| 272 bool close_self, | 273 bool close_self, |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 } | 307 } |
| 307 | 308 |
| 308 private: | 309 private: |
| 309 SharedMemory* shared_memory_; | 310 SharedMemory* shared_memory_; |
| 310 DISALLOW_COPY_AND_ASSIGN(SharedMemoryAutoLockDeprecated); | 311 DISALLOW_COPY_AND_ASSIGN(SharedMemoryAutoLockDeprecated); |
| 311 }; | 312 }; |
| 312 | 313 |
| 313 } // namespace base | 314 } // namespace base |
| 314 | 315 |
| 315 #endif // BASE_MEMORY_SHARED_MEMORY_H_ | 316 #endif // BASE_MEMORY_SHARED_MEMORY_H_ |
| OLD | NEW |