Index: fusl/src/linux/clone.c |
diff --git a/fusl/src/linux/clone.c b/fusl/src/linux/clone.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b9e5594530474c069a8559c009d2d5f5086b8908 |
--- /dev/null |
+++ b/fusl/src/linux/clone.c |
@@ -0,0 +1,19 @@ |
+#include <stdarg.h> |
+#include <unistd.h> |
+#include "pthread_impl.h" |
+#include "syscall.h" |
+ |
+int clone(int (*func)(void *), void *stack, int flags, void *arg, ...) |
+{ |
+ va_list ap; |
+ pid_t *ptid, *ctid; |
+ void *tls; |
+ |
+ va_start(ap, arg); |
+ ptid = va_arg(ap, pid_t *); |
+ tls = va_arg(ap, void *); |
+ ctid = va_arg(ap, pid_t *); |
+ va_end(ap); |
+ |
+ return __syscall_ret(__clone(func, stack, flags, arg, ptid, tls, ctid)); |
+} |