diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2015-02-07 22:18:03 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2015-02-07 22:18:03 +0100 |
commit | c187253fc222ed05de710d94b5bcaf02c3ef37c5 (patch) | |
tree | 149bbaf07278418e57f6da72e65f92d7381c6d93 | |
parent | e9a5bc1c18b5acf3c8475e3f36431ac34bda9751 (diff) | |
download | glibc-c187253fc222ed05de710d94b5bcaf02c3ef37c5.tar.gz glibc-c187253fc222ed05de710d94b5bcaf02c3ef37c5.tar.xz glibc-c187253fc222ed05de710d94b5bcaf02c3ef37c5.zip |
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.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | hurd/hurdselect.c | 7 |
2 files changed, 2 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index 97849df706..4ba04cdd86 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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> diff --git a/hurd/hurdselect.c b/hurd/hurdselect.c index bd31c94aae..1d908548e2 100644 --- a/hurd/hurdselect.c +++ b/hurd/hurdselect.c @@ -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; |