Skip to content

Commit fed39c5

Browse files
Saiiijchanwangfei_chen
andauthored
Refine comments related to taskYIELD in queue.h (#1333)
Replace taskYIELD with portYIELD_FROM_ISR Signed-off-by: wangfei_chen <[email protected]> Co-authored-by: wangfei_chen <[email protected]>
1 parent 439af33 commit fed39c5

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

include/queue.h

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,7 +1026,11 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
10261026
* // Now the buffer is empty we can switch context if necessary.
10271027
* if( xHigherPriorityTaskWoken )
10281028
* {
1029-
* taskYIELD ();
1029+
* // As xHigherPriorityTaskWoken is now set to pdTRUE then a context
1030+
* // switch should be requested. The macro used is port specific and
1031+
* // will be either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR() -
1032+
* // refer to the documentation page for the port being used.
1033+
* portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
10301034
* }
10311035
* }
10321036
* @endcode
@@ -1098,7 +1102,11 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
10981102
* // Now the buffer is empty we can switch context if necessary.
10991103
* if( xHigherPriorityTaskWoken )
11001104
* {
1101-
* taskYIELD ();
1105+
* // As xHigherPriorityTaskWoken is now set to pdTRUE then a context
1106+
* // switch should be requested. The macro used is port specific and
1107+
* // will be either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR() -
1108+
* // refer to the documentation page for the port being used.
1109+
* portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
11021110
* }
11031111
* }
11041112
* @endcode
@@ -1429,23 +1437,27 @@ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue,
14291437
* // ISR that outputs all the characters received on the queue.
14301438
* void vISR_Routine( void )
14311439
* {
1432-
* BaseType_t xTaskWokenByReceive = pdFALSE;
1440+
* BaseType_t xHigherPriorityTaskWoken = pdFALSE;
14331441
* char cRxedChar;
14341442
*
1435-
* while( xQueueReceiveFromISR( xQueue, ( void * ) &cRxedChar, &xTaskWokenByReceive) )
1443+
* while( xQueueReceiveFromISR( xQueue, ( void * ) &cRxedChar, &xHigherPriorityTaskWoken) )
14361444
* {
14371445
* // A character was received. Output the character now.
14381446
* vOutputCharacter( cRxedChar );
14391447
*
14401448
* // If removing the character from the queue woke the task that was
1441-
* // posting onto the queue xTaskWokenByReceive will have been set to
1449+
* // posting onto the queue xHigherPriorityTaskWoken will have been set to
14421450
* // pdTRUE. No matter how many times this loop iterates only one
14431451
* // task will be woken.
14441452
* }
14451453
*
1446-
* if( xTaskWokenByReceive != ( char ) pdFALSE;
1454+
* if( xHigherPrioritytaskWoken == pdTRUE );
14471455
* {
1448-
* taskYIELD ();
1456+
* // As xHigherPriorityTaskWoken is now set to pdTRUE then a context
1457+
* // switch should be requested. The macro used is port specific and
1458+
* // will be either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR() -
1459+
* // refer to the documentation page for the port being used.
1460+
* portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
14491461
* }
14501462
* }
14511463
* @endcode

0 commit comments

Comments
 (0)