30 #undef STRICT_LXRT_CHECKS 38 #ifdef STRICT_LXRT_CHECKS 39 if (!icl_core::os::IsThisLxrtTask())
41 PRINTF(
"MutexImplLxrt33::MutexImplLxrt33: Called from a Linux task!\n");
46 pthread_mutex_init_rt(
m_mutex, NULL);
51 #ifdef STRICT_LXRT_CHECKS 52 if (!icl_core::os::IsThisLxrtTask())
54 PRINTF(
"MutexImplLxrt33::~MutexImplLxrt33: Called from a Linux task!\n");
60 pthread_mutex_destroy_rt(
m_mutex);
68 #ifdef STRICT_LXRT_CHECKS 71 PRINTF(
"MutexImplLxrt33::lock: Called from a Linux task!\n");
75 return pthread_mutex_lock_rt(
m_mutex) == 0;
80 #ifdef STRICT_LXRT_CHECKS 83 PRINTF(
"MutexImplLxrt33::lock: Called from a Linux task!\n");
92 #ifdef STRICT_LXRT_CHECKS 95 PRINTF(
"MutexImplLxrt33::lock: Called from a Linux task!\n");
100 bool ret = (pthread_mutex_timedlock_rt(
m_mutex, & timeout_absolute_timespec) == 0);
106 #ifdef STRICT_LXRT_CHECKS 109 PRINTF(
"MutexImplLxrt33::tryLock: Called from a Linux task!\n");
113 bool ret = (pthread_mutex_trylock_rt(
m_mutex) == 0);
119 #ifdef STRICT_LXRT_CHECKS 122 PRINTF(
"MutexImplLxrt33::unlock: Called from a Linux task!\n");
126 pthread_mutex_unlock_rt(
m_mutex);
TimeStamp getAbsoluteTimeout(const TimeSpan &timeout_relative)
virtual ~MutexImplLxrt33()
Represents absolute times.
pthread_mutex_t * m_mutex
Contains a system independet PRINTF macro.
Contains icl_core::thread::tMutex.
const TimeSpan timeout(1, 0)
Contains global LXRT functions.
Repesents absolute times.
struct timespec systemTimespec() const
Contains icl_core::thread::MutexImplLxrt33.