xTaskResumeAll() function
task. h @code{c} BaseType_t xTaskResumeAll( void ); @endcode 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: @code{c} 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 (); } } } @endcode
Return value
If resuming the scheduler caused a context switch then pdTRUE is returned, otherwise pdFALSE is returned.
xTaskResumeAll() is called by 23 functions and calls 10 functions:
![]()
xTaskResumeAll()
xTaskResumeAll() reads 19 variables and writes 7 variables:
![]()
xTaskResumeAll()