[newlib-cygwin] Cygwin: select: set_bits: fix return value

Ken Brown kbrown@sourceware.org
Wed Apr 7 15:47:28 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=436e47584ae7aecf0ec22a98384a3348d244471f

commit 436e47584ae7aecf0ec22a98384a3348d244471f
Author: Ken Brown <kbrown@cornell.edu>
Date:   Wed Apr 7 11:43:27 2021 -0400

    Cygwin: select: set_bits: fix return value
    
    If a socket descriptor is set to ready for reading on a failed
    connect, increment the return value.

Diff:
---
 winsup/cygwin/select.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index b493ccc11..8ad982c12 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -527,7 +527,10 @@ set_bits (select_record *me, fd_set *readfds, fd_set *writefds,
 	  /* Set readfds entry in case of a failed connect. */
 	  if (!me->read_ready && me->read_selected
 	      && sock->connect_state () == connect_failed)
-	    UNIX_FD_SET (me->fd, readfds);
+	    {
+	      UNIX_FD_SET (me->fd, readfds);
+	      ready++;
+	    }
 	}
       ready++;
     }


More information about the Cygwin-cvs mailing list