[FreeRTOS+TCP API Reference]
void FreeRTOS_FD_CLR( Socket_t xSocket, SocketSet_t xSocketSet, BaseType_t xBitsToClear );
Sockets in a socket set have a number of associated event bits of interest. An event bit of interest becoming set will cause the socket to unblock a call to FreeRTOS_select(). Event bits of interest are set using the FreeRTOS_FD_SET() API function, and cleared using the FreeRTOS_FD_CLR() API function. If all the event bits are clear then the socket will be removed from the socket set.
ipconfigSUPPORT_SELECT_FUNCTION must be set to 1 in FreeRTOSIPConfig.h for FreeRTOS_FD_CLR() to be available.
Each socket member has its own set of event bits, which can be a bitwise OR combination of the following values:
For a socket that is reading data, the eSELECT_READ event
will be pending in a socket as long as the socket contains
For a socket that is listening for new connections, the eSELECT_READ event will be pended each time a new connection is received.
The eSELECT_WRITE event will remain pending as long as the
socket has space for writing.
If a TCP socket is actively connecting to a pear the eSELECT_WRITE event will be triggered as soon as the connection is established.
One the eSELECT_WRITE event has been pended it should either be disabled, or the caller should write enough data to the socket so as to completely fill up the transmit buffer – otherwise the pending eSELECT_WRITE event will not be cleared.
|eSELECT_EXCEPT||The eSELECT_EXCEPT event will become pending if the socket gets disconnected.|
The socket having a bit of interest cleared or being
removed from the socket set.
The socket set the socket is a member of.
The bits which should be cleared, use ‘eSELECT_ALL’ to clear all
bits and remove the socket from the set.