| // Copyright 2015 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| // +build !plan9,!windows | |
| package exec | |
| import ( | |
| "os" | |
| "syscall" | |
| ) | |
| func init() { | |
| skipStdinCopyError = func(err error) bool { | |
| // Ignore EPIPE errors copying to stdin if the program | |
| // completed successfully otherwise. | |
| // See Issue 9173. | |
| pe, ok := err.(*os.PathError) | |
| return ok && | |
| pe.Op == "write" && pe.Path == "|1" && | |
| pe.Err == syscall.EPIPE | |
| } | |
| } |