mirror of
https://github.com/rwinkhart/sys.git
synced 2026-08-30 05:46:45 -04:00
unix: implement pipe() on linux/mips
Change the Pipe() function to use the pipe() syscall (which has a unique calling convention on linux/mips) instead of using pipe2(). This allows it to work on kernels <2.6.27 when pipe2() was introduced. Change-Id: I088886e66b594232869d8b88c6e1a630c76188a3 Reviewed-on: https://go-review.googlesource.com/126176 Reviewed-by: Vladimir Stefanovic <vladimir.stefanovic@mips.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
e072cadbbd
commit
c4d1ff19d3
@@ -124,14 +124,13 @@ func Pipe2(p []int, flags int) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
//sysnb pipe() (p1 int, p2 int, err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
return EINVAL
|
||||
}
|
||||
var pp [2]_C_int
|
||||
err = pipe2(&pp, 0)
|
||||
p[0] = int(pp[0])
|
||||
p[1] = int(pp[1])
|
||||
p[0], p[1], err = pipe()
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user