| Index: include/core/SkMutex.h
|
| diff --git a/include/core/SkMutex.h b/include/core/SkMutex.h
|
| index ea7e81726b88c05828f35753c877b129eab2a15d..08b220c3968c9b62f97495db15c8cdf1661992dc 100644
|
| --- a/include/core/SkMutex.h
|
| +++ b/include/core/SkMutex.h
|
| @@ -1,3 +1,10 @@
|
| +/*
|
| + * Copyright 2015 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| #ifndef SkMutex_DEFINED
|
| #define SkMutex_DEFINED
|
|
|
| @@ -10,21 +17,22 @@
|
| #include "../ports/SkMutex_pthread.h"
|
| #endif
|
|
|
| -class SkAutoMutexAcquire : SkNoncopyable {
|
| +template <typename Lock>
|
| +class SkAutoTAcquire : SkNoncopyable {
|
| public:
|
| - explicit SkAutoMutexAcquire(SkBaseMutex& mutex) : fMutex(&mutex) {
|
| + explicit SkAutoTAcquire(Lock& mutex) : fMutex(&mutex) {
|
| SkASSERT(fMutex != NULL);
|
| mutex.acquire();
|
| }
|
|
|
| - explicit SkAutoMutexAcquire(SkBaseMutex* mutex) : fMutex(mutex) {
|
| + explicit SkAutoTAcquire(Lock* mutex) : fMutex(mutex) {
|
| if (mutex) {
|
| mutex->acquire();
|
| }
|
| }
|
|
|
| /** If the mutex has not been released, release it now. */
|
| - ~SkAutoMutexAcquire() {
|
| + ~SkAutoTAcquire() {
|
| if (fMutex) {
|
| fMutex->release();
|
| }
|
| @@ -45,8 +53,11 @@ public:
|
| }
|
|
|
| private:
|
| - SkBaseMutex* fMutex;
|
| + Lock* fMutex;
|
| };
|
| +
|
| +typedef SkAutoTAcquire<SkBaseMutex> SkAutoMutexAcquire;
|
| +
|
| #define SkAutoMutexAcquire(...) SK_REQUIRE_LOCAL_VAR(SkAutoMutexAcquire)
|
|
|
|
|
|
|