mirror of git://git.musl-libc.org/musl
in pipe2, use pipe() rather than __syscall(SYS_pipe, ...) for fallback
SYS_pipe is not usable directly in general, since mips has a very broken calling convention for the pipe syscall. instead, just call the function, so that the mips-specific ugliness is isolated in mips/pipe.s and not copied elsewhere.
This commit is contained in:
parent
9cb6e6ea12
commit
ae7399bfd8
|
@ -5,11 +5,11 @@
|
|||
|
||||
int pipe2(int fd[2], int flag)
|
||||
{
|
||||
if (!flag) return syscall(SYS_pipe, fd);
|
||||
if (!flag) return pipe(fd);
|
||||
int ret = __syscall(SYS_pipe2, fd, flag);
|
||||
if (ret != -ENOSYS) return __syscall_ret(ret);
|
||||
ret = __syscall(SYS_pipe, fd);
|
||||
if (ret) return __syscall_ret(ret);
|
||||
ret = pipe(fd);
|
||||
if (ret) return ret;
|
||||
if (flag & O_CLOEXEC) {
|
||||
__syscall(SYS_fcntl, fd[0], F_SETFD, FD_CLOEXEC);
|
||||
__syscall(SYS_fcntl, fd[1], F_SETFD, FD_CLOEXEC);
|
||||
|
|
Loading…
Reference in New Issue