Hi.
I am using tm4c1294+lwip1.4.1+FreeRTOS.
the modules that I tested were working well in lwip1.3.1
However, allocating netconn reaches to
SYS_SEM_MAX/SYS_MBOX_MAX described in
sys_arch.c without freeing it.
I added vQueueDelete() in sys_mbox_free()/sys_sem_free(), but it did not work.
It seems to have something to do with other functions like
sys_mbox_set_invalid(), sys_sem_valid(), sys_sem_set_invalid() since netconn_allocate()/netconn_free() call those in api_msg.c
sys_mbox_set_invalid(sys_mbox_t *mbox)
{
mbox->queue = SYS_MBOX_NULL;
// mbox = SYS_MBOX_NULL;
}
int
sys_sem_valid(sys_sem_t *sem)
{
/*Check if a semaphore has been created*/
if(sem->queue == SYS_SEM_NULL){
return 0;
}
else{
return 1;
}
}
void
sys_sem_set_invalid(sys_sem_t *sem)
{
sem->queue = SYS_SEM_NULL;
// sem = SYS_SEM_NULL;
}
It seems sys_sem_free()/sys_mbox_free() are not working properly. How can I fix them?
Thanks,
Jin