| Index: base/shared_memory.h
|
| diff --git a/base/shared_memory.h b/base/shared_memory.h
|
| index 3bfa003aa203ccd30eb8c45de52d395fc1a9d5a0..b44367a7fcc875e16e91e6e486f73c0316debd15 100644
|
| --- a/base/shared_memory.h
|
| +++ b/base/shared_memory.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #if defined(OS_POSIX)
|
| #include <semaphore.h>
|
| +#include "base/file_descriptor_posix.h"
|
| #endif
|
| #include <string>
|
|
|
| @@ -23,7 +24,7 @@ namespace base {
|
| typedef HANDLE SharedMemoryHandle;
|
| typedef HANDLE SharedMemoryLock;
|
| #elif defined(OS_POSIX)
|
| -typedef int SharedMemoryHandle;
|
| +typedef FileDescriptor SharedMemoryHandle;
|
| // On POSIX, the lock is implemented as a lockf() on the mapped file,
|
| // so no additional member (or definition of SharedMemoryLock) is
|
| // needed.
|
| @@ -49,6 +50,10 @@ class SharedMemory {
|
| // Destructor. Will close any open files.
|
| ~SharedMemory();
|
|
|
| + // Return true iff the given handle is valid (i.e. not the distingished
|
| + // invalid value; NULL for a HANDLE and -1 for a file descriptor)
|
| + static bool IsHandleValid(const SharedMemoryHandle& handle);
|
| +
|
| // Creates or opens a shared memory segment based on a name.
|
| // If read_only is true, opens the memory as read-only.
|
| // If open_existing is true, and the shared memory already exists,
|
| @@ -92,7 +97,7 @@ class SharedMemory {
|
| // Get access to the underlying OS handle for this segment.
|
| // Use of this handle for anything other than an opaque
|
| // identifier is not portable.
|
| - SharedMemoryHandle handle() const { return mapped_file_; }
|
| + SharedMemoryHandle handle() const;
|
|
|
| // Closes the open shared memory segment.
|
| // It is safe to call Close repeatedly.
|
| @@ -147,7 +152,11 @@ class SharedMemory {
|
| bool close_self);
|
|
|
| std::wstring name_;
|
| - SharedMemoryHandle mapped_file_;
|
| +#if defined(OS_WIN)
|
| + HANDLE mapped_file_;
|
| +#elif defined(OS_POSIX)
|
| + int mapped_file_;
|
| +#endif
|
| void* memory_;
|
| bool read_only_;
|
| size_t max_size_;
|
|
|