go-prompt/prompt_posix.go
Yasuhiro Matsumoto 768f2d8293 windows support
2017-09-07 08:58:11 +09:00

28 lines
441 B
Go

// +build !windows
package prompt
import (
"log"
"syscall"
"time"
)
func (p *Prompt) readBuffer(bufCh chan []byte, stopCh chan struct{}) {
buf := make([]byte, 1024)
log.Printf("[INFO] readBuffer start")
for {
time.Sleep(10 * time.Millisecond)
select {
case <-stopCh:
log.Print("[INFO] stop readBuffer")
return
default:
if n, err := syscall.Read(syscall.Stdin, buf); err == nil {
bufCh <- buf[:n]
}
}
}
}