| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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));
}
 |