1 #include "daq/slc/system/RWLock.h"
5 RWLock::RWLock() : m_lock() {}
11 pthread_rwlockattr_t attr;
12 pthread_rwlockattr_init(&attr);
13 pthread_rwlockattr_setpshared(&attr, PTHREAD_PROCESS_SHARED);
14 pthread_rwlock_init(&m_lock, &attr);
15 pthread_rwlockattr_destroy(&attr);
21 if (pthread_rwlock_rdlock(&m_lock) != 0) {
30 if (pthread_rwlock_wrlock(&m_lock) != 0) {
38 if (pthread_rwlock_unlock(&m_lock) != 0) {
45 bool RWLock::destroy()
47 if (pthread_rwlock_destroy(&m_lock) != 0) {