QPC/Posix Critical section mutex is not recursive
Real-Time Event Frameworks based on active objects & state machines
Brought to you by:
quantum-leaps
I believe there is a mistake in the POSIX qpc port.
The mutex used for critical section used with QF_enterCriticalSection_ and QF_leaveCriticalSection_ is a regular mutex.
Looking at the Windows port, it is implemented using a CriticalSection which is of a recursive nature.
Shouldn't the pthread mutex QF_pThreadMutex_ be recursive? I ask this question because we have code working on Windows which deadlocks under Linux because of this.
Thank you.
Anonymous
The main critical section mutex used in POSIX and POSIX-QV ports will be portably initialized as recursive in the upcoming QP/C/C++ 7.3.0.
--MMS
Fixed in QP/C/C++ 7.3.0.
--MMS