Assertion ID 210 fires when signaling on a QXK semaphore
Real-Time Event Frameworks based on active objects & state machines
Brought to you by:
quantum-leaps
When signaling on a QXK semaphore, the assertion ID 210 fires. The problem seems to be introduced in QP/C/C++ 5.9.4, where the TLS (Thread Local Storage) was introduced. The assertion shouild be changed from:
Q_ASSERT_ID(210,
(thr->super.thread != (struct QActive *)0) /* must be extended */
&& (me->count == (uint_fast16_t)0)); /* sema counter must be 0 */
to
Q_ASSERT_ID(210,
(thr->super.osObject != (struct QActive *)0) /* must be extended */
&& (me->count == (uint_fast16_t)0)); /* sema counter must be 0 */
--MMS
Anonymous
Fixed in QP/C/C++ 5.9.5.
--MMS