]> git.proxmox.com Git - wasi-libc.git/blob - libc-top-half/musl/src/linux/clone.c
WASI libc prototype implementation.
[wasi-libc.git] / libc-top-half / musl / src / linux / clone.c
1 #define _GNU_SOURCE
2 #include <stdarg.h>
3 #include <unistd.h>
4 #include <sched.h>
5 #include "pthread_impl.h"
6 #include "syscall.h"
7
8 int clone(int (*func)(void *), void *stack, int flags, void *arg, ...)
9 {
10 va_list ap;
11 pid_t *ptid, *ctid;
12 void *tls;
13
14 va_start(ap, arg);
15 ptid = va_arg(ap, pid_t *);
16 tls = va_arg(ap, void *);
17 ctid = va_arg(ap, pid_t *);
18 va_end(ap);
19
20 return __syscall_ret(__clone(func, stack, flags, arg, ptid, tls, ctid));
21 }