Files
op-pedal/src/InheritPriorityMutex.cpp
T
2022-02-07 07:32:09 -05:00

24 lines
573 B
C++

#include "InheritPriorityMutex.hpp"
using namespace pipedal;
using namespace std;
inherit_priority_recursive_mutex::inherit_priority_recursive_mutex()
{
#ifdef __linux__ // (I think windows mutexes have priority inheritance alread)
// Recreate the raw mutex with priory inheritance.
::pthread_mutex_destroy(native_handle());
::pthread_mutexattr_t attr;
::pthread_mutexattr_init(&attr);
::pthread_mutexattr_setprotocol(&attr,PTHREAD_PRIO_INHERIT);
::pthread_mutex_init(native_handle(),&attr);
::pthread_mutexattr_destroy(&attr);
#endif
}