FreeRTOS_sockets.h
BaseType_t FreeRTOS_SignalSocket( Socket_t xSocket );
BaseType_t FreeRTOS_SignalSocketFromISR( Socket_t xSocket,
BaseType_t *pxHigherPriorityTaskWoken );
Used to send a signal to a socket, the result of which is that any task
blocked on a read from the socket will leave the Blocked state (abort the
blocking operation), with the task's read operation
(
FreeRTOS_recv() or
FreeRTOS_recvfrom())
returning -pdFREERTOS_ERRNO_EINTR.
If the socket is part of a socket set (SocketSet_t), the call to
FreeRTOS_select()
using that socket set, will also get interrupted and
return eSELECT_INTR.
FreeRTOS_SignalSocketFromISR() is a version of FreeRTOS_SignalSocket()
that can be used from an interrupt service routine (ISR).
ipconfigSUPPORT_SIGNALS
must be set to 1 in FreeRTOSIPConfig.h for
FreeRTOS_SignalSocket() to be available.
Parameters:
xSocket
|
The socket to which the signal is being sent.
|
pxHigherPriorityTaskWoken
|
[FreeRTOS_SignalSocketFromISR() only.]
*pxHigherPriorityTaskWoken must be initialised to 0.
FreeRTOS_SignalSocketFromISR() will set
*pxHigherPriorityTaskWoken to pdTRUE if sending the
signal to the socket caused a task to unblock, and
the unblocked task has a priority higher than the
currently running task.
If FreeRTOS_SignalSocket() sets this value to pdTRUE
then a context switch should be requested before the
interrupt is exited. The name of the macro used to
request a context switch from an ISR is dependent on the port,
and will be called either portYIELD_FROM_ISR() or
portEND_SWITCHING_ISR(). Refer to the documentation and examples provided for
the port in use.
|
Returns:
If xSocket is not a valid socket then -pdFREERTOS_ERRNO_EINVAL is
returned. Otherwise 0 is returned.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.