MCPcopy Create free account
hub / github.com/FreeRTOS/FreeRTOS-Kernel / prvYieldCore

Function prvYieldCore

tasks.c:691–712  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

689/*-----------------------------------------------------------*/
690
691static void prvYieldCore( BaseType_t xCoreID )
692{
693 /* This must be called from a critical section and
694 * xCoreID must be valid. */
695
696 if( portCHECK_IF_IN_ISR() && ( xCoreID == portGET_CORE_ID() ) )
697 {
698 xYieldPendings[ xCoreID ] = pdTRUE;
699 }
700 else if( pxCurrentTCBs[ xCoreID ]->xTaskRunState != taskTASK_YIELDING )
701 {
702 if( xCoreID == portGET_CORE_ID() )
703 {
704 xYieldPendings[ xCoreID ] = pdTRUE;
705 }
706 else
707 {
708 portYIELD_CORE( xCoreID );
709 pxCurrentTCBs[ xCoreID ]->xTaskRunState = taskTASK_YIELDING;
710 }
711 }
712}
713
714/*-----------------------------------------------------------*/
715

Callers 8

prvYieldForTaskFunction · 0.85
vTaskDeleteFunction · 0.85
vTaskPrioritySetFunction · 0.85
vTaskCoreAffinitySetFunction · 0.85
vTaskPreemptionEnableFunction · 0.85
vTaskSuspendFunction · 0.85
xTaskIncrementTickFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected