svn commit: r317909 - head/usr.bin/resizewin
Konstantin Belousov
kostikbel at gmail.com
Sun May 7 18:01:51 UTC 2017
On Sun, May 07, 2017 at 05:21:23PM +0000, Edward Tomasz Napierala wrote:
> 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 <darius at 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);
This is correctly spelled tcflush(fd, TCIOFLUSH);
> + if (error != 0)
> + warn("ioctl");
> +
> if (write(fd, query, sizeof(query)) != sizeof(query)) {
> error = 1;
> goto out;
More information about the svn-src-head
mailing list