esp-idf/components/esp_ringbuf
RichFalk 2305b5f474 esp_ringbuf: Fix assertion xQueueGenericSend queue.c:818
The release of the semaphore indicating the item was successfully sent must be the last semaphore released.  The receiver may be in another task and may delete the Ringbuffer (such as with a return code across tasks design pattern) if they are through with the Ringbuffer.

The function xRingbufferSendAcquire followed by xRingbufferSendComplete had the semaphores released in the proper order and that same pattern should have been used in xRingbufferSend and xRingbufferSendFromISR.  This commit fixes this order.

Issue (IDFGH-6030) #7716 describes the problem in more detail.

Closes IDFGH-6030, https://github.com/espressif/esp-idf/issues/7716
Closes IDFGH-6036, https://github.com/espressif/esp-idf/pull/7721
2021-12-03 09:34:15 +05:30
..
include/freertos freertos: always enable static allocation 2020-12-29 16:18:04 +01:00
test Merge branch 'feature/move_ringbuf_funcs_into_flash' into 'master' 2021-01-20 07:32:39 +08:00
CMakeLists.txt components: use new component registration api 2019-06-21 19:53:29 +08:00
component.mk tools: implement linker script generation 2018-11-16 12:42:02 +08:00
linker.lf esp_ringbuf: add kconfig opt to move ringbuffer functions into flash 2021-01-20 07:32:31 +08:00
ringbuf.c esp_ringbuf: Fix assertion xQueueGenericSend queue.c:818 2021-12-03 09:34:15 +05:30