bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH,HURD] hurdselect: remove dead code.


From: Samuel Thibault
Subject: [PATCH,HURD] hurdselect: remove dead code.
Date: Sat, 5 Jan 2013 17:20:25 +0100
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Hello,

This removes code which actually never happens, and is already taken
care of in the function.

This is in the second part of select, when the __mach_msg() function
over the portset has returned something else than MACH_MSG_SUCCESS. I
guess in the past the value returned by __mach_msg() was stored in err,
so this code was necessary to set back err to 0, but now it is stored in
msgerr, so err is already still 0 by default. It can thus never contain
MACH_RCV_TIMED_OUT, i.e. the code is dead. The first case mentioned in
the comment is already handled: on time out with no message, err is
already still the default 0. On time out due to poll, err would still be
0, unless some of the io_select RPCs has returned EINTR, in which case
it contains EINTR. If any other io_select RPCs had returned a proper
answer, got!=0, and thus err is set to 0 just below. The code is thus
indeed not useful any more.

Samuel

hurdselect: remove dead code

* hurd/hurdselect.c (_hurd_select): Remove unreachable check for
MACH_RCV_TIMED_OUT.

diff --git a/hurd/hurdselect.c b/hurd/hurdselect.c
index 21ba5f4..fae21a2 100644
--- a/hurd/hurdselect.c
+++ b/hurd/hurdselect.c
@@ -407,14 +407,6 @@ _hurd_select (int nfds,
            }
        }
 
-      if (err == MACH_RCV_TIMED_OUT)
-       /* This is the normal value for ERR.  We might have timed out and
-          read no messages.  Otherwise, after receiving the first message,
-          we poll for more messages.  We receive with a timeout of 0 to
-          effect a poll, so ERR is MACH_RCV_TIMED_OUT when the poll finds no
-          message waiting.  */
-       err = 0;
- 
       if (got)
        /* At least one descriptor is known to be ready now, so we will
           return success.  */
        err = 0;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]