31 #undef STRICT_LXRT_CHECKS 40 #ifdef STRICT_LXRT_CHECKS 43 PRINTF(
"RWLockImplLxrt35::RWLockImplLxrt35: Called from a Linux task!\n");
48 pthread_rwlock_init_rt(
m_rwlock, NULL);
53 #ifdef STRICT_LXRT_CHECKS 56 PRINTF(
"RWLockImplLxrt35::~RWLockImplLxrt35: Called from a Linux task!\n");
70 #ifdef STRICT_LXRT_CHECKS 73 PRINTF(
"RWLockImplLxrt35::readLock: Called from a Linux task!\n");
77 return pthread_rwlock_rdlock_rt(
m_rwlock) == 0;
82 #ifdef STRICT_LXRT_CHECKS 85 PRINTF(
"RWLockImplLxrt35::readLock: Called from a Linux task!\n");
90 int ret = pthread_rwlock_timedrdlock_rt(
m_rwlock, &timeout_absolute_timespec);
96 #ifdef STRICT_LXRT_CHECKS 99 PRINTF(
"RWLockImplLxrt35::readLock: Called from a Linux task!\n");
108 #ifdef STRICT_LXRT_CHECKS 111 PRINTF(
"RWLockImplLxrt35::tryReadLock: Called from a Linux task!\n");
115 int ret = pthread_rwlock_tryrdlock_rt(
m_rwlock);
121 #ifdef STRICT_LXRT_CHECKS 124 PRINTF(
"RWLockImplLxrt35::writeLock: Called from a Linux task!\n");
128 return pthread_rwlock_wrlock_rt(
m_rwlock) == 0;
133 #ifdef STRICT_LXRT_CHECKS 136 PRINTF(
"RWLockImplLxrt35::writeLock: Called from a Linux task!\n");
141 int ret = pthread_rwlock_timedwrlock_rt(
m_rwlock, &timeout_absolute_timespec);
147 #ifdef STRICT_LXRT_CHECKS 150 PRINTF(
"RWLockImplLxrt35::writeLock: Called from a Linux task!\n");
159 #ifdef STRICT_LXRT_CHECKS 162 PRINTF(
"RWLockImplLxrt35::tryWriteLock: Called from a Linux task!\n");
173 return writeLock(try_write_lock_timeout);
178 #ifdef STRICT_LXRT_CHECKS 181 PRINTF(
"RWLockImplLxrt35::unlock: Called from a Linux task!\n");
185 pthread_rwlock_unlock_rt(rwlock);
TimeStamp getAbsoluteTimeout(const TimeSpan &timeout_relative)
Represents absolute times.
virtual bool tryReadLock()
Contains a system independet PRINTF macro.
virtual ~RWLockImplLxrt35()
Contains icl_core::thread::tMutex.
const TimeSpan timeout(1, 0)
Contains global LXRT functions.
Repesents absolute times.
pthread_rwlock_t * m_rwlock
virtual bool tryWriteLock()
Contains icl_core::thread::RWLockImplLxrt35.
struct timespec systemTimespec() const