/xbmc/visualizations/XBMCProjectM/libprojectM/SectionLock.h

http://github.com/xbmc/xbmc · C++ Header · 27 lines · 23 code · 4 blank · 0 comment · 0 complexity · 3825df63b10a54892d7869aa396a47c8 MD5 · raw file

  1. #ifndef SECTION_LOCK_H__
  2. #define SECTION_LOCK_H__
  3. #include <pthread.h>
  4. #include <assert.h>
  5. class CSectionLock
  6. {
  7. pthread_mutex_t* m_lock;
  8. public:
  9. CSectionLock(pthread_mutex_t* lock) : m_lock(lock)
  10. {
  11. #ifdef _USE_THREADS
  12. assert(lock);
  13. pthread_mutex_lock(&m_lock);
  14. #endif
  15. }
  16. ~CSectionLock()
  17. {
  18. #ifdef _USE_THREADS
  19. pthread_mutex_unlock(&m_lock);
  20. #endif
  21. }
  22. };
  23. #endif // SECTION_LOCK_H__