Hi,
I'm using these versions
bios_6_34_03_19, ipc_1_25_01_09, xdctools_3_24_03_33, syslink_2_21_00_03 on TI811X platform.
I'm facing problem with HeapMem malloc/free on multiple threads on DSP.
- Low priority task calls MessageQ_free
- It aquires GateMutex
- Preempted by High Priority task
- High Priority task calls MessageQ_alloc which seems to corrupt heap queue.
- Assert on Invalid Free raised when high priority task calls MessageQ_free
I understand that by default HeapMem uses GateMutex, so this problem should not occur.
I tried to use a different GateMutex/GateMutexPri as below but the problem is still there.
var GateMutexPri = xdc.useModule('ti.sysbios.gates.GateMutexPri');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
HeapMem.common$.gate = GateMutexPri.create();
Can you let me know if anything need to do be done to support malloc/free on Multithreaded application.
-Kishor