All C-language RXF releases using an RTOS.
If a MEM_Pool is out of memory we enter a critical region without exiting it. With an RTOS this causes taking a mutex which will not be freed again.
In the non-preemptive OO-RTX there is unusally no need to protect that region of
WST_MEM_Pool_getMemory(). Future releases have support for a define
WST_MEM_POOL_CRITICAL_REGIONS and will already contain corrected code for this issue.
if ( isEmpty() )
me->freeList = block->next;
Add missing exit critical region statement in
isEmpty(me) == WSTTRUE path.
Please contact us, if you need a new release containing this fix for your environment or need help to implement this fix.