mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-07-11 18:23:20 +00:00
Retry on temp errors when reading from terminal
This commit is contained in:
parent
b237e1b99f
commit
d8a53fbafd
1 changed files with 5 additions and 0 deletions
|
|
@ -4,6 +4,7 @@ package benchmark
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"strings"
|
||||
|
|
@ -17,6 +18,7 @@ import (
|
|||
"kitty/tools/utils"
|
||||
|
||||
"golang.org/x/exp/slices"
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
var _ = fmt.Print
|
||||
|
|
@ -101,6 +103,9 @@ func benchmark_data(description string, data string, opts Options) (duration tim
|
|||
for !bytes.Contains(read_data, q) {
|
||||
n, err := term.Read(buf)
|
||||
if err != nil {
|
||||
if (errors.Is(err, unix.EAGAIN) || errors.Is(err, unix.EINTR)) && n == 0 {
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
read_data = append(read_data, buf[:n]...)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue