xTaskResumeAll() is only used within FreeRTOS.
 
Symbols
loading...
Files
loading...

xTaskResumeAll() function

Resumes scheduler activity after it was suspended by a call to vTaskSuspendAll(). xTaskResumeAll() only resumes the scheduler. It does not unsuspend tasks that were previously suspended by a call to vTaskSuspend(). Example usage:
void vTask1( void * pvParameters ) { for( ;; ) { // Task code goes here. // ... // At some point the task wants to perform a long operation during // which it does not want to get swapped out. It cannot use // taskENTER_CRITICAL ()/taskEXIT_CRITICAL () as the length of the // operation may cause interrupts to be missed - including the // ticks. // Prevent the real time kernel swapping out the task. vTaskSuspendAll (); // Perform the operation here. There is no need to use critical // sections as we have all the microcontroller processing time. // During this time interrupts will still operate and the real // time kernel tick count will be maintained. // ... // The operation is complete. Restart the kernel. We want to force // a context switch - but there is no point if resuming the scheduler // caused a context switch already. if( !xTaskResumeAll () ) { taskYIELD (); } } }

Syntax

Return value

If resuming the scheduler caused a context switch then pdTRUE is returned, otherwise pdFALSE is returned.

References

LocationReferrerText
tasks.c:2194
BaseType_t xTaskResumeAll( void )
task.h:1341
BaseType_t xTaskResumeAll( void ) PRIVILEGED_FUNCTION;
cmsis_os.c:1485osThreadResumeAll()
if (xTaskResumeAll() == pdTRUE)
event_groups.c:249xEventGroupSync()
xAlreadyYielded = xTaskResumeAll();
event_groups.c:397xEventGroupWaitBits()
xAlreadyYielded = xTaskResumeAll();
event_groups.c:607xEventGroupSetBits()
( void ) xTaskResumeAll();
event_groups.c:651vEventGroupDelete()
( void ) xTaskResumeAll();
heap_3.c:67pvPortMalloc()
( void ) xTaskResumeAll();
heap_3.c:92vPortFree()
( void ) xTaskResumeAll();
heap_4.c:245pvPortMalloc()
( void ) xTaskResumeAll();
heap_4.c:300vPortFree()
( void ) xTaskResumeAll();
heap_4.c:477vPortGetHeapStats()
xTaskResumeAll();
mpu_wrappers.c:293MPU_xTaskResumeAll()
xReturn = xTaskResumeAll();
queue.c:925xQueueGenericSend()
if( xTaskResumeAll() == pdFALSE )
queue.c:934xQueueGenericSend()
( void ) xTaskResumeAll();
queue.c:941xQueueGenericSend()
( void ) xTaskResumeAll();
queue.c:1380xQueueReceive()
if( xTaskResumeAll() == pdFALSE )
queue.c:1394xQueueReceive()
( void ) xTaskResumeAll();
queue.c:1402xQueueReceive()
( void ) xTaskResumeAll();
queue.c:1571xQueueSemaphoreTake()
if( xTaskResumeAll() == pdFALSE )
queue.c:1585xQueueSemaphoreTake()
( void ) xTaskResumeAll();
queue.c:1592xQueueSemaphoreTake()
( void ) xTaskResumeAll();
queue.c:1747xQueuePeek()
if( xTaskResumeAll() == pdFALSE )
queue.c:1761xQueuePeek()
( void ) xTaskResumeAll();
queue.c:1769xQueuePeek()
( void ) xTaskResumeAll();
stream_buffer.c:593xStreamBufferSend()
sbSEND_COMPLETED( pxStreamBuffer );
stream_buffer.c:800xStreamBufferReceive()
sbRECEIVE_COMPLETED( pxStreamBuffer );
tasks.c:1322vTaskDelayUntil()
xAlreadyYielded = xTaskResumeAll();
tasks.c:1362vTaskDelay()
xAlreadyYielded = xTaskResumeAll();
tasks.c:2495xTaskGetHandle()
( void ) xTaskResumeAll();
tasks.c:2569uxTaskGetSystemState()
( void ) xTaskResumeAll();
tasks.c:2621xTaskCatchUpTicks()
xYieldRequired = xTaskResumeAll();
tasks.c:2699xTaskAbortDelay()
( void ) xTaskResumeAll();
tasks.c:3497prvIdleTask()
( void ) xTaskResumeAll();
tasks.c:3730vTaskGetInfo()
( void ) xTaskResumeAll();
timers.c:602prvProcessTimerOrBlockTask()
( void ) xTaskResumeAll();
timers.c:622prvProcessTimerOrBlockTask()
if( xTaskResumeAll() == pdFALSE )
timers.c:638prvProcessTimerOrBlockTask()
( void ) xTaskResumeAll();