Skip to content

Commit f455cd8

Browse files
committed
Fix busy looping on Windows
1 parent d5b8b50 commit f455cd8

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

twin/screen-setup-windows.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,19 @@ func (r *interruptableReader) waitForReadReady(timeout time.Duration) (ready boo
5454
}
5555

5656
if fileType == windows.FILE_TYPE_PIPE {
57-
return waitForPipeReadReady(windows.Handle(r.base.Fd()))
57+
ready, err = waitForPipeReadReady(windows.Handle(r.base.Fd()))
58+
if ready || err != nil {
59+
return
60+
}
61+
62+
time.Sleep(timeout / 2)
63+
ready, err = waitForPipeReadReady(windows.Handle(r.base.Fd()))
64+
if ready || err != nil {
65+
return
66+
}
67+
68+
time.Sleep(timeout / 2)
69+
return
5870
}
5971

6072
timeoutMillis := uint32(timeout.Milliseconds())

0 commit comments

Comments
 (0)