Hi, I am new in the filed of FreeRtos. I have a simple question regarding code. Inside function: xQueueGenericSend( xQueueHandle pxQueue, const void * const pvItemToQueue, portTickType xTicksToWait, portBASE_TYPE xCopyPosition ) In case function was called with xTicksToWait >0 and situation happened to be next: — queue is full — task has not yet timed out we (xTaskCheckForTimeOut returns false) as consequence we call vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToSend ), xTicksToWait ); in each iteration of do-while loop. Question: Will not waiting list build up in size (memory leak) ? Pajk
I’m not sure I completely understand your question – but once a task has been placed on the event list it is in the Blocked state and will not run again until it has been unblocked. Therefore it cannot be placed on the event list again until it has already been unblocked and removed from the event list. It will therefore only be on the event list at most once at any particular time. Regards.
Hi, Richard , it is like you wrote. After weekend inspecting the code I must agree with you. This topic needs no further debate, so it should be closed. Thanks again, Richard. Your advice led me the right way. Izi Pajk
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.