FreeRTOS+TCP is still in the lab
FreeRTOS+TCP is already used in
commercial products and we encourage
you to try it yourself.
Be aware however that we are
still refining its design, and the
source code and documentation do not
yet meet Real Time Engineers Ltd's strict quality standards.
Please use the forum for support,
feedback and ideas,
or contact us directly if you have a specific business interest.
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
If the socket is part of a socket set (SocketSet_t), the call to
using that socket set, will also get interrupted and
FreeRTOS_SignalSocketFromISR() is a version of FreeRTOS_SignalSocket()
that can be used from an interrupt service routine (ISR).
must be set to 1 in FreeRTOSIPConfig.h for
FreeRTOS_SignalSocket() to be available.
The socket to which the signal is being sent.
*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.
If xSocket is not a valid socket then -pdFREERTOS_ERRNO_EINVAL is
returned. Otherwise 0 is returned.