mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
hurdselect: remove dead code.
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.
This commit is contained in:
parent
e9a5bc1c18
commit
c187253fc2
@ -24,6 +24,8 @@
|
||||
45.
|
||||
* hurd/hurdselect.c (_hurd_select): Pass MACH_RCV_INTERRUPT to
|
||||
__mach_msg. If that returns MACH_RCV_INTERRUPTED, set ERR to EINTR.
|
||||
* hurd/hurdselect.c (_hurd_select): Remove unreachable check for
|
||||
MACH_RCV_TIMED_OUT.
|
||||
|
||||
2015-02-06 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
|
@ -407,13 +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 (msgerr == MACH_RCV_INTERRUPTED)
|
||||
/* Interruption on our side (e.g. signal reception). */
|
||||
err = EINTR;
|
||||
|
Loading…
Reference in New Issue
Block a user