mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Remove initialisation of xQueueRegistry.
This commit is contained in:
parent
e5d85bc87e
commit
5116051604
|
@ -162,16 +162,14 @@ unsigned portBASE_TYPE uxQueueMessagesWaitingFromISR( const xQueueHandle pxQueue
|
||||||
/* The queue registry is simply an array of xQueueRegistryItem structures.
|
/* The queue registry is simply an array of xQueueRegistryItem structures.
|
||||||
The pcQueueName member of a structure being NULL is indicative of the
|
The pcQueueName member of a structure being NULL is indicative of the
|
||||||
array position being vacant. */
|
array position being vacant. */
|
||||||
xQueueRegistryItem xQueueRegistry[ configQUEUE_REGISTRY_SIZE ] = { 0 };
|
xQueueRegistryItem xQueueRegistry[ configQUEUE_REGISTRY_SIZE ];
|
||||||
|
|
||||||
/* Removes a queue from the registry by simply setting the pcQueueName
|
/* Removes a queue from the registry by simply setting the pcQueueName
|
||||||
member to NULL. */
|
member to NULL. */
|
||||||
static void vQueueUnregisterQueue( xQueueHandle xQueue );
|
static void vQueueUnregisterQueue( xQueueHandle xQueue );
|
||||||
void vQueueAddToRegistry( xQueueHandle xQueue, signed portCHAR *pcQueueName );
|
void vQueueAddToRegistry( xQueueHandle xQueue, signed portCHAR *pcQueueName );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unlocks a queue locked by a call to prvLockQueue. Locking a queue does not
|
* Unlocks a queue locked by a call to prvLockQueue. Locking a queue does not
|
||||||
* prevent an ISR from adding or removing items to the queue, but does prevent
|
* prevent an ISR from adding or removing items to the queue, but does prevent
|
||||||
|
@ -945,8 +943,12 @@ signed portCHAR *pcOriginalReadPosition;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* The two tasks are blocked on the queue, the low priority task is polling/running. */
|
||||||
|
|
||||||
|
/* An interrupt occurs here - which unblocks the HP tasks, but they do not run. */
|
||||||
taskENTER_CRITICAL();
|
taskENTER_CRITICAL();
|
||||||
{
|
{
|
||||||
|
/* Because the interrupt occurred the LP task manages to grab the data as the other two tasks are not yet running. */
|
||||||
if( pxQueue->uxMessagesWaiting > ( unsigned portBASE_TYPE ) 0 )
|
if( pxQueue->uxMessagesWaiting > ( unsigned portBASE_TYPE ) 0 )
|
||||||
{
|
{
|
||||||
/* Remember our read position in case we are just peeking. */
|
/* Remember our read position in case we are just peeking. */
|
||||||
|
@ -996,7 +998,7 @@ signed portCHAR *pcOriginalReadPosition;
|
||||||
the pending ready list as the scheduler is still suspended. */
|
the pending ready list as the scheduler is still suspended. */
|
||||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||||
{
|
{
|
||||||
/* The task waiting has a higher priority that this task. */
|
/* The task waiting has a higher priority than this task. */
|
||||||
taskYIELD();
|
taskYIELD();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1030,6 +1032,7 @@ signed portCHAR *pcOriginalReadPosition;
|
||||||
traceQUEUE_RECEIVE_FAILED( pxQueue );
|
traceQUEUE_RECEIVE_FAILED( pxQueue );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} while( xReturn == queueERRONEOUS_UNBLOCK );
|
} while( xReturn == queueERRONEOUS_UNBLOCK );
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
|
|
Loading…
Reference in a new issue