提交 bcc20d2b 编写于 作者: R Rich Felker

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.
上级 490d4a0e
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册