Function esp_idf_hal::sys::xStreamBufferReceiveCompletedFromISR
source ยท pub unsafe extern "C" fn xStreamBufferReceiveCompletedFromISR(
xStreamBuffer: *mut StreamBufferDef_t,
pxHigherPriorityTaskWoken: *mut i32,
) -> i32
Expand description
@cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
@code{c} BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken ); @endcode @endcond
For advanced users only.
The sbRECEIVE_COMPLETED() macro is called from within the FreeRTOS APIs when data is read out of a message buffer or stream buffer. If there was a task that was blocked on the message or stream buffer waiting for data to arrive then the sbRECEIVE_COMPLETED() macro sends a notification to the task to remove it from the Blocked state. xStreamBufferReceiveCompletedFromISR() does the same thing. It is provided to enable application writers to implement their own version of sbRECEIVE_COMPLETED(), and MUST NOT BE USED AT ANY OTHER TIME.
See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for additional information.
@param xStreamBuffer The handle of the stream buffer from which data was read.
@param pxHigherPriorityTaskWoken *pxHigherPriorityTaskWoken should be initialised to pdFALSE before it is passed into xStreamBufferReceiveCompletedFromISR(). If calling xStreamBufferReceiveCompletedFromISR() removes a task from the Blocked state, and the task has a priority above the priority of the currently running task, then *pxHigherPriorityTaskWoken will get set to pdTRUE indicating that a context switch should be performed before exiting the ISR.
@return If a task was removed from the Blocked state then pdTRUE is returned. Otherwise pdFALSE is returned.
@cond !DOC_SINGLE_GROUP \defgroup xStreamBufferReceiveCompletedFromISR xStreamBufferReceiveCompletedFromISR @endcond \ingroup StreamBufferManagement