mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 11:17:20 +02:00
Merge branch 'bugfix/freertos_define_list_volatile_v5.2' into 'release/v5.2'
fix(freertos/idf): Define configLIST_VOLATILE for list elements (v5.2) See merge request espressif/esp-idf!27096
This commit is contained in:
@ -2567,8 +2567,7 @@ BaseType_t xTaskResumeAll( void )
|
|||||||
* appropriate ready list. */
|
* appropriate ready list. */
|
||||||
while( listLIST_IS_EMPTY( &xPendingReadyList[ xCurCoreID ] ) == pdFALSE )
|
while( listLIST_IS_EMPTY( &xPendingReadyList[ xCurCoreID ] ) == pdFALSE )
|
||||||
{
|
{
|
||||||
/* Note: Add volatile cast (IDF-8361) */
|
pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xPendingReadyList[ xCurCoreID ] ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
||||||
pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( volatile List_t * ) ( &xPendingReadyList[ xCurCoreID ] ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
|
||||||
listREMOVE_ITEM( &( pxTCB->xEventListItem ) );
|
listREMOVE_ITEM( &( pxTCB->xEventListItem ) );
|
||||||
portMEMORY_BARRIER();
|
portMEMORY_BARRIER();
|
||||||
listREMOVE_ITEM( &( pxTCB->xStateListItem ) );
|
listREMOVE_ITEM( &( pxTCB->xStateListItem ) );
|
||||||
|
@ -178,6 +178,10 @@
|
|||||||
#define configTIMER_TASK_STACK_DEPTH CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH
|
#define configTIMER_TASK_STACK_DEPTH CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH
|
||||||
#define configTIMER_SERVICE_TASK_NAME CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME
|
#define configTIMER_SERVICE_TASK_NAME CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME
|
||||||
|
|
||||||
|
/* ------------------------ List --------------------------- */
|
||||||
|
|
||||||
|
#define configLIST_VOLATILE volatile /* We define List elements as volatile to prevent the compiler from optimizing out essential code */
|
||||||
|
|
||||||
/* -------------------- API Includes ----------------------- */
|
/* -------------------- API Includes ----------------------- */
|
||||||
|
|
||||||
#if CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY
|
#if CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY
|
||||||
|
Reference in New Issue
Block a user