| Index: native_client_sdk/src/libraries/sdk_util/auto_lock.h
|
| diff --git a/native_client_sdk/src/libraries/sdk_util/auto_lock.h b/native_client_sdk/src/libraries/sdk_util/auto_lock.h
|
| index 88215d0cb31acb3c25c084be2692fe75870a3975..b60fd8dee195ab969dedd4007a1c811e00854a34 100644
|
| --- a/native_client_sdk/src/libraries/sdk_util/auto_lock.h
|
| +++ b/native_client_sdk/src/libraries/sdk_util/auto_lock.h
|
| @@ -7,13 +7,22 @@
|
| #define LIBRARIES_SDK_UTIL_AUTO_LOCK_H_
|
|
|
| #include <pthread.h>
|
| +#include "sdk_util/macros.h"
|
| +#include "sdk_util/simple_lock.h"
|
| +
|
| +
|
| +// This macro is provided to allow us to quickly instrument locking for
|
| +// debugging purposes.
|
| +#define AUTO_LOCK(lock) \
|
| + AutoLock Lock##__LINE__(lock);
|
|
|
| class AutoLock {
|
| public:
|
| - explicit AutoLock(pthread_mutex_t* lock) {
|
| - lock_ = lock;
|
| + AutoLock(const SimpleLock& lock) {
|
| + lock_ = lock.mutex();
|
| pthread_mutex_lock(lock_);
|
| }
|
| +
|
| ~AutoLock() {
|
| if (lock_) pthread_mutex_unlock(lock_);
|
| }
|
| @@ -25,6 +34,8 @@ class AutoLock {
|
|
|
| private:
|
| pthread_mutex_t* lock_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(AutoLock);
|
| };
|
|
|
| #endif // LIBRARIES_SDK_UTIL_AUTO_LOCK_H_
|
|
|