diff options
Diffstat (limited to 'src/lazy/SkDiscardableMemoryPool.cpp')
-rw-r--r-- | src/lazy/SkDiscardableMemoryPool.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/lazy/SkDiscardableMemoryPool.cpp b/src/lazy/SkDiscardableMemoryPool.cpp index d6753def9d..2be4c755f1 100644 --- a/src/lazy/SkDiscardableMemoryPool.cpp +++ b/src/lazy/SkDiscardableMemoryPool.cpp @@ -9,7 +9,7 @@ #include "SkDiscardableMemoryPool.h" #include "SkImageGenerator.h" #include "SkMutex.h" -#include "SkOnce.h" +#include "SkOncePtr.h" #include "SkTInternalLList.h" // Note: @@ -245,13 +245,11 @@ SkDiscardableMemoryPool* SkDiscardableMemoryPool::Create(size_t size, SkMutex* m } SK_DECLARE_STATIC_MUTEX(gMutex); +SK_DECLARE_STATIC_ONCE_PTR(SkDiscardableMemoryPool, global); SkDiscardableMemoryPool* SkGetGlobalDiscardableMemoryPool() { - static SkOnce once; - static SkDiscardableMemoryPool* global; - once([]{ - global = SkDiscardableMemoryPool::Create(SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE, - &gMutex); + return global.get([] { + return SkDiscardableMemoryPool::Create(SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE, + &gMutex); }); - return global; } |