This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin/topic/posix_acl_funcs] Make select wait state more readable


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

commit 54d9cb18b68bf85462a12e9f39cd0a55bd24e085
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Mon Jan 25 21:00:14 2016 +0100

    Make select wait state more readable
    
    	Rename "res" to "wait_state" and change its type to
    	select_stuff::wait_states.  Use select_stuff::wait_states
    	values instead of ints throughout. 	Rearrange a few comments.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/select.cc | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index fa6859c..979b0b0 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -129,7 +129,7 @@ static int
 select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
 	DWORD ms)
 {
-  int res = select_stuff::select_loop;
+  select_stuff::wait_states wait_state = select_stuff::select_loop;
   int ret = 0;
 
   /* Record the current time for later use. */
@@ -167,29 +167,32 @@ select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
 	       call_signal_handler().  */
 	    _my_tls.call_signal_handler ();
 	    set_sig_errno (EINTR);
-	    res = select_stuff::select_signalled;
+	    wait_state = select_stuff::select_signalled;
 	    break;
 	  case WAIT_CANCELED:
 	    sel.destroy ();
 	    pthread::static_cancel_self ();
 	    /*NOTREACHED*/
 	  default:
-	    res = select_stuff::select_set_zero; /* Set res to zero below. */
+	    /* Set wait_state to zero below. */
+	    wait_state = select_stuff::select_set_zero;
 	    break;
 	  }
       else if (sel.always_ready || ms == 0)
-	res = 0;				 /* Catch any active fds via
-						    sel.poll() below */
+	/* Catch any active fds via sel.poll() below */
+	wait_state = select_stuff::select_ok;
       else
-	res = sel.wait (r, w, e, ms);		 /* wait for an fd to become
-						    become active or time out */
-      select_printf ("res %d", res);
-      if (res >= 0)
+	/* wait for an fd to become active or time out */
+	wait_state = sel.wait (r, w, e, ms);
+
+      select_printf ("sel.wait returns %d", wait_state);
+
+      if (wait_state >= select_stuff::select_ok)
 	{
 	  UNIX_FD_ZERO (readfds, maxfds);
 	  UNIX_FD_ZERO (writefds, maxfds);
 	  UNIX_FD_ZERO (exceptfds, maxfds);
-	  if (res == select_stuff::select_set_zero)
+	  if (wait_state == select_stuff::select_set_zero)
 	    ret = 0;
 	  else
 	    {
@@ -198,7 +201,7 @@ select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
 		 fds records.  if ret is 0, continue to loop. */
 	      ret = sel.poll (readfds, writefds, exceptfds);
 	      if (!ret)
-		res = select_stuff::select_loop;
+		wait_state = select_stuff::select_loop;
 	    }
 	}
       /* Always clean up everything here.  If we're looping then build it
@@ -206,7 +209,7 @@ select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
       sel.cleanup ();
       sel.destroy ();
       /* Recalculate time remaining to wait if we are going to be looping. */
-      if (res == select_stuff::select_loop && ms != INFINITE)
+      if (wait_state == select_stuff::select_loop && ms != INFINITE)
 	{
 	  select_printf ("recalculating ms");
 	  LONGLONG now = gtod.msecs ();
@@ -217,7 +220,8 @@ select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
 	      UNIX_FD_ZERO (readfds, maxfds);
 	      UNIX_FD_ZERO (writefds, maxfds);
 	      UNIX_FD_ZERO (exceptfds, maxfds);
-	      ret = res = 0;
+	      wait_state = select_stuff::select_ok;
+	      ret = 0;
 	    }
 	  else
 	    {
@@ -227,9 +231,9 @@ select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
 	    }
 	}
     }
-  while (res == select_stuff::select_loop);
+  while (wait_state == select_stuff::select_loop);
 
-  if (res < 0)
+  if (wait_state < select_stuff::select_ok)
     ret = -1;
   return ret;
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]