summaryrefslogtreecommitdiff
path: root/src/unistd
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 /src/unistd
parent490d4a0e9e96eabffa553b279b07725c39010c1a (diff)
downloadmusl-bcc20d2b94e2c6649597d552b94718197be0674f.tar.gz
musl-bcc20d2b94e2c6649597d552b94718197be0674f.tar.bz2
musl-bcc20d2b94e2c6649597d552b94718197be0674f.tar.xz
musl-bcc20d2b94e2c6649597d552b94718197be0674f.zip
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.
Diffstat (limited to 'src/unistd')
-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);