From 15e1f376a46a19fed0fe46796ccdf0d54430444d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 21 Aug 2022 11:37:54 +0530 Subject: [PATCH] EINTR safe function to get tty size --- tools/utils/tty.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/utils/tty.go b/tools/utils/tty.go index 0473a2a65..0bedfb737 100644 --- a/tools/utils/tty.go +++ b/tools/utils/tty.go @@ -302,3 +302,12 @@ func (self *Term) WriteFromReader(r Reader, read_timeout time.Duration, write_ti buf = buf[:0] } } + +func (self *Term) GetSize() (*unix.Winsize, error) { + for { + sz, err := unix.IoctlGetWinsize(self.fd, unix.TIOCGWINSZ) + if err != unix.EINTR { + return sz, err + } + } +}