diff options
Diffstat (limited to 'src/Threads.cc')
-rw-r--r-- | src/Threads.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Threads.cc b/src/Threads.cc index de70933..fe90394 100644 --- a/src/Threads.cc +++ b/src/Threads.cc @@ -22,6 +22,20 @@ Balau::Lock::Lock() { RAssert(r == 0, "Couldn't set mutex attribute; r = %i", r); r = pthread_mutex_init(&m_lock, &attr); RAssert(r == 0, "Couldn't initialize mutex; r = %i", r); + r = pthread_mutexattr_destroy(&attr); + RAssert(r == 0, "Couldn't destroy mutex attribute; r = %i", r); +} + +Balau::RWLock::RWLock() { + int r; + pthread_rwlockattr_t attr; + + r = pthread_rwlockattr_init(&attr); + RAssert(r == 0, "Couldn't initialize rwlock attribute; r = %i", r); + r = pthread_rwlock_init(&m_lock, &attr); + RAssert(r == 0, "Couldn't initialize mutex; r = %i", r); + r = pthread_rwlockattr_destroy(&attr); + RAssert(r == 0, "Couldn't destroy rwlock attribute; r = %i", r); } void * Balau::ThreadHelper::threadProc(void * arg) { |