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

Function prvCheckPendingReadyList

croutine.c:200–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

198/*-----------------------------------------------------------*/
199
200 static void prvCheckPendingReadyList( void )
201 {
202 /* Are there any co-routines waiting to get moved to the ready list? These
203 * are co-routines that have been readied by an ISR. The ISR cannot access
204 * the ready lists itself. */
205 while( listLIST_IS_EMPTY( &xPendingReadyCoRoutineList ) == pdFALSE )
206 {
207 CRCB_t * pxUnblockedCRCB;
208
209 /* The pending ready list can be accessed by an ISR. */
210 portDISABLE_INTERRUPTS();
211 {
212 pxUnblockedCRCB = ( CRCB_t * ) listGET_OWNER_OF_HEAD_ENTRY( ( &xPendingReadyCoRoutineList ) );
213 ( void ) uxListRemove( &( pxUnblockedCRCB->xEventListItem ) );
214 }
215 portENABLE_INTERRUPTS();
216
217 ( void ) uxListRemove( &( pxUnblockedCRCB->xGenericListItem ) );
218 prvAddCoRoutineToReadyQueue( pxUnblockedCRCB );
219 }
220 }
221/*-----------------------------------------------------------*/
222
223 static void prvCheckDelayedList( void )

Callers 1

vCoRoutineScheduleFunction · 0.85

Calls 1

uxListRemoveFunction · 0.85

Tested by

no test coverage detected