Chromium Code Reviews| Index: base/memory/shared_memory_handle.h |
| diff --git a/base/memory/shared_memory_handle.h b/base/memory/shared_memory_handle.h |
| index dc33eeafa11faef22f73be0d44dd30447e43118b..f5f1f4d358c1b9c065b046dad43a0e2150aa76e7 100644 |
| --- a/base/memory/shared_memory_handle.h |
| +++ b/base/memory/shared_memory_handle.h |
| @@ -186,6 +186,34 @@ class BASE_EXPORT SharedMemoryHandle { |
| }; |
| #endif |
| +#if defined(OS_POSIX) && !(defined(OS_MACOSX) && !defined(OS_IOS)) |
|
danakj
2017/01/25 16:58:13
can you write this without double negatives? are y
hajimehoshi
2017/01/26 10:56:00
Yeah, as far as I understand correctly, SharedMemo
|
| + |
| +struct SharedMemoryHandleID { |
|
danakj
2017/01/25 16:58:12
Id instead of ID
hajimehoshi
2017/01/26 10:56:00
Done.
|
| + dev_t device_id; |
| + ino_t file_id; |
| +}; |
| + |
| +bool GetIDFromSharedMemoryHandle(const SharedMemoryHandle& handle, |
|
danakj
2017/01/25 16:58:13
How about a Populate method on SharedMemoryHandleI
hajimehoshi
2017/01/26 10:56:00
SharedMemoryHandle is FileDescriptor on POSIX. Add
|
| + SharedMemoryHandleID* id); |
| + |
| +std::string GetSharedMemoryHandleIDString(const SharedMemoryHandleID& id); |
|
danakj
2017/01/25 16:58:13
How about a ToString() method?
hajimehoshi
2017/01/26 10:56:00
Done.
|
| + |
| +struct SharedMemoryHandleIDHash { |
| + std::size_t operator()(const SharedMemoryHandleID& id) const { |
| + return std::hash<int64_t>()(static_cast<int64_t>(id.device_id)) ^ |
|
danakj
2017/01/25 16:58:13
Use HashInts, not xor. https://cs.chromium.org/chr
hajimehoshi
2017/01/26 10:56:00
Done.
|
| + std::hash<int64_t>()(static_cast<int64_t>(id.file_id)); |
| + } |
| +}; |
| + |
| +struct SharedMemoryHandleIDEqual { |
|
danakj
2017/01/25 16:58:13
why not operator==?
hajimehoshi
2017/01/26 10:56:00
Done.
|
| + bool operator()(const SharedMemoryHandleID& lhs, |
| + const SharedMemoryHandleID& rhs) const { |
| + return lhs.device_id == rhs.device_id && lhs.file_id == rhs.file_id; |
| + } |
| +}; |
| + |
| +#endif |
| + |
| } // namespace base |
| #endif // BASE_MEMORY_SHARED_MEMORY_HANDLE_H_ |