forked from espressif/esp-idf
freertos: add return value to API vTaskGetSnapshot
`vTaskGetSnapshot` is being used in coredump module to collect diagnostic information. It is possible that input arguments are invalid and `assert` in this situation is not correct. This commit modifies API signature to return pdTRUE in case of success, and pdFALSE otherwise. Caller can verify return value and then take appropriate decision.
This commit is contained in:
@@ -116,13 +116,15 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void vTaskGetSnapshot( TaskHandle_t pxTask, TaskSnapshot_t *pxTaskSnapshot )
|
||||
{
|
||||
configASSERT( portVALID_TCB_MEM(pxTask) );
|
||||
configASSERT( pxTaskSnapshot != NULL );
|
||||
BaseType_t vTaskGetSnapshot( TaskHandle_t pxTask, TaskSnapshot_t *pxTaskSnapshot )
|
||||
{
|
||||
if (portVALID_TCB_MEM(pxTask) == false || pxTaskSnapshot == NULL) {
|
||||
return pdFALSE;
|
||||
}
|
||||
pxTaskSnapshot->pxTCB = (void*) pxTask;
|
||||
pxTaskSnapshot->pxTopOfStack = pxTCBGetTopOfStack((void*) pxTask);
|
||||
pxTaskSnapshot->pxEndOfStack = pxTCBGetEndOfStack((void*) pxTask);
|
||||
return pdTRUE;
|
||||
}
|
||||
|
||||
TaskHandle_t pxTaskGetNext( TaskHandle_t pxTask )
|
||||
|
@@ -80,8 +80,9 @@ TaskHandle_t pxTaskGetNext( TaskHandle_t pxTask );
|
||||
* @note This function should not be used while FreeRTOS is running (as it doesn't acquire any locks).
|
||||
* @param pxTask task handle.
|
||||
* @param pxTaskSnapshot address of TaskSnapshot_t structure to fill.
|
||||
* @return pdTRUE if operation was successful else pdFALSE
|
||||
*/
|
||||
void vTaskGetSnapshot( TaskHandle_t pxTask, TaskSnapshot_t *pxTaskSnapshot );
|
||||
BaseType_t vTaskGetSnapshot( TaskHandle_t pxTask, TaskSnapshot_t *pxTaskSnapshot );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
Reference in New Issue
Block a user