R=rsc
CC=golang-dev
https://golang.org/cl/962046
func Read(fd int, p []byte) (n int, errno int) {
var done uint32
if ok, e := ReadFile(int32(fd), p, &done, nil); !ok {
+ if e == ERROR_BROKEN_PIPE {
+ // BUG(brainman): work around ERROR_BROKEN_PIPE is returned on reading EOF from stdin
+ return 0, 0
+ }
return 0, e
}
return int(done), 0
const (
ERROR_FILE_NOT_FOUND = 2
ERROR_NO_MORE_FILES = 18
+ ERROR_BROKEN_PIPE = 109
ERROR_INSUFFICIENT_BUFFER = 122
ERROR_MOD_NOT_FOUND = 126
ERROR_PROC_NOT_FOUND = 127