mutual exclusion is required to test the pxMutexHolder variable. */\r
if( pxMutex->pxMutexHolder == xTaskGetCurrentTaskHandle() )\r
{\r
+ traceGIVE_MUTEX_RECURSIVE( pxMutex );\r
+\r
/* uxRecursiveCallCount cannot be zero if pxMutexHolder is equal to\r
the task handle, therefore no underflow check is required. Also,\r
uxRecursiveCallCount is only modified by the mutex holder, and as\r
xQueueGenericSend( pxMutex, NULL, queueMUTEX_GIVE_BLOCK_TIME, queueSEND_TO_BACK );\r
}\r
\r
- xReturn = pdPASS;\r
-\r
- traceGIVE_MUTEX_RECURSIVE( pxMutex );\r
+ xReturn = pdPASS; \r
}\r
else\r
{\r
/* Comments regarding mutual exclusion as per those within\r
xQueueGiveMutexRecursive(). */\r
\r
+ traceTAKE_MUTEX_RECURSIVE( pxMutex );\r
+\r
if( pxMutex->pxMutexHolder == xTaskGetCurrentTaskHandle() )\r
{\r
( pxMutex->uxRecursiveCallCount )++;\r
{\r
( pxMutex->uxRecursiveCallCount )++;\r
}\r
- }\r
-\r
- traceTAKE_MUTEX_RECURSIVE( pxMutex );\r
+ } \r
\r
return xReturn;\r
}\r
\r
void vTaskSwitchContext( void )\r
{\r
+ traceTASK_SWITCHED_OUT();\r
+\r
if( uxSchedulerSuspended != ( unsigned portBASE_TYPE ) pdFALSE )\r
{\r
/* The scheduler is currently suspended - do not allow a context\r