]> granicus.if.org Git - esp-idf/blobdiff - components/freertos/tasks.c
freertos: add configTASKLIST_INCLUDE_COREID
[esp-idf] / components / freertos / tasks.c
index fe081975dd475c59f6d1ad99b7d913cde4a873a8..ac0b732a8b8dbefc9cf1e71af97ee1bf2cae6ffe 100644 (file)
@@ -3785,6 +3785,10 @@ BaseType_t xTaskGetAffinity( TaskHandle_t xTask )
                                pxTaskStatusArray[ uxTask ].eCurrentState = eState;
                                pxTaskStatusArray[ uxTask ].uxCurrentPriority = pxNextTCB->uxPriority;
 
+                               #if ( configTASKLIST_INCLUDE_COREID == 1 )
+                               pxTaskStatusArray[ uxTask ].xCoreID = pxNextTCB->xCoreID;
+                               #endif /* configTASKLIST_INCLUDE_COREID */
+
                                #if ( INCLUDE_vTaskSuspend == 1 )
                                {
                                        /* If the task is in the suspended list then there is a chance
@@ -4449,7 +4453,11 @@ For ESP32 FreeRTOS, vTaskExitCritical implements both portEXIT_CRITICAL and port
                                pcWriteBuffer = prvWriteNameToBuffer( pcWriteBuffer, pxTaskStatusArray[ x ].pcTaskName );
 
                                /* Write the rest of the string. */
+#if configTASKLIST_INCLUDE_COREID
+                               sprintf( pcWriteBuffer, "\t%c\t%u\t%u\t%u\t%hd\r\n", cStatus, ( unsigned int ) pxTaskStatusArray[ x ].uxCurrentPriority, ( unsigned int ) pxTaskStatusArray[ x ].usStackHighWaterMark, ( unsigned int ) pxTaskStatusArray[ x ].xTaskNumber, ( int ) pxTaskStatusArray[ x ].xCoreID );
+#else
                                sprintf( pcWriteBuffer, "\t%c\t%u\t%u\t%u\r\n", cStatus, ( unsigned int ) pxTaskStatusArray[ x ].uxCurrentPriority, ( unsigned int ) pxTaskStatusArray[ x ].usStackHighWaterMark, ( unsigned int ) pxTaskStatusArray[ x ].xTaskNumber );
+#endif
                                pcWriteBuffer += strlen( pcWriteBuffer );
                        }