1/* 2 * Copyright 2013, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Ingo Weinhold <ingo_weinhold@gmx.de> 7 */ 8#ifndef _PTHREAD_MUTEX_LOCKER_H 9#define _PTHREAD_MUTEX_LOCKER_H 10 11 12#include <pthread.h> 13 14#include <AutoLocker.h> 15 16 17namespace BPrivate { 18 19 20class AutoLockerMutexLocking { 21public: 22 inline bool Lock(pthread_mutex_t* lockable) 23 { 24 return pthread_mutex_lock(lockable) == 0; 25 } 26 27 inline void Unlock(pthread_mutex_t* lockable) 28 { 29 pthread_mutex_unlock(lockable); 30 } 31}; 32 33 34typedef AutoLocker<pthread_mutex_t, AutoLockerMutexLocking> PthreadMutexLocker; 35 36 37} // namespace BPrivate 38 39using BPrivate::PthreadMutexLocker; 40 41 42#endif // _PTHREAD_MUTEX_LOCKER_H 43