mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-12 09:07:46 -04:00
Make the parameters to vPortDefineHeapRegions() const.
Add additional asserts to the Keil CM3 and CM4F ports (other CM3/4 ports already updated). Add the additional yield necessitated by the mutex held count to the case when configUSE_QUEUE_SETS is 0.
This commit is contained in:
parent
4fe2abc792
commit
8aa5fa3459
5 changed files with 44 additions and 6 deletions
|
@ -511,7 +511,7 @@ QueueHandle_t xReturn = NULL;
|
|||
}
|
||||
else
|
||||
{
|
||||
/* The mutex cannot be given because the calling task is not the
|
||||
/* The mutex cannot be given because the calling task is not the
|
||||
holder. */
|
||||
xReturn = pdFAIL;
|
||||
|
||||
|
@ -547,7 +547,7 @@ QueueHandle_t xReturn = NULL;
|
|||
{
|
||||
xReturn = xQueueGenericReceive( pxMutex, NULL, xTicksToWait, pdFALSE );
|
||||
|
||||
/* pdPASS will only be returned if the mutex was successfully
|
||||
/* pdPASS will only be returned if the mutex was successfully
|
||||
obtained. The calling task may have entered the Blocked state
|
||||
before reaching here. */
|
||||
if( xReturn == pdPASS )
|
||||
|
@ -695,6 +695,14 @@ Queue_t * const pxQueue = ( Queue_t * ) xQueue;
|
|||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else if( xYieldRequired != pdFALSE )
|
||||
{
|
||||
/* This path is a special case that will only get
|
||||
executed if the task was holding multiple mutexes and
|
||||
the mutexes were given back in an order that is
|
||||
different to that in which they were taken. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
|
@ -1627,7 +1635,7 @@ BaseType_t xReturn = pdFALSE;
|
|||
/* The mutex is no longer being held. */
|
||||
vTaskDecrementMutexHeldCount();
|
||||
xReturn = xTaskPriorityDisinherit( ( void * ) pxQueue->pxMutexHolder );
|
||||
pxQueue->pxMutexHolder = NULL;
|
||||
pxQueue->pxMutexHolder = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue