diff options
Diffstat (limited to 'src/unistd')
-rw-r--r-- | src/unistd/dup3.c | 10 | ||||
-rw-r--r-- | src/unistd/pipe2.c | 8 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/unistd/dup3.c b/src/unistd/dup3.c new file mode 100644 index 00000000..18f6fcce --- /dev/null +++ b/src/unistd/dup3.c @@ -0,0 +1,10 @@ +#define _GNU_SOURCE +#include <unistd.h> +#include <errno.h> +#include "syscall.h" + +int dup3(int old, int new, int flags) { + int r; + while ((r=__syscall(SYS_dup3, old, new, flags))==-EBUSY); + return __syscall_ret(r); +} diff --git a/src/unistd/pipe2.c b/src/unistd/pipe2.c new file mode 100644 index 00000000..83282bb9 --- /dev/null +++ b/src/unistd/pipe2.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include <unistd.h> +#include "syscall.h" + +int pipe2(int fd[2], int flg) +{ + return syscall(SYS_pipe2, fd, flg); +} |