Author: trasz
Date: Sun May  7 17:21:22 2017
New Revision: 317909
URL: https://svnweb.freebsd.org/changeset/base/317909

Log:
  Make resizewin(1) discard the terminal queues, to lower the chance
  for "unable to parse response" error which happens when youre typing
  too fast for the machine you're running it on.
  
  Reviewed by:  cem, Daniel O'Connor <dar...@dons.net.au>
  MFC after:    2 weeks
  Sponsored by: DARPA, AFRL
  Differential Revision:        https://reviews.freebsd.org/D10624

Modified:
  head/usr.bin/resizewin/resizewin.c

Modified: head/usr.bin/resizewin/resizewin.c
==============================================================================
--- head/usr.bin/resizewin/resizewin.c  Sun May  7 14:59:45 2017        
(r317908)
+++ head/usr.bin/resizewin/resizewin.c  Sun May  7 17:21:22 2017        
(r317909)
@@ -52,7 +52,7 @@ main(__unused int argc, __unused char **
 {
        struct termios old, new;
        struct winsize w;
-       int ret, fd, cnt, error;
+       int ret, fd, cnt, error, what;
        char data[20];
        struct timeval then, now;
 
@@ -71,6 +71,12 @@ main(__unused int argc, __unused char **
        if (tcsetattr(fd, TCSANOW, &new) == -1)
                exit(1);
 
+       /* Discard input received so far */
+       what = FREAD | FWRITE;
+       error = ioctl(fd, TIOCFLUSH, &what);
+       if (error != 0)
+               warn("ioctl");
+
        if (write(fd, query, sizeof(query)) != sizeof(query)) {
                error = 1;
                goto out;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to