diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-12-11 09:38:38 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-12-11 09:38:38 -0500 |
commit | bcc20d2b94e2c6649597d552b94718197be0674f (patch) | |
tree | f7805806f61b5aabfcd1186202f651fb9fbbc7f3 | |
parent | 490d4a0e9e96eabffa553b279b07725c39010c1a (diff) | |
download | musl-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.
-rw-r--r-- | src/unistd/pipe2.c | 2 |
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); |