add pipe2 syscall
authorRich Felker <dalias@aerifal.cx>
Mon, 23 Jul 2012 20:32:49 +0000 (16:32 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 23 Jul 2012 20:32:49 +0000 (16:32 -0400)
based on patch by orc and Isaac Dunham, with some details fixed.

include/unistd.h
src/linux/pipe2.c [new file with mode: 0644]

index 9c737f7c87889c24267bb5756814e658dea0d415..17fe5e7cb5c6ae4548a1850a2e04778ec938a81c 100644 (file)
@@ -174,6 +174,7 @@ int setresgid(gid_t, gid_t, gid_t);
 int getresuid(uid_t *, uid_t *, uid_t *);
 int getresgid(gid_t *, gid_t *, gid_t *);
 char *get_current_dir_name(void);
+int pipe2(int [2], int);
 #endif
 
 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
diff --git a/src/linux/pipe2.c b/src/linux/pipe2.c
new file mode 100644 (file)
index 0000000..83282bb
--- /dev/null
@@ -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);
+}