Chromium Code Reviews| Index: base/memory/discardable_shared_memory.h |
| diff --git a/base/memory/discardable_shared_memory.h b/base/memory/discardable_shared_memory.h |
| index abee8687a86ee43547057274386244275517d035..b69937082dbeabc6a72204165a5b392f22b68ec0 100644 |
| --- a/base/memory/discardable_shared_memory.h |
| +++ b/base/memory/discardable_shared_memory.h |
| @@ -23,6 +23,8 @@ namespace base { |
| // access to an instance of this class. |
| class BASE_EXPORT DiscardableSharedMemory { |
| public: |
| + enum LockResult { SUCCESS, PURGED, FAILED }; |
| + |
| DiscardableSharedMemory(); |
| // Create a new DiscardableSharedMemory object from an existing, open shared |
| @@ -47,16 +49,18 @@ class BASE_EXPORT DiscardableSharedMemory { |
| SharedMemoryHandle handle() const { return shared_memory_.handle(); } |
| // Locks a range of memory so that it will not be purged by the system. |
| - // Returns true if successful and the memory is still resident. Locking can |
| - // fail for three reasons; object might have been purged, our last known usage |
| - // timestamp might be out of date or memory might already be locked. Last |
| - // know usage time is updated to the actual last usage timestamp if memory |
| - // is still resident or 0 if not. The range of memory must be unlocked. The |
| - // result of trying to lock an already locked range is undefined. |
| - // |offset| and |length| must both be a multiple of the page size as returned |
| - // by GetPageSize(). |
| + // The range of memory must be unlocked. The result of trying to lock an |
| + // already locked range is undefined. |offset| and |length| must both be |
| + // a multiple of the page size as returned by GetPageSize(). |
| // Passing 0 for |length| means "everything onward". |
| - bool Lock(size_t offset, size_t length); |
| + // Returns SUCCESS if range was successfully locked and the memory is still |
| + // resident, PURGED if range was successfully locked but has been purged |
| + // since last time it was locked and FAILED if range could not be locked. |
| + // Locking can fail for two reasons; object might have been purged, our |
| + // last known usage timestamp might be out of date. Last know usage time |
|
danakj
2015/01/24 00:16:06
Last known
reveman
2015/01/24 00:27:48
Done.
|
| + // is updated to the actual last usage timestamp if memory |
|
danakj
2015/01/24 00:16:06
wrapping
reveman
2015/01/24 00:27:48
Done.
|
| + // is still resident or 0 if not. |
| + LockResult Lock(size_t offset, size_t length); |
| // Unlock a previously successfully locked range of memory. The range of |
| // memory must be locked. The result of trying to unlock a not |