summaryrefslogtreecommitdiff
path: root/includes/Threads.h
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2011-12-05 09:16:42 -0800
committerPixel <pixel@nobis-crew.org>2011-12-05 09:16:42 -0800
commit2f36082049c30562f2cb3061438c4aaebc8d8fe5 (patch)
treec1a93f96750cce63e9801b0907499c8a4d2b969e /includes/Threads.h
parentb419f3e159212c9998b3f86c1fee332620472f4e (diff)
Adding read-write locks, and applying them immediately to the http server.
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 {