+ /* Check whether there is more data to read from the socket we selected last time.
+ This can happen with tcp buffered sockets since we try to get as much data as we can for them */
+ if (_gras_lastly_selected_socket && _gras_lastly_selected_socket->moredata) {
+ VERB0("Returning _gras_lastly_selected_socket since there is more data on it");
+ return _gras_lastly_selected_socket;
+ }
+
+ /* Compute FD_SETSIZE on need */
+ if (fd_setsize < 0) {