6 int pipe2(int fd
[2], int flag
)
8 if (!flag
) return pipe(fd
);
9 int ret
= __syscall(SYS_pipe2
, fd
, flag
);
10 if (ret
!= -ENOSYS
) return __syscall_ret(ret
);
13 if (flag
& O_CLOEXEC
) {
14 __syscall(SYS_fcntl
, fd
[0], F_SETFD
, FD_CLOEXEC
);
15 __syscall(SYS_fcntl
, fd
[1], F_SETFD
, FD_CLOEXEC
);
17 if (flag
& O_NONBLOCK
) {
18 __syscall(SYS_fcntl
, fd
[0], F_SETFL
, O_NONBLOCK
);
19 __syscall(SYS_fcntl
, fd
[1], F_SETFL
, O_NONBLOCK
);