Commit 9c92f692 authored by Jan Moskyto Matejka's avatar Jan Moskyto Matejka
Browse files

Unix: Substituted select -> poll also in congestion checker

It does strange things when even one fd larger than FD_SETSIZE is
passed to select().
parent fd926ed4
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -1679,19 +1679,12 @@ sk_maybe_write(sock *s)
int
sk_rx_ready(sock *s)
{
  fd_set rd, wr;
  struct timeval timo;
  int rv;

  FD_ZERO(&rd);
  FD_ZERO(&wr);
  FD_SET(s->fd, &rd);

  timo.tv_sec = 0;
  timo.tv_usec = 0;
  struct pollfd pfd = { .fd = s->fd };
  pfd.events |= POLLIN;

 redo:
  rv = select(s->fd+1, &rd, &wr, NULL, &timo);
  rv = poll(&pfd, 1, 0);

  if ((rv < 0) && (errno == EINTR || errno == EAGAIN))
    goto redo;