Skip to content

Commit

Permalink
Removed the 'configASSERT( xInheritanceOccurred == pdFALSE )' asserti…
Browse files Browse the repository at this point in the history
…on from xQueueSemaphoreTake as the reasoning behind it is wrong; it can trigger on wrongly on highly-contested semaphores on multicore systems. See https://forums.freertos.org/t/15967 (#576)

Co-authored-by: Niklas Gürtler <niklas.guertler@tacterion.com>
  • Loading branch information
Erlkoenig90 and Erlkoenig90 authored Oct 13, 2022
1 parent 1d20f0e commit 4e2bf2c
Showing 1 changed file with 0 additions and 9 deletions.
9 changes: 0 additions & 9 deletions queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -1604,15 +1604,6 @@ BaseType_t xQueueSemaphoreTake( QueueHandle_t xQueue,
{
if( xTicksToWait == ( TickType_t ) 0 )
{
/* For inheritance to have occurred there must have been an
* initial timeout, and an adjusted timeout cannot become 0, as
* if it were 0 the function would have exited. */
#if ( configUSE_MUTEXES == 1 )
{
configASSERT( xInheritanceOccurred == pdFALSE );
}
#endif /* configUSE_MUTEXES */

/* The semaphore count was 0 and no block time is specified
* (or the block time has expired) so exit now. */
taskEXIT_CRITICAL();
Expand Down

0 comments on commit 4e2bf2c

Please sign in to comment.