On Sun, 13 Jul 2025 20:34:56 +0900 Takashi Yano wrote: > On Sun, 13 Jul 2025 11:40:10 +0200 > Christoph Reiter wrote: > > I'm having the problem that under cygwin flushing stdin for some reason > > doesn't > > work when running in mintty. It works when running cygwin in the Windows > > terminal though. In my case the program using this is pacman, where it asks > > various questions and if you hit some keys in-between questions they leak > > into > > the next one, resulting in invalid input. > > > > Example program showing the problem. Type some text in the first 5 seconds, > > and > > see the input leak into the next input. Any ideas/workarounds welcome. > > > > ```c > > // gcc -o flush_stdin flush_stdin.c > > #include <stdio.h> > > #include <unistd.h> > > #include <termios.h> > > > > int main() { > > printf("type something in the next 5 secs\n"); > > for (int i=0; i < 5; i++) { > > sleep(1); > > printf("%d\n", i); > > } > > > > // Flush stdin > > int fd = fileno(stdin); > > if (fd != -1) { > > printf("flushing stdin\n"); > > if (tcflush(fd, TCIFLUSH) == -1) { // this doesn't seem to do > > anything > > perror("Error flushing stdin"); > > return 1; > > } > > } else { > > perror("Error getting file descriptor for stdin"); > > return 1; > > } > > > > char buffer[100]; > > printf("Enter some text:\n"); > > fgets(buffer, sizeof(buffer), stdin); > > printf("You entered: %s\n", buffer); > > > > return 0; > > } > > ``` > > Thanks for the report. > > This seems to be a bug of pty code. If you enter 'return' key > in the first 5 sec, the input will be flushed. > > I'll look into that.
Fixed. https://cygwin.com/pipermail/cygwin-patches/2025q3/014128.html -- Takashi Yano <takashi.y...@nifty.ne.jp> -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple