summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-12-11 09:38:38 -0500
committerRich Felker <dalias@aerifal.cx>2012-12-11 09:38:38 -0500
commitbcc20d2b94e2c6649597d552b94718197be0674f (patch)
treef7805806f61b5aabfcd1186202f651fb9fbbc7f3
parent490d4a0e9e96eabffa553b279b07725c39010c1a (diff)
downloadmusl-bcc20d2b94e2c6649597d552b94718197be0674f.tar.gz
fix double errno-decoding in the old-kernel fallback path of pipe2
this bug seems to have caused any failure by pipe2 on such systems to set errno to 1, rather than the proper error code.
-rw-r--r--src/unistd/pipe2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/unistd/pipe2.c b/src/unistd/pipe2.c
index 04e0c128..973e8ec3 100644
--- a/src/unistd/pipe2.c
+++ b/src/unistd/pipe2.c
@@ -8,7 +8,7 @@ int pipe2(int fd[2], int flag)
if (!flag) return syscall(SYS_pipe, fd);
int ret = __syscall(SYS_pipe2, fd, flag);
if (ret != -ENOSYS) return __syscall_ret(ret);
- ret = syscall(SYS_pipe, fd);
+ ret = __syscall(SYS_pipe, fd);
if (ret) return __syscall_ret(ret);
if (flag & O_CLOEXEC) {
fcntl(fd[0], F_SETFD, FD_CLOEXEC);