Mercurial > hg > vampy
view Mutex.h @ 115:a9e918adfff0
Skip directly over anything with null metatype - can happen with plugins whose init methods are not conformant (but that otherwise load OK as code)
| author | Chris Cannam |
|---|---|
| date | Tue, 26 Feb 2019 14:31:08 +0000 |
| parents | 27bab3a16c9a |
| 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
