Commit bb75b1df4ec7b19cc26a4fdd7cb7d770ed2f454a
authorAleksey Shargalin <myokaski@gmail.com>
Thu, 21 Jun 2018 15:24:31 +0000 (18:24 +0300)
committerAleksey Shargalin <myokaski@gmail.com>
Thu, 21 Jun 2018 15:24:31 +0000 (18:24 +0300)
After fifo overrun buffer_done remains less than buffer_len and
FD_SET(p->port[ti].s, &read_set) is not called. If firmware has nothing
to send, select always returns 0 and new data is never read even if
fifo buffer gets flushed.
This patch removes check for select timeout, so the remaining data in
buffer may go to fifo.

examples/parts/uart_pty.c

index 632dbdc4d83ef33a33cd956619adbcea57c7b788..3282ac98d3a2b4164c85a0259da4542d15ff342b 100644 (file)
@@ -175,8 +175,6 @@ uart_pty_thread(
                struct timeval timo = { 0, 500 };
                int ret = select(max+1, &read_set, &write_set, NULL, &timo);
 
-               if (!ret)
-                       continue;
                if (ret < 0)
                        break;