]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/tasks.c
Demo application related:
[freertos] / FreeRTOS / Source / tasks.c
index 1ef6523c9ab4d61df827bc0c2dc0bc896e0405ee..28dafd93f0e1454d512841461c4a3e831b397f0e 100644 (file)
@@ -2151,11 +2151,13 @@ void vTaskSwitchContext( void )
                }\r
                #endif /* configGENERATE_RUN_TIME_STATS */\r
 \r
+               /* Check for stack overflow, if configured. */\r
                taskFIRST_CHECK_FOR_STACK_OVERFLOW();\r
                taskSECOND_CHECK_FOR_STACK_OVERFLOW();\r
 \r
+               /* Select a new task to run using either the generic C or port\r
+               optimised asm code. */\r
                taskSELECT_HIGHEST_PRIORITY_TASK();\r
-\r
                traceTASK_SWITCHED_IN();\r
 \r
                #if ( configUSE_NEWLIB_REENTRANT == 1 )\r
@@ -3584,24 +3586,32 @@ TickType_t uxReturn;
 \r
 void vTaskIncrementMutexHeldCount( void )\r
 {\r
-       /* If xSemaphoreCreateMutex() is called before any tasks have been created\r
-       then pxCurrentTCB will be NULL. */\r
-       if( pxCurrentTCB != NULL )\r
+       #if ( configUSE_MUTEXES == 1 )\r
        {\r
-               ( pxCurrentTCB->uxMutexesHeld )++;\r
+               /* If xSemaphoreCreateMutex() is called before any tasks have been created\r
+               then pxCurrentTCB will be NULL. */\r
+               if( pxCurrentTCB != NULL )\r
+               {\r
+                       ( pxCurrentTCB->uxMutexesHeld )++;\r
+               }\r
        }\r
+       #endif\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 void vTaskDecrementMutexHeldCount( void )\r
 {\r
-       /* If xSemaphoreCreateMutex() is called before any tasks have been created\r
-       then pxCurrentTCB will be NULL. */\r
-       if( pxCurrentTCB != NULL )\r
+       #if ( configUSE_MUTEXES == 1 )\r
        {\r
-               configASSERT( pxCurrentTCB->uxMutexesHeld );\r
-               ( pxCurrentTCB->uxMutexesHeld )--;\r
+               /* If xSemaphoreCreateMutex() is called before any tasks have been created\r
+               then pxCurrentTCB will be NULL. */\r
+               if( pxCurrentTCB != NULL )\r
+               {\r
+                       configASSERT( pxCurrentTCB->uxMutexesHeld );\r
+                       ( pxCurrentTCB->uxMutexesHeld )--;\r
+               }\r
        }\r
+       #endif\r
 }\r
 \r
 #ifdef FREERTOS_MODULE_TEST\r