15 pthread_mutexattr_t attribute;
16 PlatformIntType status = pthread_mutexattr_init(&attribute);
17 FW_ASSERT(status == 0, static_cast<FwAssertArgType>(status));
20 status = pthread_mutexattr_settype(&attribute, PTHREAD_MUTEX_ERRORCHECK);
21 FW_ASSERT(status == 0, static_cast<FwAssertArgType>(status));
24 status = pthread_mutexattr_setprotocol(&attribute, PTHREAD_PRIO_INHERIT);
25 FW_ASSERT(status == 0, static_cast<FwAssertArgType>(status));
28 FW_ASSERT(status == 0, static_cast<FwAssertArgType>(status));
33 FW_ASSERT(status == 0, static_cast<FwAssertArgType>(status));
47 return &this->m_handle;
~PosixMutex() override
destructor
MutexHandle * getHandle() override
return the underlying mutex handle (implementation specific)
Status release() override
unlock the mutex and get return status
Status take() override
lock the mutex and get return status
Mutex::Status posix_status_to_mutex_status(PlatformIntType posix_status)
pthread_mutex_t m_mutex_descriptor