From bcc20d2b94e2c6649597d552b94718197be0674f Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 11 Dec 2012 09:38:38 -0500 Subject: [PATCH 1/1] 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. --- src/unistd/pipe2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.20.1