summaryrefslogtreecommitdiff
path: root/includes/Threads.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/Threads.h')
-rw-r--r--includes/Threads.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/includes/Threads.h b/includes/Threads.h
index f6aed5a..67143ca 100644
--- a/includes/Threads.h
+++ b/includes/Threads.h
@@ -20,6 +20,17 @@ class Lock {
friend class Queue;
};
+class RWLock {
+ public:
+ RWLock();
+ ~RWLock() { pthread_rwlock_destroy(&m_lock); }
+ void enterR() { pthread_rwlock_rdlock(&m_lock); }
+ void enterW() { pthread_rwlock_wrlock(&m_lock); }
+ void leave() { pthread_rwlock_unlock(&m_lock); }
+ private:
+ pthread_rwlock_t m_lock;
+};
+
class ThreadHelper;
class Thread {