freertos: portCLEAN_UP_TCB should be performed before freeing tcb memory

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
pull/3290/head
Mahavir Jain 2018-03-27 19:32:43 +05:30
rodzic 24ad64bfe4
commit c65a08d2fb
1 zmienionych plików z 4 dodań i 1 usunięć

Wyświetl plik

@ -3878,6 +3878,10 @@ BaseType_t xTaskGetAffinity( TaskHandle_t xTask )
static void prvDeleteTCB( TCB_t *pxTCB )
{
/* This call is required for any port specific cleanup related to task.
It must be above the vPortFree() calls. */
portCLEAN_UP_TCB( pxTCB );
/* Free up the memory allocated by the scheduler for the task. It is up
to the task to free any memory allocated at the application level. */
#if ( configUSE_NEWLIB_REENTRANT == 1 )
@ -3920,7 +3924,6 @@ BaseType_t xTaskGetAffinity( TaskHandle_t xTask )
/* Neither the stack nor the TCB were allocated dynamically, so
nothing needs to be freed. */
configASSERT( pxTCB->ucStaticallyAllocated == tskSTATICALLY_ALLOCATED_STACK_AND_TCB )
portCLEAN_UP_TCB( pxTCB );
mtCOVERAGE_TEST_MARKER();
}
}