mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-25 04:01:10 +00:00
hurd: Fix _hurd_select for single fd sets
The function attempts to optimize this case by performing one IPC system call with the timeout included among the parameters, but in the absence of a reply, it will call mach_msg again with the same timeout later, effectively doubling the total timeout of the select/poll call. Remove this optimization for the time being. * hurd/hurdselect.c (_hurd_select): Always call __io_select with no timeout.
This commit is contained in:
parent
23c1c256ae
commit
4b068090a0
@ -1,3 +1,8 @@
|
||||
2019-08-30 Richard Braun <rbraun@sceen.net>
|
||||
|
||||
* hurd/hurdselect.c (_hurd_select): Always call __io_select with no
|
||||
timeout.
|
||||
|
||||
2019-08-29 Mihailo Stojanovic <mihailo.stojanovic@rt-rk.com>
|
||||
|
||||
* elf/dl-addr.c (determine_info): Calculate the symbol index
|
||||
|
@ -236,10 +236,7 @@ _hurd_select (int nfds,
|
||||
{
|
||||
int type = d[i].type;
|
||||
d[i].reply_port = __mach_reply_port ();
|
||||
err = __io_select (d[i].io_port, d[i].reply_port,
|
||||
/* Poll only if there's a single descriptor. */
|
||||
(firstfd == lastfd) ? to : 0,
|
||||
&type);
|
||||
err = __io_select (d[i].io_port, d[i].reply_port, 0, &type);
|
||||
switch (err)
|
||||
{
|
||||
case MACH_RCV_TIMED_OUT:
|
||||
|
Loading…
Reference in New Issue
Block a user