Hi Experts,
We are using sl_Select() with timeout. Timeout seems to be working but not as expected/documented in the simplelink documentation. When we provide timeout and no data received within timeout interval, program comes out of select (as expected); however readfdset is not set to 0 (unexpected). This gives an impression to the application that there is data on the socket application tries to read the data and blocks. This beats the purpose of using select().
As per simplelink documentation, in case of timeout readfdset must have been set to 0. Is this a defect in select() implementation?
From Documentation
Returns On success, select() returns the number of file descriptors contained in the three returned descriptor sets (that is, the total number of bits that are set in readfds, writefds, exceptfds) which may be zero if the timeout expires before anything interesting happens. On error, a negative value is returned. readsds - return the sockets on which Read request will return without delay with valid data. writesds - return the sockets on which Write request will return without delay. exceptsds - return the sockets closed recently. SL_POOL_IS_EMPTY may be return in case there are no resources in the system In this case try again later or increase MAX_CONCURRENT_ACTIONS