Mercurial > hg > vampy
view Mutex.h @ 10:8e9fbe4dc94d
more examples and some bug fixes
author | fazekasgy |
---|---|
date | Fri, 13 Jun 2008 17:28:22 +0000 |
parents | 134313c59d82 |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Basic cross-platform mutex abstraction class. This file copyright 2007 Chris Cannam. */ #ifndef _MUTEX_H_ #define _MUTEX_H_ #ifdef _WIN32 #include <windows.h> #else #include <pthread.h> #endif class Mutex { public: Mutex(); ~Mutex(); void lock(); void unlock(); bool trylock(); private: #ifdef _WIN32 HANDLE m_mutex; #ifndef NO_THREAD_CHECKS DWORD m_lockedBy; #endif #else pthread_mutex_t m_mutex; #ifndef NO_THREAD_CHECKS pthread_t m_lockedBy; bool m_locked; #endif #endif }; class MutexLocker { public: MutexLocker(Mutex *); ~MutexLocker(); private: Mutex *m_mutex; }; #endif