aboutsummaryrefslogtreecommitdiff
path: root/src/syscall/syscall_dragonfly.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/syscall/syscall_dragonfly.go')
-rw-r--r--src/syscall/syscall_dragonfly.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/syscall/syscall_dragonfly.go b/src/syscall/syscall_dragonfly.go
index b01a4ada67..5ff7f99d52 100644
--- a/src/syscall/syscall_dragonfly.go
+++ b/src/syscall/syscall_dragonfly.go
@@ -96,8 +96,11 @@ func Pipe(p []int) (err error) {
if len(p) != 2 {
return EINVAL
}
- p[0], p[1], err = pipe()
- return
+ r, w, err := pipe()
+ if err == nil {
+ p[0], p[1] = r, w
+ }
+ return err
}
//sysnb pipe2(p *[2]_C_int, flags int) (r int, w int, err error)
@@ -109,7 +112,10 @@ func Pipe2(p []int, flags int) (err error) {
var pp [2]_C_int
// pipe2 on dragonfly takes an fds array as an argument, but still
// returns the file descriptors.
- p[0], p[1], err = pipe2(&pp, flags)
+ r, w, err := pipe2(&pp, flags)
+ if err == nil {
+ p[0], p[1] = r, w
+ }
return err
}